Public part of my dotfiles.
Find a file
Geoffrey Frogeye 495b9cb2e1
Remove pirate usage of Nix
Apparently Nix 2.24 doesn't like dirty git repos
("lock file contains unlocked input") and makes it known by failing,
which tipped me that I wasn't using Lix everywhere.
2024-12-03 22:45:13 +01:00
abavorana syncthing: Declarative 2024-06-23 23:57:03 +02:00
common syncthing: Declarative 2024-06-23 23:57:03 +02:00
cranberry Also doing C dev on cranberry 2024-10-09 19:00:28 +02:00
curacao NixOS 24.11 builds 2024-12-02 23:54:26 +01:00
hm NixOS 24.11: Some warnings removed 2024-12-03 19:50:55 +01:00
nod 24.05: Upped stateVersion according to release notes 2024-06-03 19:20:17 +02:00
os NixOS 24.11 builds 2024-12-02 23:54:26 +01:00
pindakaas pindakaas: Remove no longer needed kernel argument 2024-06-30 20:55:51 +02:00
sprinkles syncthing: Declarative 2024-06-23 23:57:03 +02:00
unprocessed unprocessed: Cleanup 2024-06-17 18:45:35 +02:00
.gitignore Fix OS scripts for flakes 2024-02-17 23:35:53 +01:00
build_os.sh Fix OS scripts for flakes 2024-02-17 23:35:53 +01:00
flake.lock NixOS 24.11: Some warnings removed 2024-12-03 19:50:55 +01:00
flake.nix Remove pirate usage of Nix 2024-12-03 22:45:13 +01:00
install_os.sh install: Fixed 2024-06-12 23:47:20 +02:00
options.nix Add CUDA support 2024-11-16 15:49:31 +01:00
README.md nod: Flake test 2024-01-16 22:39:29 +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.

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.