.files/README.md
2025-06-23 20:35:03 +02:00

87 lines
3.2 KiB
Markdown

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#<hostname>
# profit
```
# Hosts
- vanadium: Framework 13 (AMD 7040 Series)
- tungsten: MacBook Air 2014 (because it gets really hot)
# Linux
- Window Manager : XMonad, flipped master/slave[^1] 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](https://github.com/leana8959/fcitx5-table-extra)
- Font : Customized iosevka (thicker regular[^2] and fun stuff)
- Terminal : kitty + tmux + fish
# Editors and Shell
- `nvim` Mainly used for Haskell, Nix, Rust, Typst / Markdown. (in order of frequency of use)
- `tmux` with scripts that make it fast to use
- `fish` the friendly interactive shell
- `starship` for 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](https://git.confusedcompiler.org/leana8959/wallpapers).
# 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](https://github.com/leana8959/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](https://github.com/leana8959/curry.nvim).
# Notable shell scripts
- `tmux-sessionizer`: a bash 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. They are packaged together.
Have fun :)
[^1]: I dislike this nomenclature, if you know a better one let me know.
[^2]: I don't know how people live with the default weight, it's too thin.
<!--
vim:textwidth=80
-->