This repo is managed with Nix + GNU stow # Installation Guide (for myself & those who are interested) - Generate image & boot We do this because the default one doesn't have all the utilities we want (e.g. disko). - generate image `nix build .#nixosConfigurations.installer.config.system.build.isoImage` - `dd` the image to a flash drive (remember to `sync`) - boot off that flash drive - Format disk (DANGER) - modify the disko file to point to the disk to be formatted - Installation (iirc the disko auto install has some issues) ```bash # Are you sure the disko config has the right drive path? disko -- -m disko ./disko.nix # format the drive # optional for unknown hard ware nixos-generate-config --no-filesystems --root /mnt --dir . # disko will take care of the file system configuration # put the generated config in the right path and import it nixos-install --flake .dotfiles# # profit ``` # Hosts - vanadium: Framework 13 (AMD 7040 Series) - tungsten: MacBook Air 2014 (because it gets really hot) # Linux - Window Manager : XMonad - Status Bar : xmobar - Compositor : picom - Input Method : fcitx Cangjie (Kinda borked and is still a work in progress, but works good enough.) - Font : Customized iosevka (thicker regular and fun stuff) - Terminal : kitty + tmux + fish # Editors and Shell - `nvim`: Mainly used for Nix, Haskell, Shell, Go, Typst / Markdown. (in order of frequency of use) - `tmux` - `fish` - `starship` # Nix ## Packages This repository exports my custom packages under attribute `packages`. ## Binary Cache You should use my binary cache if you're building my fonts, they take a while. ``` https://leana8959.cachix.org leana8959.cachix.org-1:CxQSAp8lcgMv8Me459of0jdXRW2tcyeYRKTiiUq8z0M= ``` # Layout My [dvorak french](https://github.com/leana8959/dvorak-french) layout has been ported to linux using nix. # Misc utilities - `cmus`: My vim-like bindings and "fixes" for macOS, as well as a customized linux script that `notify-send`s the current playing song. # Theme I have made a theme (a fork of Atom's one-light) where all my tools are visually unified. It's neovim part can be found [here](https://github.com/leana8959/curry.nvim). # Notable shell scripts All of these are written in fish script. Maybe it's not a good idea, but it's too late and I want good integration with fish anyway. - `tmux-sessionizer`: a fish script inspired by [ThePrimeagen](https://github.com/ThePrimeagen/.dotfiles/blob/master/bin/.local/scripts/tmux-sessionizer), allows jumping between different tmux sessions using fzf - `tmux-last`: toggle the last tmux session - `c2r`: clone repository to `~/repo/owner/name`, where I can then attach to using sessionizer The sessionizer primitives starts with two underscores and are reused. Have fun :)