+1
-1
.github/workflows/nix.yml
+1
.ignore
···
+18
-12
Justfile
···
+10
-1
README.md
···- `hardware/<hostname>.nix`: Device-specific settings like settings generated by `nixos-generate-config`···+- [Backup and Restore LUKS header](https://wiki.archlinux.org/title/Dm-crypt/Device_encryption#Backup_and_restore)
+1
-1
apps/flash-installer.nix
+2
-1
configurations.nix
···
+565
-101
flake.lock
················································"url": "https://github.com/lucide-icons/lucide/releases/download/0.536.0/lucide-icons-0.536.0.zip"·································
+26
-14
flake.nix
············
-3
home-manager/fragments/agenix.nix
······
+147
home-manager/fragments/compose-key.nix
···
+8
-4
home-manager/fragments/default.nix
······
+9
-13
home-manager/fragments/epita.nix
···-{ assertion = config.programs.ssh.enable; message = "`epita` fragment depends on `ssh` program"; }
+97
-50
home-manager/fragments/firefox.nix
······
-10
home-manager/fragments/foot.nix
+56
-62
home-manager/fragments/git.nix
···-{ assertion = config.local.fragment.agenix.enable; message = "`git` fragment depends on `agenix` fragment"; }············
+11
-5
home-manager/fragments/helix.nix
······{ assertion = config.local.fragment.agenix.enable; message = "`helix` fragment depends on `agenix` fragment"; }·········
+4
-6
home-manager/fragments/jujutsu.nix
············
+55
home-manager/fragments/kanshi.nix
···
+1
-1
home-manager/fragments/kitty.nix
+65
home-manager/fragments/launcher.nix
···+"${tofi-drun} --output `${swaymsg} -t get_outputs| ${jq} -r '.[] | select(.focused).name'` | xargs ${swaymsg} exec --";
+1
home-manager/fragments/rust.nix
···
+20
-20
home-manager/fragments/shell.nix
·········+RUST_LOG="''${ANGRR_DIRENV_LOG:-angrr=error}" ${lib.getExe upkgs.angrr} touch "$layout_dir" --silent·········
+68
home-manager/fragments/stylix.nix
···
+312
home-manager/fragments/sway.nix
···+workspacesRange = lib.zipListsWith (key-idx: workspace-idx: { inherit key-idx workspace-idx; }) [ 1 2 3 4 5 6 7 8 9 0 ] (lib.range 1 10);+# Equivalent to `[shell="xwayland"] title_format "%title [XWayland]"` but for all other shells+"${modifier}+Shift+s" = "exec ${wl-paste} | ${lib.getExe pkgs.swappy} --file - --output-file - | ${wl-copy}";+"--locked XF86TouchpadToggle" = ''input "type:touchpad" events toggle enabled disabled_on_external_mouse'';+{ name = "${modifier}+${toString key-idx}"; value = "workspace number ${toString workspace-idx}"; }+{ name = "${modifier}+Alt+${toString key-idx}"; value = "move container to workspace number ${toString workspace-idx}"; }+{ name = "${modifier}+Shift+${toString key-idx}"; value = "move container to workspace number ${toString workspace-idx}; workspace number ${toString workspace-idx}"; }
+95
home-manager/fragments/swaybar.nix
···+statusCommand = "${lib.getExe pkgs.i3status-rust} ${config.home.homeDirectory}/${config.xdg.configFile."i3status-rust/config-default.toml".target}";
+15
-6
home-manager/fragments/tools.nix
············
-128
home-manager/fragments/vm-bar.nix
···-statusCommand = "${lib.getExe pkgs.i3status-rust} ${config.home.homeDirectory}/${config.xdg.configFile."i3status-rust/config-default.toml".target}";
-141
home-manager/fragments/vm-compose.nix
···
-66
home-manager/fragments/vm-search.nix
···-jetbrains-nerd-font-regular = "${pkgs.nerd-fonts.jetbrains-mono}/share/fonts/truetype/JetBrainsMonoNerdFont-Regular.ttf";
-383
home-manager/fragments/vm.nix
···-workspacesRange = lib.zipListsWith (key-idx: workspace-idx: { inherit key-idx workspace-idx; }) [ 1 2 3 4 5 6 7 8 9 0 ] (lib.range 1 10);-# Equivalent to `[shell="xwayland"] title_format "%title [XWayland]"` but for all other shells-"${modifier}+Shift+s" = "exec ${wl-paste} | ${lib.getExe pkgs.swappy} --file - --output-file - | ${wl-copy}";-"--locked XF86TouchpadToggle" = ''input "type:touchpad" events toggle enabled disabled_on_external_mouse'';-{ name = "${modifier}+${toString key-idx}"; value = "workspace number ${toString workspace-idx}"; }-{ name = "${modifier}+Alt+${toString key-idx}"; value = "move container to workspace number ${toString workspace-idx}"; }-{ name = "${modifier}+Shift+${toString key-idx}"; value = "move container to workspace number ${toString workspace-idx}; workspace number ${toString workspace-idx}"; }
+277
home-manager/fragments/waybar.nix
···+exec = ''${makoctl} mode | rg dnd >/dev/null; if [ $? == 0 ]; then echo '{"alt":"dnd"}'; else echo '{"alt":"normal"}'; fi'';+/* Round first and last child of left, right and center modules. Disable rounding on the sides*/
+3
-1
home-manager/fragments/xdg-mime.nix
···{ assertion = lib.lists.count (drv: (drv.pname or "") == pkgs.nautilus.pname) config.home.packages > 0; message = "`xdg-mime` fragment depends on `nautilus` program"; }
+30
home-manager/fragments/zed.nix
···
+25
-44
home-manager/profiles/desktop.nix
··················
+2
-8
home-manager/profiles/lightweight.nix
······
-8
home-manager/profiles/macintosh.nix
······
+163
hosts/weird-row-server/authelia.nix
···+age.secrets.authelia-jwt-secret = { file = secrets/authelia-jwt-secret.age; owner = config.services.authelia.instances.main.user; };+age.secrets.authelia-issuer-private-key = { file = secrets/authelia-issuer-private-key.age; owner = config.services.authelia.instances.main.user; };+age.secrets.authelia-storage-key = { file = secrets/authelia-storage-key.age; owner = config.services.authelia.instances.main.user; };+age.secrets.authelia-ldap-password = { file = secrets/authelia-ldap-password.age; owner = config.services.authelia.instances.main.user; };+age.secrets.authelia-smtp-password = { file = secrets/authelia-smtp-password.age; owner = config.services.authelia.instances.main.user; };+AUTHELIA_AUTHENTICATION_BACKEND_LDAP_PASSWORD_FILE = config.age.secrets.authelia-ldap-password.path;+users_filter = "(&(|({username_attribute}={input})({mail_attribute}={input}))(objectClass=person))";+claims_policies.headscale = { id_token = [ "email" "name" "preferred_username" "picture" "groups" ]; };+client_secret = "$pbkdf2-sha256$310000$XY680D9gkSoWhD0UtYHNFg$ptWB3exOYCga6uq1N.oimuV3ILjK3F8lBWBpsBpibos";+client_secret = "$pbkdf2-sha256$310000$PcUaup9aWKI9ZLeCF6.avw$FpsTxkDaxcoQlBi8aIacegXpjEDiCI6nXcaHyZ2Sxyc";+client_secret = "$pbkdf2-sha256$310000$UkwrqxTZodGMs9.Ca2cXAA$HCWFgQbFHGXZpuz.I3HHdkTZLUevRVGlhKEFaOlPmKs";+client_secret = "$pbkdf2-sha256$310000$uPqbWfCOBXDY6nV1vsx3uA$HOWG2hL.c/bs9Dwaee3b9DxjH7KFO.SaZMbasXV9Vdw";
+143
hosts/weird-row-server/default.nix
···+boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" "ext4" ];
+25
hosts/weird-row-server/goatcounter.nix
···
+85
hosts/weird-row-server/grafana.nix
···+age.secrets.grafana-oidc-secret = { file = secrets/grafana-oidc-secret.age; owner = "grafana"; };+static_configs = [{ targets = [ "localhost:${toString config.services.prometheus.exporters.node.port}" ]; }];
+84
hosts/weird-row-server/headscale.nix
···+age.secrets.headscale-oidc-secret = { file = secrets/headscale-oidc-secret.age; owner = config.services.headscale.user; };
+42
hosts/weird-row-server/hypixel-bank-tracker.nix
···+reverse_proxy http://localhost:${toString config.services.hypixel-bank-tracker.instances.main.port}+reverse_proxy http://localhost:${toString config.services.hypixel-bank-tracker.instances.banana.port}
+39
hosts/weird-row-server/lldap.nix
···
+52
hosts/weird-row-server/miniflux.nix
···+age.secrets.miniflux-oidc-secret = { file = secrets/miniflux-oidc-secret.age; owner = "miniflux"; };
+43
hosts/weird-row-server/pds.nix
···
hosts/weird-row-server/secrets/authelia-issuer-private-key.age
This is a binary file and will not be displayed.
hosts/weird-row-server/secrets/authelia-jwt-secret.age
This is a binary file and will not be displayed.
hosts/weird-row-server/secrets/authelia-ldap-password.age
This is a binary file and will not be displayed.
+9
hosts/weird-row-server/secrets/authelia-smtp-password.age
···
+11
hosts/weird-row-server/secrets/authelia-storage-key.age
···
hosts/weird-row-server/secrets/caddy-env.age
This is a binary file and will not be displayed.
+27
hosts/weird-row-server/secrets/default.nix
···+# Defines `PDS_JWT_SECRET`, `PDS_ADMIN_PASSWORD`, `PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX`, `PDS_EMAIL_SMTP_URL`, `PDS_EMAIL_FROM_ADDRESS`.
+9
hosts/weird-row-server/secrets/grafana-oidc-secret.age
···
hosts/weird-row-server/secrets/headscale-oidc-secret.age
This is a binary file and will not be displayed.
hosts/weird-row-server/secrets/hypixel-bank-tracker-banana.age
This is a binary file and will not be displayed.
+12
hosts/weird-row-server/secrets/hypixel-bank-tracker-main.age
···+�LJu���k��_��%��|�J]��KN��?]��tR�<�]�|���ߟ��¾FzU��������:�Y��TX����p,9v6q�7�~�y�]X���͇ǷR5՚>[������#�#�-
hosts/weird-row-server/secrets/lldap-env.age
This is a binary file and will not be displayed.
+11
hosts/weird-row-server/secrets/lldap-user-pass.age
···
+9
hosts/weird-row-server/secrets/miniflux-oidc-secret.age
···
hosts/weird-row-server/secrets/pds-env.age
This is a binary file and will not be displayed.
+9
hosts/weird-row-server/secrets/tuwunel-registration-tokens.age
···
hosts/weird-row-server/secrets/vaultwarden-env.age
This is a binary file and will not be displayed.
+54
hosts/weird-row-server/tangled.nix
···
+31
hosts/weird-row-server/thelounge.nix
···
+45
hosts/weird-row-server/tuwunel.nix
···+age.secrets.tuwunel-registration-tokens = { file = secrets/tuwunel-registration-tokens.age; owner = config.services.matrix-tuwunel.user; };
+38
hosts/weird-row-server/vaultwarden.nix
···+ADMIN_TOKEN = "$argon2id$v=19$m=65540,t=3,p=4$YIe9wmrTsmjgZNPxe8m34O/d3XW3Fl/uZPPLQs79dAc$mjDVQSdBJqz2uBJuxtAvCIoHPzOnTDhNPuhER3dhHrY";
+24
hosts/weird-row-server/warrior.nix
···
+77
hosts/weird-row-server/webfinger.nix
···
-37
lib/colorSchemes.nix
···
+1
-3
lib/default.nix
+12
-2
lib/flake/default.nix
······
+1
-1
lib/flake/managedDiskLayout.nix
···
+1
lib/flake/user.nix
-101
modules/home-manager/color-scheme.nix
···
+2
-4
modules/home-manager/default.nix
-99
modules/home-manager/wl-clip-persist.nix
···-description = "Only handle selection events where all offered MIME types have a match for the regex";-description = "Interrupt trying to send the old clipboard to other programs when the clipboard has been updated";-description = "Only handle selection events whose total data size does not exceed the size limit";
+2
-2
modules/home-manager/xcompose.nix
···Load the XCompose file by passing the `XCOMPOSEFILE` environment variable instead of linking to ~/.XCompose.That is nice to avoid cluttering the HOME directory, it's preferable to disable it when experimenting
-1
modules/nixos/default.nix
-324
modules/nixos/geoclue2.nix
···-package = pkgs.geoclue2.override { withDemoAgent = config.services.geoclue2.enableDemoAgent; };
+5
-7
modules/nixos/logiops.nix
·········
+3
-3
nixos/fragments/agenix.nix
······-{ assertion = config.services.openssh.enable; message = "`agenix` fragement depends on `openssh` program"; }+{ assertion = config.services.openssh.enable; message = "`agenix` fragment depends on `openssh` program"; }···
+63
-56
nixos/fragments/backup.nix
···-config.assertions = lib.optional cfg.enable { assertion = false; message = "module is broken"; };-${"\\" /* Archive mode and delete files that are not in the source directory. `--mkpath` is like `mkdir`'s `-p` option */}-${"\\" /* Exclude nixpkgs repository because they have some weird symlink test files that break rsync */}+${"\\" /* Archive mode and delete files that are not in the source directory. `--mkpath` is like `mkdir`'s `-p` option */}+${"\\" /* Exclude nixpkgs repository because they have some weird symlink test files that break rsync */}
+1
-1
nixos/fragments/default.nix
+1
-1
nixos/fragments/kanata/arsenik.kbd.lisp
+2
-4
nixos/fragments/logiops.nix
······
+9
-1
nixos/fragments/nix.nix
·········extra-trusted-public-keys = [ "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" ];
-33
nixos/fragments/sddm.nix
···
+41
nixos/fragments/secure-boot.nix
···
+9
-8
nixos/fragments/security.nix
·········
+9
-21
nixos/profiles/laptop.nix
·····················
-220
nixos/profiles/server.nix
···-boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" "ext4" ];-static_configs = [{ targets = [ "localhost:${toString config.services.prometheus.exporters.node.port}" ]; }];
+2
-2
overlays/patches.nix
···
+20
-11
pkgs/default.nix
···
+1
-1
pkgs/find-unicode.nix
···
-38
pkgs/otree.nix
···
-21
pkgs/where-is-my-sddm-theme.nix
···
-9
secrets/api-digital-ocean.age
···
-9
secrets/api-gitguardian.age
···
+9
secrets/api-wakapi.age
···
secrets/backup/rclone-googledrive.age
This is a binary file and will not be displayed.
-11
secrets/backup/restic-key.age
···-y���f�ж?�,79���̕ JL����_�^Q�BۖN�P�ṭ��K �Di�Op��&��⁺A���O�T-�%��u'TݼVZ��>ƭ+�{}��M�B�$�����$�k(PR�r�m���LQ����=�r/���rh�]t>e��F�S/���� �����"_s'������`����-3�4@ª�E�}���Q{&.�^��'�
secrets/backup-rclone-googledrive.age
This is a binary file and will not be displayed.
+11
secrets/backup-restic-key.age
···+y���f�ж?�,79���̕ JL����_�^Q�BۖN�P�ṭ��K �Di�Op��&��⁺A���O�T-�%��u'TݼVZ��>ƭ+�{}��M�B�$�����$�k(PR�r�m���LQ����=�r/���rh�]t>e��F�S/���� �����"_s'������`����-3�4@ª�E�}���Q{&.�^��'�
+18
-21
secrets/default.nix
···
+10
-10
secrets/keys.nix
···+archaic-wiro-laptop = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJDuBHC0f7N0q1KRczJMoaBVdY0JFOtcpPy6WlYsoxUh";+neo-wiro-laptop = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINR1/9o1HLnSRkXt3xxAM5So1YCCNdJpBN1leSu7giuR";+weird-row-server = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII5sThvKuIj8yfeZzUPYfxWxnjTTdNtSID2OL4czE8AL";-milomoisson = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJdt7atyPTOfaBIsgDYYb0DG1yid2u78abaCDji6Uxgi";+milo-ed25519 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJdt7atyPTOfaBIsgDYYb0DG1yid2u78abaCDji6Uxgi";
secrets/pds-env.age
This is a binary file and will not be displayed.
-24
secrets/secrets.nix
···
+9
-2
secrets.nix
···-# You can use agenix directly at repo top-level instead of having to change directory into `secrets/`-mapAttrs' (name: value: { name = ("secrets/" + name); inherit value; }) (import ./secrets/secrets.nix)