Common configuration across unix environments:
- Nix(OS) as a distro and package management tool (powered by flake)
- AwesomeWM as window manager
.
├── cachix
├── conf
├── home
├── hosts
│ └── some-host
│ └── another-host
├── modules
├── nixos
└── overlays
- Cachix: Cachix binary cache definitions.
- Conf: Non nix configuration (yet), eg. vim scripts, awesome configuration, etc ... At some point they will converge to nix.
- Home: Per user config.
- Hosts: Per host configuration, compose all global configuration used by a machine.
- Modules: Used as "abstract type definitions", like
user
or other abstractions. - Nixos: Global (across users) related settings, like perifericals, internet, bluetooth, and so on.
- Overlays: Custom extensions or overrides of definided packages or other overlays.
On a working nixos and flakes setup:
git clone https://github.com/lucaslollobrigida/dotfiles.git /etc/nixos
sudo nixos-rebuild switch --flake "/etc/nixos#<some-host>"
# to update flake lock
sudo nixos-rebuild switch --flake "/etc/nixos#<some-host>" --recreate-lock-file
- Update tmux theme (maybe this?).
- Fix user modules not acessible on home config.
- Fix alternate files in Scala. Source -> test is working, but not the other way around