.files/README.md

2.8 KiB

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)

    # 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
  • 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 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-sends 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.

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, 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 :)