Skip to content

raymon-roos/nix-config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NixOS/Home-Manager flake

I previously managed my dotfiles through yadm. When I heard about Nix(Os) - and while I was assigned a MacBook Air for work - I made the switch. The module system and the language make it possible to handle discrepancies between machines in a way that a plain git repo of dotfiles doesn't. And Nix really succeeds in managing everything on the system, not just user space.

The xyz-as-code approach in general resonates a lot with me. I like how NixOS makes experimentation fearless, because I can (almost) always revert to a working state. Back when I used Arch, doing a slightly complex setup of some kind could be a little scary, because giving up halfway through the process left a mess I had to undo manually. On top of that, the NixOS modules feel like cheating. So many advanced features that are just a enable = true; away.

This flake features configuration for my personal desktop and laptop (Thinkpad T560). Previously it also had a Mac system managed by nix-darwin. You can look through the commit history to find it if you're interested.

I strongly favor a keyboard-driven workflow, and terminal (CLI and TUI) applications. Colemak_dh is my keyboard layout of choice, and on top of that I strongly rely on multiple layers and home-row mods. On my desktop I get all these features from a QMK custom keyboard. On my laptop I use keyd to achieve the same customizability of the integrated keyboard through software. On MacOS I've used kmonad and kanata for this end (check commit history for details).

Some features

  • Wayland desktop with the Hyprland compositor, until I find something else that has both the tiling and workspace mechanics I want. There are modules for mango and river that I'm experimenting with.
  • Kitty terminal.
  • Nushell which is a joy to use.
  • Git configuration with three-way neovim mergetool, delta and difftastic for prettier or more semantic diff highlighting, gitui TUI git client, and many aliases.
  • Offline synchronized, Oauth compatible, terminal-based, keyboard driven email setup. Through mbsync and earc, among other tools.
  • Plain-text accounting with hledger.
  • Neovim.
  • Advanced keyboard customization on all platforms.
  • Btrfs for transparent compression, and encryption-at-rest, through disko.
  • fd, ripgrep, sd, bat, fzf modern high-power CLI tools.
  • cmus and lyrical-rs for music in the terminal.
  • Screenlocker, cpu clockspeed, and idle management for laptop.
  • Librewolf to mitigate web tracking to some extent, with vim emulation.
  • Consistent theming through stylix.
  • XDG base directory paths for all the programs that can be coaxed to use them.

About

NixOS/Home-Manger config

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published