Go to TTY1. Login as a normal user.
git clone --no-checkout https://github.com/CMCDragonkai/.dotfiles-nixos /tmp/.dotfiles-nixos
mv /tmp/.dotfiles-nixos/.git "$HOME"
rmdir /tmp/.dotfiles-nixos
git checkout master
git submodule update --init --recursive
Exit and relogin to TTY1.
Install the base packages:
nix-env -iA env.base
Now you can go to TTY7 and continue the installation.
If you have problems, go back to TTY1 and fix them.
You can always kill XMonad with Mod + Shift + Q.
Remember to migrate your ~/.ssh/keys
,~/.gnupg
and ~/.aws
keys.
Git only persists 755 or 644 for files and directories are always 755. This means without any further processing after installation all files will appear either as executables or non-executables with read permission for the group and others, while directories are always readable and executable for the group and others. Sensitive folders should be explicitly modified to have their read and execute permissions for non-owners removed.
The umask
setting is 027
by default, but when running with sudo
, it changes to 022
. This is so that root created files will be readable by other
.
chmod --recursive u=rw,u=rwX,g=,o= ~/.ssh
chmod --recursive u=rw,u=rwX,g=,o= ~/.gnupg
chmod --recursive u=rw,u=rwX,g=,o= ~/.aws
Packages should be first cloned to modules directory as submodule and then symlinked from ./profile/.vim/bundles
.
Pathogen is also installed as a submodule and symlinked from ./profile/.vim/autoload/pathogen.vim
.
Default desktop associations: ~/.config/mimeapps.list
.
- Home Desktop Files:
~/.local/share/applications
- Nix User Desktop Files:
~/.nix-profile/share/applications
- NixOS Desktop Files:
/run/current-system/sw/share/applications
# shows fonts available
fc-list
# after installing or uninstalling fonts use this to refresh the cache
fc-cache --really-force --verbose
# also run it for root
sudo fc-cache --really-force --verbose
This shows some common important keyboard controls that is configured.
This notation is used in some configuration files such as .inputrc
:
\C
- Ctrl\S
- Shift\M
- Mod/Meta/Super which is Win on Windows, or Cmd on Mac. We want to avoid having to use Alt.\A
- Alt on Windows Keyboards, or Option on Mac.-
- Means hold previous, and hit the next, operator is left associative.\C-\S-f
means((\C-\S)-f)
e c t
means((e c) t)
.<enter>
- The Enter Key<home>
- The Home key.
We prefer ASCII DEL ^?
to be used for backwards delete instead of ASCII BS ^H
. Instead ^H
can be mapped to other functions. Forwards delete still uses \e[3~
. Preferably if the design of keyboards and terminals were standardised, we could have ASCII DEL for forwards delete, and ASCII BS for backwards delete, but alas it is not so.
- Shift + Tab - Enter literal tab
- Ctrl + Z - Toggle backgrounding and foregrounding
- Shift + Enter - Non-executing enter to allow multiline commands
- Ctrl + C - Send SIGINT
- Ctrl + </kbd> - Send SIGQUIT
- Ctrl + U - Send SIGTERM
:ls - Show all buffers
:buffers - Show all buffers
:b# - Switch to buffer #
:b ... - Switch to buffer ...
:bnext - Next buffer
:bprev - Previous buffer
:e ... - Open file and edit as buffer
:split - Split horizontally
:vsplit - Split Vertically
Ctrl-W + H/J/K/l - Move to a window by direction
Ctrl-W C - Close current window
:tabe - Open up a new tab workspace
:tabn - Next tab
:tabp - Previous tab
- " + + + y - Copy to system clipboard
- " + + + p - Paste from system clipboard
- Ctrl + Alt + F* - Switch between TTYs and also X.
- Mod + N - Switch to workspace N
- Mod + Shift + N - Shift focused window to workspace N
- Mod + Ctrl + N - Switch focus to screen N
- Mod + Alt + N - Shift focused window to workspace at screen N
Change the layout here: https://configure.ergodox-ez.com/keyboard_layouts/qnxevg/edit
sudo teensy-loader-cli --mcu=atmega32u4 -w -v ./ergodox_ez_firmware_dragonflare_qnxevg.hex
Configure Nix packages in ~/.config/nixpkgs/config.nix
.
nix-env -iA env.android
nix-env -iA env.base
nix-env -iA env.crypto
nix-env -iA env.data
nix-env -iA env.development
nix-env -iA env.documents
nix-env -iA env.fonts
nix-env -iA env.gaming
nix-env -iA env.gis
nix-env -iA env.graphics
nix-env -iA env.graphs
nix-env -iA env.proprietary
nix-env -iA env.sql
Every time you update the Nix channel/Nix package set, make sure to rerun nix-index
to rebuild the search index for nix-locate
.
Manage xrandr profiles using autorandr
. You can always setup your windows and then use autorandr --save default
.