| .config/nvim | ||
| nix | ||
| npins | ||
| scripts | ||
| .envrc | ||
| .git-blame-ignore-revs | ||
| .gitattributes | ||
| .gitignore | ||
| .gitmodules | ||
| .stow-local-ignore | ||
| .stylua.toml | ||
| default.nix | ||
| Justfile | ||
| LICENSE | ||
| README.md | ||
| shell.nix | ||
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
nom-build --attr nixosConfigurations.installer.config.system.build.isoImage ddthe image to a flash drive (remember tosync)- boot off that flash drive
- generate image
-
Format disk (DANGER)
- modify the disko file to point to the disk to be formatted
-
Installation (iirc the disko auto install has some issues)
# 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#<hostname> # profit
Hosts
- vanadium: Framework 13 (AMD 7040 Series)
- tungsten: MacBook Air 2014 (because it gets really hot)
Linux
- Window Manager : XMonad, flipped master/slave1 layout, 8 workspaces
- Status Bar : xmobar, minimal configuration with a clock
- Compositor : picom, for rendering transparency
- Input Method : fcitx, "Cangjie" input method with a customized table
- Font : Customized iosevka (thicker regular2 and fun stuff)
- Terminal : kitty + tmux + fish
Editors and Shell
nvimMainly used for Haskell, Nix, Rust, Typst / Markdown. (in order of frequency of use)tmuxwith scripts that make it fast to usefishthe friendly interactive shellstarshipfor the prompt
Wallpapers
For the sake of not having a huge repo, the images are built and managed by nix using typst. The source can be found here.
Nix
Packages
This repository exports my custom packages under attribute packages.
Because it's a monorepo and I have 0 reason to make things stable, pin it if you use any packages.
Binary Cache
You should use my binary cache if you're building my fonts, they take a while (20 minutes on my M1 Max MacBook Pro).
https://leana8959.cachix.org
leana8959.cachix.org-1:CxQSAp8lcgMv8Me459of0jdXRW2tcyeYRKTiiUq8z0M=
Layout
My dvorak french layout has been ported to linux using nix.
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.
Notable shell scripts
tmux-sessionizer: a bash script inspired by ThePrimeagen, allows jumping between different tmux sessions using fzftmux-last: toggle the last tmux sessionc2r: clone repository to~/repo/owner/name, where I can then attach to using sessionizer The sessionizer primitives starts with two underscores and are reused. They are packaged together.
Have fun :)