Public part of my dotfiles.
Find a file
2024-01-05 19:04:52 +01:00
curacao Merge remote-tracking branch 'origin/main' 2023-12-18 14:40:41 +01:00
curacao_test Reorganize configuration root 2023-11-28 20:53:18 +01:00
curacao_usb Use actual encryption passwords 2023-12-09 00:09:36 +01:00
dk Use actual encryption passwords 2023-12-09 00:09:36 +01:00
full Process nvim FIXMEs 2023-12-08 19:02:29 +01:00
hm Add sha256 to go closer to purity 2024-01-05 19:04:44 +01:00
nod nod: Fourth attempt 2023-12-25 12:11:23 +01:00
os Add sha256 to go closer to purity 2024-01-05 19:04:44 +01:00
pindakaas pindakaas: Fix zram swap size 2023-12-22 20:49:09 +01:00
pindakaas_sd Use actual encryption passwords 2023-12-09 00:09:36 +01:00
sprinkles nod: First attempt 2023-12-25 11:04:01 +01:00
unprocessed Remove already processed things 2024-01-04 22:14:31 +01:00
.gitignore Meta-installer 2023-12-09 23:58:19 +01:00
add_channels.sh Upgrade to NixOS 23.11 2023-11-30 19:02:32 +01:00
build_hm.sh Add curacao backup stuff 2023-12-16 22:22:14 +01:00
build_os.sh Add documentation 🤯 2023-12-02 18:50:31 +01:00
ensure_nix.sh usernix: Fixes following testing 2024-01-04 19:45:07 +01:00
install_os.sh Misc notes 2023-12-16 23:43:01 +01:00
options.nix usernix: Added 2023-12-22 23:29:14 +01:00
README.md Add documentation 🤯 2023-12-02 18:50:31 +01:00

Geoffrey Frogeye's dotfiles

This repo holds most of my systems configuration. It is built on top of the Nix ecosystem

Directory structure

  • os, hm, nod: Re-usable configuration for NixOS, home-manager, Nix-on-Droid respectively
    • <module-name>: Module. Used to separate configuration in separate logical units.
      • default.nix: Entrypoint for that module. Contains Nix configuration for the module.
      • <other file>: Extra files: scripts to be installed, or ... whatever.
    • default.nix: Entrypoint for that system. Import all the modules.
    • <other file>: Files non-conforming to the structure above because I'm hurrying to have everything working before cleaning.
  • dk: Re-usable configuration for disko
    • <name>.nix: Partitionning scheme configuration. Don't assume a specific context, it will be imported as Disko and NixOS config.
  • options.nix: Definition of options exposed to all systems (even though if not relevant for all, it's for simplicity sake).
  • <profile-name> (e.g. curacao): Configurations for my different devices
    • options.nix: Common options configuration. Don't assume a specific context (for reasons unclear, I'm sure I can do something with that).
    • hardware.nix: NixOS configuration for that specific device.
    • dk.nix: Partitionning configuration. Import a top-level dk scheme, adding disks ids and other configuration required.
    • os.nix, hm.nix, nod.nix: Entrypoint for the device/system configuration. Imports the above files (last two only for NixOS) and contains configuration specific to this combination.
  • <profile-name>_<media> (e.g. pindakaas_sd): Alternate configuration for a device. Used to test a configuration without altering the "main" one.
    • options.nix: Same as above. Can be a symlink.
    • hardware.nix: Same as above. Should be a symlink.
    • dk.nix: Same as above. Should not be a symlink.
    • os.nix, hm.nix, nod.nix: Same as above. Should not be a symlink.

Scripts

They all have a -h flag. Except add_channels.sh, which should be removed as soon as I migrate to Flakes.

Extensions

There's some things I'm not putting in this public repo: work-related things, and other sensitive things that probably shouldn't be public. Those are stored in extensions, i.e. repos with a similar structure to this one, and ultimately importing things from it. This is why you might see options not being seemingly used.