Public part of my dotfiles.
Go to file
Geoffrey Frogeye abd9447172 Use PATH-using names for common variables
Otherwise it uses the unwrapped package, which doesn't have the plugins
and stuff. Also if upgrade, environment variables don't get updated, so
it would use old stuff.
2023-12-17 22:53:54 +01:00
curacao Fix backlight 2023-12-16 22:39:11 +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 Use PATH-using names for common variables 2023-12-17 22:53:54 +01:00
os Use specialisation to switch themes on NixOS 2023-12-17 12:37:41 +01:00
pindakaas Fix backlight 2023-12-16 22:39:11 +01:00
pindakaas_sd Use actual encryption passwords 2023-12-09 00:09:36 +01:00
unprocessed Fix backlight 2023-12-16 22:39:11 +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
install_os.sh Misc notes 2023-12-16 23:43:01 +01:00
options.nix Use specialisation to switch themes on NixOS 2023-12-17 12:37:41 +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.