From 069735729d58fb44ba4f924f73b9482103359f51 Mon Sep 17 00:00:00 2001 From: Greg Burd Date: Tue, 26 Sep 2023 13:44:54 -0400 Subject: [PATCH] will apply, but is it right? --- .sops.yaml | 18 +- README.md | 2 +- .../_mixins}/common/alacritty.nix | 0 .../home-manager/_mixins}/common/default.nix | 0 .../home-manager/_mixins}/common/deluge.nix | 0 .../home-manager/_mixins}/common/discord.nix | 0 .../home-manager/_mixins}/common/dragon.nix | 0 .../home-manager/_mixins}/common/firefox.nix | 0 .../home-manager/_mixins}/common/font.nix | 0 .../_mixins}/common/gnome-wm/default.nix | 0 .../home-manager/_mixins}/common/gtk.nix | 0 .../_mixins}/common/kdeconnect.nix | 0 .../_mixins}/common/pavucontrol.nix | 0 .../_mixins}/common/playerctl.nix | 0 .../_mixins}/common/protonmail-bridge.nix | 0 .../home-manager/_mixins}/common/qt.nix | 0 .../home-manager/_mixins}/common/slack.nix | 0 .../_mixins}/common/sublime-music.nix | 0 .../_mixins}/common/wayland-wm/default.nix | 0 .../_mixins}/common/wayland-wm/gammastep.nix | 0 .../common/wayland-wm/hyprland-vnc.nix | 0 .../_mixins}/common/wayland-wm/kitty.nix | 0 .../_mixins}/common/wayland-wm/mako.nix | 0 .../common/wayland-wm/qutebrowser.nix | 0 .../_mixins}/common/wayland-wm/swayidle.nix | 0 .../_mixins}/common/wayland-wm/swaylock.nix | 0 .../_mixins}/common/wayland-wm/waybar.nix | 0 .../_mixins}/common/wayland-wm/wezterm.nix | 0 .../common/wayland-wm/wofi-run-shell.patch | 0 .../_mixins}/common/wayland-wm/wofi.nix | 0 .../_mixins}/common/wayland-wm/zathura.nix | 0 .../home-manager}/_mixins/default.nix | 1 - .../home-manager/_mixins}/gnome/default.nix | 0 .../home-manager/_mixins}/gnome/tty-init.nix | 0 .../_mixins/users}/gburd/generic.nix | 0 .../_mixins/users}/wireless/default.nix | 0 .../home-manager/_mixins}/wpa-gui.nix | 0 .../modules}/home-manager/default.nix | 0 {modules => _/modules}/home-manager/fonts.nix | 0 .../modules}/home-manager/monitors.nix | 0 .../home-manager/pass-secret-service.nix | 0 .../modules}/home-manager/rgbdaemon.nix | 0 .../modules}/home-manager/shellcolor.nix | 0 .../modules}/home-manager/wallpaper.nix | 0 {modules => _/modules}/home-manager/xpo.nix | 0 {modules => _/modules}/nixos/default.nix | 0 {modules => _/modules}/nixos/openrgb.nix | 0 {modules => _/modules}/nixos/satisfactory.nix | 0 {nixos => _/nixos}/_mixins/global/acme.nix | 0 .../nixos}/_mixins/global/auto-upgrade.nix | 0 {nixos => _/nixos}/_mixins/global/default.nix | 0 {nixos => _/nixos}/_mixins/global/fish.nix | 0 {nixos => _/nixos}/_mixins/global/locale.nix | 0 {nixos => _/nixos}/_mixins/global/nix.nix | 0 {nixos => _/nixos}/_mixins/global/openssh.nix | 0 {nixos => _/nixos}/_mixins/global/podman.nix | 0 .../nixos}/_mixins/global/ssh-serve-store.nix | 0 .../nixos}/_mixins/global/steam-hardware.nix | 0 .../nixos}/_mixins/global/systemd-initrd.nix | 0 .../nixos}/_mixins/global/tailscale.nix | 0 .../nixos}/_mixins/optional/ckb-next.nix | 0 .../nixos}/_mixins/optional/docker.nix | 0 .../_mixins/optional/ephemeral-btrfs.nix | 0 .../nixos}/_mixins/optional/fail2ban.nix | 0 .../nixos}/_mixins/optional/gamemode.nix | 0 {nixos => _/nixos}/_mixins/optional/gnome.nix | 0 .../nixos}/_mixins/optional/lol-acfix.nix | 0 {nixos => _/nixos}/_mixins/optional/mysql.nix | 0 {nixos => _/nixos}/_mixins/optional/nginx.nix | 0 .../nixos}/_mixins/optional/pantheon.nix | 0 .../nixos}/_mixins/optional/postgres.nix | 0 .../_mixins/optional/starcitizen-fixes.nix | 0 .../nixos}/_mixins/optional/systemd-boot.nix | 0 .../_mixins/optional/tailscale-exit-node.nix | 0 .../nixos}/_mixins/optional/wireless.nix | 0 .../nixos}/_mixins/optional/wireshark.nix | 0 .../_mixins/optional/x11-no-suspend.nix | 0 {nixos => _/nixos}/iso-console/default.nix | 0 {nixos => _/nixos}/iso-desktop/default.nix | 0 _/overlays/default.nix | 76 +++++ .../offline-mode-prism-launcher.diff | 0 .../overlays}/pass-otp-fix-completion.patch | 0 .../overlays}/pass-secret-service-native.diff | 0 {overlays => _/overlays}/pfetch.patch | 0 .../overlays}/qutebrowser-tree-tabs.diff | 0 .../vim-numbertoggle-command-mode.patch | 0 .../overlays}/xdg-open-spawn-terminal.diff | 0 flake.lock | 34 +- flake.nix | 36 +- .../_mixins/cli/bash.nix | 0 .../_mixins/cli/bat.nix | 0 .../_mixins/cli/default.nix | 2 - .../_mixins/cli/direnv.nix | 0 .../_mixins/cli/fish.nix | 0 .../gburd => home-manager}/_mixins/cli/gh.nix | 0 .../_mixins/cli/git.nix | 0 .../_mixins/cli/gpg-commands.nix | 0 .../_mixins/cli/gpg.nix | 0 .../_mixins/cli/jujutsu.nix | 0 .../_mixins/cli/nix-index.nix | 0 .../_mixins/cli/pfetch.nix | 0 .../_mixins/cli/ranger.nix | 0 .../_mixins/cli/screen.nix | 0 .../_mixins/cli/shellcolor.nix | 0 .../_mixins/cli/ssh.nix | 0 .../_mixins/cli/xpo.nix | 0 .../_mixins/console/default.nix | 0 .../_mixins/console/neofetch.conf | 0 .../_mixins/desktop/audio-recorder.nix | 0 .../_mixins/desktop/celluloid.nix | 0 .../_mixins/desktop/dconf-editor.nix | 0 .../_mixins/desktop/deckmaster-xl.nix | 0 .../_mixins/desktop/default.nix | 0 .../_mixins/desktop/emote.nix | 0 .../_mixins/desktop/gitkraken.nix | 0 .../_mixins/desktop/gnome-sound-recorder.nix | 0 .../_mixins/desktop/localsend.nix | 0 .../_mixins/desktop/mate.nix | 0 .../_mixins/desktop/meld.nix | 0 .../_mixins/desktop/pantheon.nix | 0 .../_mixins/desktop/rhythmbox.nix | 0 .../_mixins/desktop/sakura.conf | 0 .../_mixins/desktop/sakura.nix | 0 .../_mixins/desktop/tilix.nix | 0 .../_mixins/desktop/vorta.nix | 0 .../_mixins/emacs/burd.org | 0 .../_mixins/emacs/default.nix | 0 .../_mixins/emacs/init.el | 0 .../_mixins/emacs/theme.nix | 0 .../_mixins/games/default.nix | 0 .../_mixins/games/steam.nix | 0 .../_mixins/helix/default.nix | 0 .../_mixins/helix/theme.nix | 0 .../_mixins/music/default.nix | 0 .../_mixins/nvim/default.nix | 0 .../_mixins/nvim/lsp.nix | 0 .../_mixins/nvim/syntaxes.nix | 0 .../_mixins/nvim/theme.nix | 0 .../_mixins/nvim/ui.nix | 0 .../_mixins/pass/default.nix | 0 .../_mixins/productivity/default.nix | 0 .../_mixins/productivity/khal.nix | 0 .../_mixins/productivity/khard.nix | 0 .../_mixins/productivity/mail.nix | 0 .../_mixins/productivity/neomutt.nix | 0 .../_mixins/productivity/todoman.nix | 0 .../_mixins/productivity/vdirsyncer.nix | 0 .../_mixins/rgb/default.nix | 0 .../_mixins/services/keybase-gui.nix | 0 .../_mixins/services/keybase.nix | 0 .../_mixins/services/syncthing-tray.nix | 0 .../_mixins/services/syncthing.nix | 0 .../_mixins/users}/gburd/.gitconfig | 0 .../_mixins/users/gburd/default.nix | 39 ++- .../_mixins/users}/gburd/desktop.nix | 0 .../_mixins/users}/gburd/face.png | Bin .../_mixins/users/gburd/hosts/floki.nix | 8 + .../_mixins/users}/gburd/pgp.asc | 0 .../_mixins/users}/gburd/ssh.pub | 0 .../_mixins/users}/gburd/symas-ssh.pub | 0 home-manager/default.nix | 78 +++++ {home => home-manager}/nixos/default.nix | 0 {home => home-manager}/nixos/face.png | Bin home/gburd/_mixins/cli/starship.nix | 125 ------- lib/helpers.nix | 4 +- .../{optional => filesystems}/btrfs.nix | 0 .../encrypted-root.nix | 0 .../{global => }/optin-persistence.nix | 0 nixos/_mixins/services/firewall.nix | 11 +- nixos/_mixins/services/kmscon.nix | 2 +- nixos/_mixins/services/openssh.nix | 44 ++- nixos/_mixins/{global => }/sops.nix | 0 nixos/_mixins/users/gburd/default.nix | 10 +- nixos/_mixins/users/root/default.nix | 2 +- nixos/default.nix | 309 ++++++++++++++++++ nixos/floki/default.nix | 13 +- overlays/default.nix | 88 +---- shell.nix | 1 + templates/c/.editorconfig | 15 - templates/c/.gitignore | 4 - templates/c/Makefile | 42 --- templates/c/default.nix | 9 - templates/c/flake.nix | 30 -- templates/c/shell.nix | 10 - templates/c/src/main.cpp | 7 - templates/default.nix | 6 - templates/haskell/.gitignore | 6 - templates/haskell/app/Main.hs | 6 - templates/haskell/default.nix | 3 - templates/haskell/flake.nix | 30 -- templates/haskell/foo-bar.cabal | 19 -- templates/haskell/shell.nix | 11 - templates/haskell/src/FooBar.hs | 4 - templates/node/.gitignore | 3 - templates/node/default.nix | 10 - templates/node/flake.nix | 30 -- templates/node/package-lock.json | 52 --- templates/node/package.json | 19 -- templates/node/shell.nix | 16 - templates/node/src/index.ts | 1 - templates/node/tsconfig.json | 16 - templates/rust/.gitignore | 2 - templates/rust/Cargo.lock | 7 - templates/rust/Cargo.toml | 5 - templates/rust/default.nix | 9 - templates/rust/flake.nix | 30 -- templates/rust/shell.nix | 13 - templates/rust/src/main.rs | 3 - 208 files changed, 607 insertions(+), 714 deletions(-) rename {home/gburd/_mixins/desktop => _/home-manager/_mixins}/common/alacritty.nix (100%) rename {home/gburd/_mixins/desktop => _/home-manager/_mixins}/common/default.nix (100%) rename {home/gburd/_mixins/desktop => _/home-manager/_mixins}/common/deluge.nix (100%) rename {home/gburd/_mixins/desktop => _/home-manager/_mixins}/common/discord.nix (100%) rename {home/gburd/_mixins/desktop => _/home-manager/_mixins}/common/dragon.nix (100%) rename {home/gburd/_mixins/desktop => _/home-manager/_mixins}/common/firefox.nix (100%) rename {home/gburd/_mixins/desktop => _/home-manager/_mixins}/common/font.nix (100%) rename {home/gburd/_mixins/desktop => _/home-manager/_mixins}/common/gnome-wm/default.nix (100%) rename {home/gburd/_mixins/desktop => _/home-manager/_mixins}/common/gtk.nix (100%) rename {home/gburd/_mixins/desktop => _/home-manager/_mixins}/common/kdeconnect.nix (100%) rename {home/gburd/_mixins/desktop => _/home-manager/_mixins}/common/pavucontrol.nix (100%) rename {home/gburd/_mixins/desktop => _/home-manager/_mixins}/common/playerctl.nix (100%) rename {home/gburd/_mixins/desktop => _/home-manager/_mixins}/common/protonmail-bridge.nix (100%) rename {home/gburd/_mixins/desktop => _/home-manager/_mixins}/common/qt.nix (100%) rename {home/gburd/_mixins/desktop => _/home-manager/_mixins}/common/slack.nix (100%) rename {home/gburd/_mixins/desktop => _/home-manager/_mixins}/common/sublime-music.nix (100%) rename {home/gburd/_mixins/desktop => _/home-manager/_mixins}/common/wayland-wm/default.nix (100%) rename {home/gburd/_mixins/desktop => _/home-manager/_mixins}/common/wayland-wm/gammastep.nix (100%) rename {home/gburd/_mixins/desktop => _/home-manager/_mixins}/common/wayland-wm/hyprland-vnc.nix (100%) rename {home/gburd/_mixins/desktop => _/home-manager/_mixins}/common/wayland-wm/kitty.nix (100%) rename {home/gburd/_mixins/desktop => _/home-manager/_mixins}/common/wayland-wm/mako.nix (100%) rename {home/gburd/_mixins/desktop => _/home-manager/_mixins}/common/wayland-wm/qutebrowser.nix (100%) rename {home/gburd/_mixins/desktop => _/home-manager/_mixins}/common/wayland-wm/swayidle.nix (100%) rename {home/gburd/_mixins/desktop => _/home-manager/_mixins}/common/wayland-wm/swaylock.nix (100%) rename {home/gburd/_mixins/desktop => _/home-manager/_mixins}/common/wayland-wm/waybar.nix (100%) rename {home/gburd/_mixins/desktop => _/home-manager/_mixins}/common/wayland-wm/wezterm.nix (100%) rename {home/gburd/_mixins/desktop => _/home-manager/_mixins}/common/wayland-wm/wofi-run-shell.patch (100%) rename {home/gburd/_mixins/desktop => _/home-manager/_mixins}/common/wayland-wm/wofi.nix (100%) rename {home/gburd/_mixins/desktop => _/home-manager/_mixins}/common/wayland-wm/zathura.nix (100%) rename {home/gburd => _/home-manager}/_mixins/default.nix (96%) rename {home/gburd/_mixins/desktop => _/home-manager/_mixins}/gnome/default.nix (100%) rename {home/gburd/_mixins/desktop => _/home-manager/_mixins}/gnome/tty-init.nix (100%) rename {home => _/home-manager/_mixins/users}/gburd/generic.nix (100%) rename {home/gburd/_mixins/desktop => _/home-manager/_mixins/users}/wireless/default.nix (100%) rename {home/gburd/_mixins/desktop/wireless => _/home-manager/_mixins}/wpa-gui.nix (100%) rename {modules => _/modules}/home-manager/default.nix (100%) rename {modules => _/modules}/home-manager/fonts.nix (100%) rename {modules => _/modules}/home-manager/monitors.nix (100%) rename {modules => _/modules}/home-manager/pass-secret-service.nix (100%) rename {modules => _/modules}/home-manager/rgbdaemon.nix (100%) rename {modules => _/modules}/home-manager/shellcolor.nix (100%) rename {modules => _/modules}/home-manager/wallpaper.nix (100%) rename {modules => _/modules}/home-manager/xpo.nix (100%) rename {modules => _/modules}/nixos/default.nix (100%) rename {modules => _/modules}/nixos/openrgb.nix (100%) rename {modules => _/modules}/nixos/satisfactory.nix (100%) rename {nixos => _/nixos}/_mixins/global/acme.nix (100%) rename {nixos => _/nixos}/_mixins/global/auto-upgrade.nix (100%) rename {nixos => _/nixos}/_mixins/global/default.nix (100%) rename {nixos => _/nixos}/_mixins/global/fish.nix (100%) rename {nixos => _/nixos}/_mixins/global/locale.nix (100%) rename {nixos => _/nixos}/_mixins/global/nix.nix (100%) rename {nixos => _/nixos}/_mixins/global/openssh.nix (100%) rename {nixos => _/nixos}/_mixins/global/podman.nix (100%) rename {nixos => _/nixos}/_mixins/global/ssh-serve-store.nix (100%) rename {nixos => _/nixos}/_mixins/global/steam-hardware.nix (100%) rename {nixos => _/nixos}/_mixins/global/systemd-initrd.nix (100%) rename {nixos => _/nixos}/_mixins/global/tailscale.nix (100%) rename {nixos => _/nixos}/_mixins/optional/ckb-next.nix (100%) rename {nixos => _/nixos}/_mixins/optional/docker.nix (100%) rename {nixos => _/nixos}/_mixins/optional/ephemeral-btrfs.nix (100%) rename {nixos => _/nixos}/_mixins/optional/fail2ban.nix (100%) rename {nixos => _/nixos}/_mixins/optional/gamemode.nix (100%) rename {nixos => _/nixos}/_mixins/optional/gnome.nix (100%) rename {nixos => _/nixos}/_mixins/optional/lol-acfix.nix (100%) rename {nixos => _/nixos}/_mixins/optional/mysql.nix (100%) rename {nixos => _/nixos}/_mixins/optional/nginx.nix (100%) rename {nixos => _/nixos}/_mixins/optional/pantheon.nix (100%) rename {nixos => _/nixos}/_mixins/optional/postgres.nix (100%) rename {nixos => _/nixos}/_mixins/optional/starcitizen-fixes.nix (100%) rename {nixos => _/nixos}/_mixins/optional/systemd-boot.nix (100%) rename {nixos => _/nixos}/_mixins/optional/tailscale-exit-node.nix (100%) rename {nixos => _/nixos}/_mixins/optional/wireless.nix (100%) rename {nixos => _/nixos}/_mixins/optional/wireshark.nix (100%) rename {nixos => _/nixos}/_mixins/optional/x11-no-suspend.nix (100%) rename {nixos => _/nixos}/iso-console/default.nix (100%) rename {nixos => _/nixos}/iso-desktop/default.nix (100%) create mode 100644 _/overlays/default.nix rename {overlays => _/overlays}/offline-mode-prism-launcher.diff (100%) rename {overlays => _/overlays}/pass-otp-fix-completion.patch (100%) rename {overlays => _/overlays}/pass-secret-service-native.diff (100%) rename {overlays => _/overlays}/pfetch.patch (100%) rename {overlays => _/overlays}/qutebrowser-tree-tabs.diff (100%) rename {overlays => _/overlays}/vim-numbertoggle-command-mode.patch (100%) rename {overlays => _/overlays}/xdg-open-spawn-terminal.diff (100%) rename {home/gburd => home-manager}/_mixins/cli/bash.nix (100%) rename {home/gburd => home-manager}/_mixins/cli/bat.nix (100%) rename {home/gburd => home-manager}/_mixins/cli/default.nix (95%) rename {home/gburd => home-manager}/_mixins/cli/direnv.nix (100%) rename {home/gburd => home-manager}/_mixins/cli/fish.nix (100%) rename {home/gburd => home-manager}/_mixins/cli/gh.nix (100%) rename {home/gburd => home-manager}/_mixins/cli/git.nix (100%) rename {home/gburd => home-manager}/_mixins/cli/gpg-commands.nix (100%) rename {home/gburd => home-manager}/_mixins/cli/gpg.nix (100%) rename {home/gburd => home-manager}/_mixins/cli/jujutsu.nix (100%) rename {home/gburd => home-manager}/_mixins/cli/nix-index.nix (100%) rename {home/gburd => home-manager}/_mixins/cli/pfetch.nix (100%) rename {home/gburd => home-manager}/_mixins/cli/ranger.nix (100%) rename {home/gburd => home-manager}/_mixins/cli/screen.nix (100%) rename {home/gburd => home-manager}/_mixins/cli/shellcolor.nix (100%) rename {home/gburd => home-manager}/_mixins/cli/ssh.nix (100%) rename {home/gburd => home-manager}/_mixins/cli/xpo.nix (100%) rename {home => home-manager}/_mixins/console/default.nix (100%) rename {home => home-manager}/_mixins/console/neofetch.conf (100%) rename {home => home-manager}/_mixins/desktop/audio-recorder.nix (100%) rename {home => home-manager}/_mixins/desktop/celluloid.nix (100%) rename {home => home-manager}/_mixins/desktop/dconf-editor.nix (100%) rename {home => home-manager}/_mixins/desktop/deckmaster-xl.nix (100%) rename {home => home-manager}/_mixins/desktop/default.nix (100%) rename {home => home-manager}/_mixins/desktop/emote.nix (100%) rename {home => home-manager}/_mixins/desktop/gitkraken.nix (100%) rename {home => home-manager}/_mixins/desktop/gnome-sound-recorder.nix (100%) rename {home => home-manager}/_mixins/desktop/localsend.nix (100%) rename {home => home-manager}/_mixins/desktop/mate.nix (100%) rename {home => home-manager}/_mixins/desktop/meld.nix (100%) rename {home => home-manager}/_mixins/desktop/pantheon.nix (100%) rename {home => home-manager}/_mixins/desktop/rhythmbox.nix (100%) rename {home => home-manager}/_mixins/desktop/sakura.conf (100%) rename {home => home-manager}/_mixins/desktop/sakura.nix (100%) rename {home => home-manager}/_mixins/desktop/tilix.nix (100%) rename {home => home-manager}/_mixins/desktop/vorta.nix (100%) rename {home/gburd => home-manager}/_mixins/emacs/burd.org (100%) rename {home/gburd => home-manager}/_mixins/emacs/default.nix (100%) rename {home/gburd => home-manager}/_mixins/emacs/init.el (100%) rename {home/gburd => home-manager}/_mixins/emacs/theme.nix (100%) rename {home/gburd => home-manager}/_mixins/games/default.nix (100%) rename {home/gburd => home-manager}/_mixins/games/steam.nix (100%) rename {home/gburd => home-manager}/_mixins/helix/default.nix (100%) rename {home/gburd => home-manager}/_mixins/helix/theme.nix (100%) rename {home/gburd => home-manager}/_mixins/music/default.nix (100%) rename {home/gburd => home-manager}/_mixins/nvim/default.nix (100%) rename {home/gburd => home-manager}/_mixins/nvim/lsp.nix (100%) rename {home/gburd => home-manager}/_mixins/nvim/syntaxes.nix (100%) rename {home/gburd => home-manager}/_mixins/nvim/theme.nix (100%) rename {home/gburd => home-manager}/_mixins/nvim/ui.nix (100%) rename {home/gburd => home-manager}/_mixins/pass/default.nix (100%) rename {home/gburd => home-manager}/_mixins/productivity/default.nix (100%) rename {home/gburd => home-manager}/_mixins/productivity/khal.nix (100%) rename {home/gburd => home-manager}/_mixins/productivity/khard.nix (100%) rename {home/gburd => home-manager}/_mixins/productivity/mail.nix (100%) rename {home/gburd => home-manager}/_mixins/productivity/neomutt.nix (100%) rename {home/gburd => home-manager}/_mixins/productivity/todoman.nix (100%) rename {home/gburd => home-manager}/_mixins/productivity/vdirsyncer.nix (100%) rename {home/gburd => home-manager}/_mixins/rgb/default.nix (100%) rename {home => home-manager}/_mixins/services/keybase-gui.nix (100%) rename {home => home-manager}/_mixins/services/keybase.nix (100%) rename {home => home-manager}/_mixins/services/syncthing-tray.nix (100%) rename {home => home-manager}/_mixins/services/syncthing.nix (100%) rename {home => home-manager/_mixins/users}/gburd/.gitconfig (100%) rename home/gburd/floki.nix => home-manager/_mixins/users/gburd/default.nix (89%) rename {home => home-manager/_mixins/users}/gburd/desktop.nix (100%) rename {home => home-manager/_mixins/users}/gburd/face.png (100%) create mode 100644 home-manager/_mixins/users/gburd/hosts/floki.nix rename {home => home-manager/_mixins/users}/gburd/pgp.asc (100%) rename {home => home-manager/_mixins/users}/gburd/ssh.pub (100%) rename {home => home-manager/_mixins/users}/gburd/symas-ssh.pub (100%) create mode 100644 home-manager/default.nix rename {home => home-manager}/nixos/default.nix (100%) rename {home => home-manager}/nixos/face.png (100%) delete mode 100644 home/gburd/_mixins/cli/starship.nix rename nixos/_mixins/{optional => filesystems}/btrfs.nix (100%) rename nixos/_mixins/{optional => filesystems}/encrypted-root.nix (100%) rename nixos/_mixins/{global => }/optin-persistence.nix (100%) rename nixos/_mixins/{global => }/sops.nix (100%) create mode 100644 nixos/default.nix delete mode 100644 templates/c/.editorconfig delete mode 100644 templates/c/.gitignore delete mode 100644 templates/c/Makefile delete mode 100644 templates/c/default.nix delete mode 100644 templates/c/flake.nix delete mode 100644 templates/c/shell.nix delete mode 100644 templates/c/src/main.cpp delete mode 100644 templates/default.nix delete mode 100644 templates/haskell/.gitignore delete mode 100644 templates/haskell/app/Main.hs delete mode 100644 templates/haskell/default.nix delete mode 100644 templates/haskell/flake.nix delete mode 100644 templates/haskell/foo-bar.cabal delete mode 100644 templates/haskell/shell.nix delete mode 100644 templates/haskell/src/FooBar.hs delete mode 100644 templates/node/.gitignore delete mode 100644 templates/node/default.nix delete mode 100644 templates/node/flake.nix delete mode 100644 templates/node/package-lock.json delete mode 100644 templates/node/package.json delete mode 100644 templates/node/shell.nix delete mode 100644 templates/node/src/index.ts delete mode 100644 templates/node/tsconfig.json delete mode 100644 templates/rust/.gitignore delete mode 100644 templates/rust/Cargo.lock delete mode 100644 templates/rust/Cargo.toml delete mode 100644 templates/rust/default.nix delete mode 100644 templates/rust/flake.nix delete mode 100644 templates/rust/shell.nix delete mode 100644 templates/rust/src/main.rs diff --git a/.sops.yaml b/.sops.yaml index 27ea027..ea9afcb 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -5,16 +5,30 @@ keys: # Hosts - &hosts: - &floki age1z2x0g05q2erpux006vwhul70d8akj9avrj67s9p27fm4ce32ly8qt8nllz + - &iso-console age1z2x0g05q2erpux006vwhul70d8akj9avrj67s9p27fm4ce32ly8qt8nllz + - &iso-desktop age1z2x0g05q2erpux006vwhul70d8akj9avrj67s9p27fm4ce32ly8qt8nllz creation_rules: - - path_regex: hosts/floki/secrets.ya?ml$ + - path_regex: nixos/floki/secrets.ya?ml$ key_groups: - age: - *floki pgp: - *gburd - - path_regex: hosts/common/secrets.ya?ml$ + - path_regex: nixos/iso-console/secrets.ya?ml$ + key_groups: + - age: + - *iso-console + pgp: + - *gburd + - path_regex: nixos/iso-desktop/secrets.ya?ml$ + key_groups: + - age: + - *iso-desktop + pgp: + - *gburd + - path_regex: nixos/_mixins/secrets.ya?ml$ key_groups: - age: - *floki diff --git a/README.md b/README.md index 0b0db2e..bd2e934 100644 --- a/README.md +++ b/README.md @@ -71,7 +71,7 @@ signing, as well as for SSH'ing around. Most relevant user apps daily drivers: - neovim -- fish + starship +- fish - kitty - qutebrowser - neomutt + mbsync diff --git a/home/gburd/_mixins/desktop/common/alacritty.nix b/_/home-manager/_mixins/common/alacritty.nix similarity index 100% rename from home/gburd/_mixins/desktop/common/alacritty.nix rename to _/home-manager/_mixins/common/alacritty.nix diff --git a/home/gburd/_mixins/desktop/common/default.nix b/_/home-manager/_mixins/common/default.nix similarity index 100% rename from home/gburd/_mixins/desktop/common/default.nix rename to _/home-manager/_mixins/common/default.nix diff --git a/home/gburd/_mixins/desktop/common/deluge.nix b/_/home-manager/_mixins/common/deluge.nix similarity index 100% rename from home/gburd/_mixins/desktop/common/deluge.nix rename to _/home-manager/_mixins/common/deluge.nix diff --git a/home/gburd/_mixins/desktop/common/discord.nix b/_/home-manager/_mixins/common/discord.nix similarity index 100% rename from home/gburd/_mixins/desktop/common/discord.nix rename to _/home-manager/_mixins/common/discord.nix diff --git a/home/gburd/_mixins/desktop/common/dragon.nix b/_/home-manager/_mixins/common/dragon.nix similarity index 100% rename from home/gburd/_mixins/desktop/common/dragon.nix rename to _/home-manager/_mixins/common/dragon.nix diff --git a/home/gburd/_mixins/desktop/common/firefox.nix b/_/home-manager/_mixins/common/firefox.nix similarity index 100% rename from home/gburd/_mixins/desktop/common/firefox.nix rename to _/home-manager/_mixins/common/firefox.nix diff --git a/home/gburd/_mixins/desktop/common/font.nix b/_/home-manager/_mixins/common/font.nix similarity index 100% rename from home/gburd/_mixins/desktop/common/font.nix rename to _/home-manager/_mixins/common/font.nix diff --git a/home/gburd/_mixins/desktop/common/gnome-wm/default.nix b/_/home-manager/_mixins/common/gnome-wm/default.nix similarity index 100% rename from home/gburd/_mixins/desktop/common/gnome-wm/default.nix rename to _/home-manager/_mixins/common/gnome-wm/default.nix diff --git a/home/gburd/_mixins/desktop/common/gtk.nix b/_/home-manager/_mixins/common/gtk.nix similarity index 100% rename from home/gburd/_mixins/desktop/common/gtk.nix rename to _/home-manager/_mixins/common/gtk.nix diff --git a/home/gburd/_mixins/desktop/common/kdeconnect.nix b/_/home-manager/_mixins/common/kdeconnect.nix similarity index 100% rename from home/gburd/_mixins/desktop/common/kdeconnect.nix rename to _/home-manager/_mixins/common/kdeconnect.nix diff --git a/home/gburd/_mixins/desktop/common/pavucontrol.nix b/_/home-manager/_mixins/common/pavucontrol.nix similarity index 100% rename from home/gburd/_mixins/desktop/common/pavucontrol.nix rename to _/home-manager/_mixins/common/pavucontrol.nix diff --git a/home/gburd/_mixins/desktop/common/playerctl.nix b/_/home-manager/_mixins/common/playerctl.nix similarity index 100% rename from home/gburd/_mixins/desktop/common/playerctl.nix rename to _/home-manager/_mixins/common/playerctl.nix diff --git a/home/gburd/_mixins/desktop/common/protonmail-bridge.nix b/_/home-manager/_mixins/common/protonmail-bridge.nix similarity index 100% rename from home/gburd/_mixins/desktop/common/protonmail-bridge.nix rename to _/home-manager/_mixins/common/protonmail-bridge.nix diff --git a/home/gburd/_mixins/desktop/common/qt.nix b/_/home-manager/_mixins/common/qt.nix similarity index 100% rename from home/gburd/_mixins/desktop/common/qt.nix rename to _/home-manager/_mixins/common/qt.nix diff --git a/home/gburd/_mixins/desktop/common/slack.nix b/_/home-manager/_mixins/common/slack.nix similarity index 100% rename from home/gburd/_mixins/desktop/common/slack.nix rename to _/home-manager/_mixins/common/slack.nix diff --git a/home/gburd/_mixins/desktop/common/sublime-music.nix b/_/home-manager/_mixins/common/sublime-music.nix similarity index 100% rename from home/gburd/_mixins/desktop/common/sublime-music.nix rename to _/home-manager/_mixins/common/sublime-music.nix diff --git a/home/gburd/_mixins/desktop/common/wayland-wm/default.nix b/_/home-manager/_mixins/common/wayland-wm/default.nix similarity index 100% rename from home/gburd/_mixins/desktop/common/wayland-wm/default.nix rename to _/home-manager/_mixins/common/wayland-wm/default.nix diff --git a/home/gburd/_mixins/desktop/common/wayland-wm/gammastep.nix b/_/home-manager/_mixins/common/wayland-wm/gammastep.nix similarity index 100% rename from home/gburd/_mixins/desktop/common/wayland-wm/gammastep.nix rename to _/home-manager/_mixins/common/wayland-wm/gammastep.nix diff --git a/home/gburd/_mixins/desktop/common/wayland-wm/hyprland-vnc.nix b/_/home-manager/_mixins/common/wayland-wm/hyprland-vnc.nix similarity index 100% rename from home/gburd/_mixins/desktop/common/wayland-wm/hyprland-vnc.nix rename to _/home-manager/_mixins/common/wayland-wm/hyprland-vnc.nix diff --git a/home/gburd/_mixins/desktop/common/wayland-wm/kitty.nix b/_/home-manager/_mixins/common/wayland-wm/kitty.nix similarity index 100% rename from home/gburd/_mixins/desktop/common/wayland-wm/kitty.nix rename to _/home-manager/_mixins/common/wayland-wm/kitty.nix diff --git a/home/gburd/_mixins/desktop/common/wayland-wm/mako.nix b/_/home-manager/_mixins/common/wayland-wm/mako.nix similarity index 100% rename from home/gburd/_mixins/desktop/common/wayland-wm/mako.nix rename to _/home-manager/_mixins/common/wayland-wm/mako.nix diff --git a/home/gburd/_mixins/desktop/common/wayland-wm/qutebrowser.nix b/_/home-manager/_mixins/common/wayland-wm/qutebrowser.nix similarity index 100% rename from home/gburd/_mixins/desktop/common/wayland-wm/qutebrowser.nix rename to _/home-manager/_mixins/common/wayland-wm/qutebrowser.nix diff --git a/home/gburd/_mixins/desktop/common/wayland-wm/swayidle.nix b/_/home-manager/_mixins/common/wayland-wm/swayidle.nix similarity index 100% rename from home/gburd/_mixins/desktop/common/wayland-wm/swayidle.nix rename to _/home-manager/_mixins/common/wayland-wm/swayidle.nix diff --git a/home/gburd/_mixins/desktop/common/wayland-wm/swaylock.nix b/_/home-manager/_mixins/common/wayland-wm/swaylock.nix similarity index 100% rename from home/gburd/_mixins/desktop/common/wayland-wm/swaylock.nix rename to _/home-manager/_mixins/common/wayland-wm/swaylock.nix diff --git a/home/gburd/_mixins/desktop/common/wayland-wm/waybar.nix b/_/home-manager/_mixins/common/wayland-wm/waybar.nix similarity index 100% rename from home/gburd/_mixins/desktop/common/wayland-wm/waybar.nix rename to _/home-manager/_mixins/common/wayland-wm/waybar.nix diff --git a/home/gburd/_mixins/desktop/common/wayland-wm/wezterm.nix b/_/home-manager/_mixins/common/wayland-wm/wezterm.nix similarity index 100% rename from home/gburd/_mixins/desktop/common/wayland-wm/wezterm.nix rename to _/home-manager/_mixins/common/wayland-wm/wezterm.nix diff --git a/home/gburd/_mixins/desktop/common/wayland-wm/wofi-run-shell.patch b/_/home-manager/_mixins/common/wayland-wm/wofi-run-shell.patch similarity index 100% rename from home/gburd/_mixins/desktop/common/wayland-wm/wofi-run-shell.patch rename to _/home-manager/_mixins/common/wayland-wm/wofi-run-shell.patch diff --git a/home/gburd/_mixins/desktop/common/wayland-wm/wofi.nix b/_/home-manager/_mixins/common/wayland-wm/wofi.nix similarity index 100% rename from home/gburd/_mixins/desktop/common/wayland-wm/wofi.nix rename to _/home-manager/_mixins/common/wayland-wm/wofi.nix diff --git a/home/gburd/_mixins/desktop/common/wayland-wm/zathura.nix b/_/home-manager/_mixins/common/wayland-wm/zathura.nix similarity index 100% rename from home/gburd/_mixins/desktop/common/wayland-wm/zathura.nix rename to _/home-manager/_mixins/common/wayland-wm/zathura.nix diff --git a/home/gburd/_mixins/default.nix b/_/home-manager/_mixins/default.nix similarity index 96% rename from home/gburd/_mixins/default.nix rename to _/home-manager/_mixins/default.nix index 494d925..30edc2a 100644 --- a/home/gburd/_mixins/default.nix +++ b/_/home-manager/_mixins/default.nix @@ -2,7 +2,6 @@ { imports = [ inputs.impermanence.nixosModules.home-manager.impermanence - inputs.nix-colors.homeManagerModule ./cli ./nvim ] ++ (builtins.attrValues outputs.homeManagerModules); diff --git a/home/gburd/_mixins/desktop/gnome/default.nix b/_/home-manager/_mixins/gnome/default.nix similarity index 100% rename from home/gburd/_mixins/desktop/gnome/default.nix rename to _/home-manager/_mixins/gnome/default.nix diff --git a/home/gburd/_mixins/desktop/gnome/tty-init.nix b/_/home-manager/_mixins/gnome/tty-init.nix similarity index 100% rename from home/gburd/_mixins/desktop/gnome/tty-init.nix rename to _/home-manager/_mixins/gnome/tty-init.nix diff --git a/home/gburd/generic.nix b/_/home-manager/_mixins/users/gburd/generic.nix similarity index 100% rename from home/gburd/generic.nix rename to _/home-manager/_mixins/users/gburd/generic.nix diff --git a/home/gburd/_mixins/desktop/wireless/default.nix b/_/home-manager/_mixins/users/wireless/default.nix similarity index 100% rename from home/gburd/_mixins/desktop/wireless/default.nix rename to _/home-manager/_mixins/users/wireless/default.nix diff --git a/home/gburd/_mixins/desktop/wireless/wpa-gui.nix b/_/home-manager/_mixins/wpa-gui.nix similarity index 100% rename from home/gburd/_mixins/desktop/wireless/wpa-gui.nix rename to _/home-manager/_mixins/wpa-gui.nix diff --git a/modules/home-manager/default.nix b/_/modules/home-manager/default.nix similarity index 100% rename from modules/home-manager/default.nix rename to _/modules/home-manager/default.nix diff --git a/modules/home-manager/fonts.nix b/_/modules/home-manager/fonts.nix similarity index 100% rename from modules/home-manager/fonts.nix rename to _/modules/home-manager/fonts.nix diff --git a/modules/home-manager/monitors.nix b/_/modules/home-manager/monitors.nix similarity index 100% rename from modules/home-manager/monitors.nix rename to _/modules/home-manager/monitors.nix diff --git a/modules/home-manager/pass-secret-service.nix b/_/modules/home-manager/pass-secret-service.nix similarity index 100% rename from modules/home-manager/pass-secret-service.nix rename to _/modules/home-manager/pass-secret-service.nix diff --git a/modules/home-manager/rgbdaemon.nix b/_/modules/home-manager/rgbdaemon.nix similarity index 100% rename from modules/home-manager/rgbdaemon.nix rename to _/modules/home-manager/rgbdaemon.nix diff --git a/modules/home-manager/shellcolor.nix b/_/modules/home-manager/shellcolor.nix similarity index 100% rename from modules/home-manager/shellcolor.nix rename to _/modules/home-manager/shellcolor.nix diff --git a/modules/home-manager/wallpaper.nix b/_/modules/home-manager/wallpaper.nix similarity index 100% rename from modules/home-manager/wallpaper.nix rename to _/modules/home-manager/wallpaper.nix diff --git a/modules/home-manager/xpo.nix b/_/modules/home-manager/xpo.nix similarity index 100% rename from modules/home-manager/xpo.nix rename to _/modules/home-manager/xpo.nix diff --git a/modules/nixos/default.nix b/_/modules/nixos/default.nix similarity index 100% rename from modules/nixos/default.nix rename to _/modules/nixos/default.nix diff --git a/modules/nixos/openrgb.nix b/_/modules/nixos/openrgb.nix similarity index 100% rename from modules/nixos/openrgb.nix rename to _/modules/nixos/openrgb.nix diff --git a/modules/nixos/satisfactory.nix b/_/modules/nixos/satisfactory.nix similarity index 100% rename from modules/nixos/satisfactory.nix rename to _/modules/nixos/satisfactory.nix diff --git a/nixos/_mixins/global/acme.nix b/_/nixos/_mixins/global/acme.nix similarity index 100% rename from nixos/_mixins/global/acme.nix rename to _/nixos/_mixins/global/acme.nix diff --git a/nixos/_mixins/global/auto-upgrade.nix b/_/nixos/_mixins/global/auto-upgrade.nix similarity index 100% rename from nixos/_mixins/global/auto-upgrade.nix rename to _/nixos/_mixins/global/auto-upgrade.nix diff --git a/nixos/_mixins/global/default.nix b/_/nixos/_mixins/global/default.nix similarity index 100% rename from nixos/_mixins/global/default.nix rename to _/nixos/_mixins/global/default.nix diff --git a/nixos/_mixins/global/fish.nix b/_/nixos/_mixins/global/fish.nix similarity index 100% rename from nixos/_mixins/global/fish.nix rename to _/nixos/_mixins/global/fish.nix diff --git a/nixos/_mixins/global/locale.nix b/_/nixos/_mixins/global/locale.nix similarity index 100% rename from nixos/_mixins/global/locale.nix rename to _/nixos/_mixins/global/locale.nix diff --git a/nixos/_mixins/global/nix.nix b/_/nixos/_mixins/global/nix.nix similarity index 100% rename from nixos/_mixins/global/nix.nix rename to _/nixos/_mixins/global/nix.nix diff --git a/nixos/_mixins/global/openssh.nix b/_/nixos/_mixins/global/openssh.nix similarity index 100% rename from nixos/_mixins/global/openssh.nix rename to _/nixos/_mixins/global/openssh.nix diff --git a/nixos/_mixins/global/podman.nix b/_/nixos/_mixins/global/podman.nix similarity index 100% rename from nixos/_mixins/global/podman.nix rename to _/nixos/_mixins/global/podman.nix diff --git a/nixos/_mixins/global/ssh-serve-store.nix b/_/nixos/_mixins/global/ssh-serve-store.nix similarity index 100% rename from nixos/_mixins/global/ssh-serve-store.nix rename to _/nixos/_mixins/global/ssh-serve-store.nix diff --git a/nixos/_mixins/global/steam-hardware.nix b/_/nixos/_mixins/global/steam-hardware.nix similarity index 100% rename from nixos/_mixins/global/steam-hardware.nix rename to _/nixos/_mixins/global/steam-hardware.nix diff --git a/nixos/_mixins/global/systemd-initrd.nix b/_/nixos/_mixins/global/systemd-initrd.nix similarity index 100% rename from nixos/_mixins/global/systemd-initrd.nix rename to _/nixos/_mixins/global/systemd-initrd.nix diff --git a/nixos/_mixins/global/tailscale.nix b/_/nixos/_mixins/global/tailscale.nix similarity index 100% rename from nixos/_mixins/global/tailscale.nix rename to _/nixos/_mixins/global/tailscale.nix diff --git a/nixos/_mixins/optional/ckb-next.nix b/_/nixos/_mixins/optional/ckb-next.nix similarity index 100% rename from nixos/_mixins/optional/ckb-next.nix rename to _/nixos/_mixins/optional/ckb-next.nix diff --git a/nixos/_mixins/optional/docker.nix b/_/nixos/_mixins/optional/docker.nix similarity index 100% rename from nixos/_mixins/optional/docker.nix rename to _/nixos/_mixins/optional/docker.nix diff --git a/nixos/_mixins/optional/ephemeral-btrfs.nix b/_/nixos/_mixins/optional/ephemeral-btrfs.nix similarity index 100% rename from nixos/_mixins/optional/ephemeral-btrfs.nix rename to _/nixos/_mixins/optional/ephemeral-btrfs.nix diff --git a/nixos/_mixins/optional/fail2ban.nix b/_/nixos/_mixins/optional/fail2ban.nix similarity index 100% rename from nixos/_mixins/optional/fail2ban.nix rename to _/nixos/_mixins/optional/fail2ban.nix diff --git a/nixos/_mixins/optional/gamemode.nix b/_/nixos/_mixins/optional/gamemode.nix similarity index 100% rename from nixos/_mixins/optional/gamemode.nix rename to _/nixos/_mixins/optional/gamemode.nix diff --git a/nixos/_mixins/optional/gnome.nix b/_/nixos/_mixins/optional/gnome.nix similarity index 100% rename from nixos/_mixins/optional/gnome.nix rename to _/nixos/_mixins/optional/gnome.nix diff --git a/nixos/_mixins/optional/lol-acfix.nix b/_/nixos/_mixins/optional/lol-acfix.nix similarity index 100% rename from nixos/_mixins/optional/lol-acfix.nix rename to _/nixos/_mixins/optional/lol-acfix.nix diff --git a/nixos/_mixins/optional/mysql.nix b/_/nixos/_mixins/optional/mysql.nix similarity index 100% rename from nixos/_mixins/optional/mysql.nix rename to _/nixos/_mixins/optional/mysql.nix diff --git a/nixos/_mixins/optional/nginx.nix b/_/nixos/_mixins/optional/nginx.nix similarity index 100% rename from nixos/_mixins/optional/nginx.nix rename to _/nixos/_mixins/optional/nginx.nix diff --git a/nixos/_mixins/optional/pantheon.nix b/_/nixos/_mixins/optional/pantheon.nix similarity index 100% rename from nixos/_mixins/optional/pantheon.nix rename to _/nixos/_mixins/optional/pantheon.nix diff --git a/nixos/_mixins/optional/postgres.nix b/_/nixos/_mixins/optional/postgres.nix similarity index 100% rename from nixos/_mixins/optional/postgres.nix rename to _/nixos/_mixins/optional/postgres.nix diff --git a/nixos/_mixins/optional/starcitizen-fixes.nix b/_/nixos/_mixins/optional/starcitizen-fixes.nix similarity index 100% rename from nixos/_mixins/optional/starcitizen-fixes.nix rename to _/nixos/_mixins/optional/starcitizen-fixes.nix diff --git a/nixos/_mixins/optional/systemd-boot.nix b/_/nixos/_mixins/optional/systemd-boot.nix similarity index 100% rename from nixos/_mixins/optional/systemd-boot.nix rename to _/nixos/_mixins/optional/systemd-boot.nix diff --git a/nixos/_mixins/optional/tailscale-exit-node.nix b/_/nixos/_mixins/optional/tailscale-exit-node.nix similarity index 100% rename from nixos/_mixins/optional/tailscale-exit-node.nix rename to _/nixos/_mixins/optional/tailscale-exit-node.nix diff --git a/nixos/_mixins/optional/wireless.nix b/_/nixos/_mixins/optional/wireless.nix similarity index 100% rename from nixos/_mixins/optional/wireless.nix rename to _/nixos/_mixins/optional/wireless.nix diff --git a/nixos/_mixins/optional/wireshark.nix b/_/nixos/_mixins/optional/wireshark.nix similarity index 100% rename from nixos/_mixins/optional/wireshark.nix rename to _/nixos/_mixins/optional/wireshark.nix diff --git a/nixos/_mixins/optional/x11-no-suspend.nix b/_/nixos/_mixins/optional/x11-no-suspend.nix similarity index 100% rename from nixos/_mixins/optional/x11-no-suspend.nix rename to _/nixos/_mixins/optional/x11-no-suspend.nix diff --git a/nixos/iso-console/default.nix b/_/nixos/iso-console/default.nix similarity index 100% rename from nixos/iso-console/default.nix rename to _/nixos/iso-console/default.nix diff --git a/nixos/iso-desktop/default.nix b/_/nixos/iso-desktop/default.nix similarity index 100% rename from nixos/iso-desktop/default.nix rename to _/nixos/iso-desktop/default.nix diff --git a/_/overlays/default.nix b/_/overlays/default.nix new file mode 100644 index 0000000..b5a0f8f --- /dev/null +++ b/_/overlays/default.nix @@ -0,0 +1,76 @@ +{ inputs, ... }: +let + addPatches = pkg: patches: pkg.overrideAttrs (oldAttrs: { + patches = (oldAttrs.patches or [ ]) ++ patches; + }); +in +{ + # For every flake input, aliases 'pkgs.inputs.${flake}' to + # 'inputs.${flake}.packages.${pkgs.system}' or + # 'inputs.${flake}.legacyPackages.${pkgs.system}' + flake-inputs = final: _: { + inputs = builtins.mapAttrs + (_: flake: + let + legacyPackages = (flake.legacyPackages or { }).${final.system} or { }; + packages = (flake.packages or { }).${final.system} or { }; + in + if legacyPackages != { } then legacyPackages else packages + ) + inputs; + }; + + # Adds my custom packages + additions = final: prev: import ../pkgs { pkgs = final; } // { + formats = prev.formats // import ../pkgs/formats { pkgs = final; }; + vimPlugins = prev.vimPlugins // final.callPackage ../pkgs/vim-plugins { }; + }; + + # Modifies existing packages + modifications = final: prev: { + vimPlugins = prev.vimPlugins // { + vim-numbertoggle = addPatches prev.vimPlugins.vim-numbertoggle [ ./vim-numbertoggle-command-mode.patch ]; + }; + + passExtensions = prev.passExtensions // { + # https://github.com/tadfisher/pass-otp/pull/173 + pass-otp = addPatches prev.passExtensions.pass-otp [ ./pass-otp-fix-completion.patch ]; + }; + + # https://github.com/mdellweg/pass_secret_service/pull/37 + pass-secret-service = addPatches prev.pass-secret-service [ ./pass-secret-service-native.diff ]; + + # https://github.com/NixOS/nix/issues/5567#issuecomment-1193259926 + # nix = addPatches prev.nix [ ./nix-make-installables-expr-context.patch ]; + + # xdg-utils-spawn-terminal = addPatches prev.xdg-utils [ ./xdg-open-spawn-terminal.diff ]; + xdg-utils-spawn-terminal = prev.xdg-utils; + + pfetch = prev.pfetch.overrideAttrs (oldAttrs: { + version = "unstable-2021-12-10"; + src = final.fetchFromGitHub { + owner = "dylanaraps"; + repo = "pfetch"; + rev = "a906ff89680c78cec9785f3ff49ca8b272a0f96b"; + sha256 = "sha256-9n5w93PnSxF53V12iRqLyj0hCrJ3jRibkw8VK3tFDvo="; + }; + # Add term option, rename de to desktop, add scheme option + patches = (oldAttrs.patches or [ ]) ++ [ ./pfetch.patch ]; + }); + + qutebrowser = prev.qutebrowser.overrideAttrs (oldAttrs: { + patches = (oldAttrs.patches or [ ]) ++ [ ./qutebrowser-tree-tabs.diff ]; + }); + + # scgit = prev.cgit-pink.overrideAttrs (_: { + # pname = "scgit"; + # version = "0.1"; + # src = final.fetchFromSourcehut { + # owner = "~misterio"; + # repo = "scgit"; + # rev = "2cd05c95827fb94740e876733dc6f7fe88340de2"; + # sha256 = "sha256-95mRJ3ZCSkLHqehFQdwM2BY0h+YDhohwpnRiF6/lZtA="; + # }; + # }); + }; +} diff --git a/overlays/offline-mode-prism-launcher.diff b/_/overlays/offline-mode-prism-launcher.diff similarity index 100% rename from overlays/offline-mode-prism-launcher.diff rename to _/overlays/offline-mode-prism-launcher.diff diff --git a/overlays/pass-otp-fix-completion.patch b/_/overlays/pass-otp-fix-completion.patch similarity index 100% rename from overlays/pass-otp-fix-completion.patch rename to _/overlays/pass-otp-fix-completion.patch diff --git a/overlays/pass-secret-service-native.diff b/_/overlays/pass-secret-service-native.diff similarity index 100% rename from overlays/pass-secret-service-native.diff rename to _/overlays/pass-secret-service-native.diff diff --git a/overlays/pfetch.patch b/_/overlays/pfetch.patch similarity index 100% rename from overlays/pfetch.patch rename to _/overlays/pfetch.patch diff --git a/overlays/qutebrowser-tree-tabs.diff b/_/overlays/qutebrowser-tree-tabs.diff similarity index 100% rename from overlays/qutebrowser-tree-tabs.diff rename to _/overlays/qutebrowser-tree-tabs.diff diff --git a/overlays/vim-numbertoggle-command-mode.patch b/_/overlays/vim-numbertoggle-command-mode.patch similarity index 100% rename from overlays/vim-numbertoggle-command-mode.patch rename to _/overlays/vim-numbertoggle-command-mode.patch diff --git a/overlays/xdg-open-spawn-terminal.diff b/_/overlays/xdg-open-spawn-terminal.diff similarity index 100% rename from overlays/xdg-open-spawn-terminal.diff rename to _/overlays/xdg-open-spawn-terminal.diff diff --git a/flake.lock b/flake.lock index 82e3ddb..cabfe8b 100644 --- a/flake.lock +++ b/flake.lock @@ -4,7 +4,9 @@ "inputs": { "darwin": "darwin", "home-manager": "home-manager", - "nixpkgs": "nixpkgs" + "nixpkgs": [ + "nixpkgs" + ] }, "locked": { "lastModified": 1695384796, @@ -270,16 +272,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1677676435, - "narHash": "sha256-6FxdcmQr5JeZqsQvfinIMr0XcTyTuR7EXX0H3ANShpQ=", - "owner": "NixOS", + "lastModified": 1695559356, + "narHash": "sha256-kXZ1pUoImD9OEbPCwpTz4tHsNTr4CIyIfXb3ocuR8sI=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "a08d6979dd7c82c4cef0dcc6ac45ab16051c1169", + "rev": "261abe8a44a7e8392598d038d2e01f7b33cf26d0", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixos-unstable", + "owner": "nixos", + "ref": "nixos-23.05", "repo": "nixpkgs", "type": "github" } @@ -318,22 +320,6 @@ "type": "github" } }, - "nixpkgs_2": { - "locked": { - "lastModified": 1695559356, - "narHash": "sha256-kXZ1pUoImD9OEbPCwpTz4tHsNTr4CIyIfXb3ocuR8sI=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "261abe8a44a7e8392598d038d2e01f7b33cf26d0", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-23.05", - "repo": "nixpkgs", - "type": "github" - } - }, "nmd": { "flake": false, "locked": { @@ -376,7 +362,7 @@ "nh": "nh", "nix-formatter-pack": "nix-formatter-pack", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs", "nixpkgs-unstable": "nixpkgs-unstable", "sops-nix": "sops-nix", "vscode-server": "vscode-server" diff --git a/flake.nix b/flake.nix index 466f701..8b9ef4e 100644 --- a/flake.nix +++ b/flake.nix @@ -8,7 +8,7 @@ nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; agenix.url = "github:ryantm/agenix"; - agenix.inputs.ixpkgs.follows = "nixpkgs"; + agenix.inputs.nixpkgs.follows = "nixpkgs"; disko.url = "github:nix-community/disko"; disko.inputs.nixpkgs.follows = "nixpkgs"; @@ -54,43 +54,24 @@ # nix build .#homeConfigurations."gburd@floki".activationPackage homeConfigurations = { # .iso images - # --------------------------------------------------------------------- - - "gburd@iso-console" = libx.mkHome { hostname = "iso-console"; username = "nixos"; }; - "gburd@iso-desktop" = libx.mkHome { hostname = "iso-desktop"; username = "nixos"; desktop = "pantheon"; }; - + # "gburd@iso-console" = libx.mkHome { hostname = "iso-console"; username = "nixos"; }; + # "gburd@iso-desktop" = libx.mkHome { hostname = "iso-desktop"; username = "nixos"; desktop = "pantheon"; }; # Workstations - # --------------------------------------------------------------------- - "gburd@floki" = libx.mkHome { hostname = "floki"; username = "gburd"; desktop = "pantheon"; }; - # Servers - # --------------------------------------------------------------------- }; nixosConfigurations = { # .iso images - # --------------------------------------------------------------------- - # - nix build .#nixosConfigurations.{iso-console|iso-desktop}.config.system.build.isoImage - iso-console = libx.mkHost { hostname = "iso-console"; username = "nixos"; installer = nixpkgs + "/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix"; }; - iso-desktop = libx.mkHost { hostname = "iso-desktop"; username = "nixos"; installer = nixpkgs + "/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares.nix"; desktop = "pantheon"; }; - + # iso-console = libx.mkHost { hostname = "iso-console"; username = "nixos"; installer = nixpkgs + "/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix"; }; + # iso-desktop = libx.mkHost { hostname = "iso-desktop"; username = "nixos"; installer = nixpkgs + "/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares.nix"; desktop = "pantheon"; }; # Workstations - # --------------------------------------------------------------------- - # Lenovo Carbon X1 Extreme Gen 5 - x86_64 floki = libx.mkHost { hostname = "floki"; username = "gburd"; desktop = "pantheon"; }; - # Servers - # --------------------------------------------------------------------- }; - # Custom packages and modifications, exported as overlays - overlays = import ./overlays { inherit inputs outputs; }; - - hydraJobs = import ./hydra.nix { inherit inputs outputs; }; - # Devshell for bootstrapping; acessible via 'nix develop' or 'nix-shell' (legacy) devShells = libx.forAllSystems (system: let pkgs = nixpkgs.legacyPackages.${system}; @@ -110,14 +91,13 @@ } ); + # Custom packages and modifications, exported as overlays + overlays = import ./overlays { inherit inputs outputs; }; + # Custom packages; acessible via 'nix build', 'nix shell', etc packages = libx.forAllSystems (system: let pkgs = nixpkgs.legacyPackages.${system}; in import ./pkgs { inherit pkgs; } ); - - nixosModules = import ./modules/nixos; - homeManagerModules = import ./modules/home-manager; - templates = import ./templates; }; } diff --git a/home/gburd/_mixins/cli/bash.nix b/home-manager/_mixins/cli/bash.nix similarity index 100% rename from home/gburd/_mixins/cli/bash.nix rename to home-manager/_mixins/cli/bash.nix diff --git a/home/gburd/_mixins/cli/bat.nix b/home-manager/_mixins/cli/bat.nix similarity index 100% rename from home/gburd/_mixins/cli/bat.nix rename to home-manager/_mixins/cli/bat.nix diff --git a/home/gburd/_mixins/cli/default.nix b/home-manager/_mixins/cli/default.nix similarity index 95% rename from home/gburd/_mixins/cli/default.nix rename to home-manager/_mixins/cli/default.nix index f2c00de..6285498 100644 --- a/home/gburd/_mixins/cli/default.nix +++ b/home-manager/_mixins/cli/default.nix @@ -12,9 +12,7 @@ ./pfetch.nix ./ranger.nix ./screen.nix - #./shellcolor.nix ./ssh.nix - ./starship.nix ./xpo.nix ]; diff --git a/home/gburd/_mixins/cli/direnv.nix b/home-manager/_mixins/cli/direnv.nix similarity index 100% rename from home/gburd/_mixins/cli/direnv.nix rename to home-manager/_mixins/cli/direnv.nix diff --git a/home/gburd/_mixins/cli/fish.nix b/home-manager/_mixins/cli/fish.nix similarity index 100% rename from home/gburd/_mixins/cli/fish.nix rename to home-manager/_mixins/cli/fish.nix diff --git a/home/gburd/_mixins/cli/gh.nix b/home-manager/_mixins/cli/gh.nix similarity index 100% rename from home/gburd/_mixins/cli/gh.nix rename to home-manager/_mixins/cli/gh.nix diff --git a/home/gburd/_mixins/cli/git.nix b/home-manager/_mixins/cli/git.nix similarity index 100% rename from home/gburd/_mixins/cli/git.nix rename to home-manager/_mixins/cli/git.nix diff --git a/home/gburd/_mixins/cli/gpg-commands.nix b/home-manager/_mixins/cli/gpg-commands.nix similarity index 100% rename from home/gburd/_mixins/cli/gpg-commands.nix rename to home-manager/_mixins/cli/gpg-commands.nix diff --git a/home/gburd/_mixins/cli/gpg.nix b/home-manager/_mixins/cli/gpg.nix similarity index 100% rename from home/gburd/_mixins/cli/gpg.nix rename to home-manager/_mixins/cli/gpg.nix diff --git a/home/gburd/_mixins/cli/jujutsu.nix b/home-manager/_mixins/cli/jujutsu.nix similarity index 100% rename from home/gburd/_mixins/cli/jujutsu.nix rename to home-manager/_mixins/cli/jujutsu.nix diff --git a/home/gburd/_mixins/cli/nix-index.nix b/home-manager/_mixins/cli/nix-index.nix similarity index 100% rename from home/gburd/_mixins/cli/nix-index.nix rename to home-manager/_mixins/cli/nix-index.nix diff --git a/home/gburd/_mixins/cli/pfetch.nix b/home-manager/_mixins/cli/pfetch.nix similarity index 100% rename from home/gburd/_mixins/cli/pfetch.nix rename to home-manager/_mixins/cli/pfetch.nix diff --git a/home/gburd/_mixins/cli/ranger.nix b/home-manager/_mixins/cli/ranger.nix similarity index 100% rename from home/gburd/_mixins/cli/ranger.nix rename to home-manager/_mixins/cli/ranger.nix diff --git a/home/gburd/_mixins/cli/screen.nix b/home-manager/_mixins/cli/screen.nix similarity index 100% rename from home/gburd/_mixins/cli/screen.nix rename to home-manager/_mixins/cli/screen.nix diff --git a/home/gburd/_mixins/cli/shellcolor.nix b/home-manager/_mixins/cli/shellcolor.nix similarity index 100% rename from home/gburd/_mixins/cli/shellcolor.nix rename to home-manager/_mixins/cli/shellcolor.nix diff --git a/home/gburd/_mixins/cli/ssh.nix b/home-manager/_mixins/cli/ssh.nix similarity index 100% rename from home/gburd/_mixins/cli/ssh.nix rename to home-manager/_mixins/cli/ssh.nix diff --git a/home/gburd/_mixins/cli/xpo.nix b/home-manager/_mixins/cli/xpo.nix similarity index 100% rename from home/gburd/_mixins/cli/xpo.nix rename to home-manager/_mixins/cli/xpo.nix diff --git a/home/_mixins/console/default.nix b/home-manager/_mixins/console/default.nix similarity index 100% rename from home/_mixins/console/default.nix rename to home-manager/_mixins/console/default.nix diff --git a/home/_mixins/console/neofetch.conf b/home-manager/_mixins/console/neofetch.conf similarity index 100% rename from home/_mixins/console/neofetch.conf rename to home-manager/_mixins/console/neofetch.conf diff --git a/home/_mixins/desktop/audio-recorder.nix b/home-manager/_mixins/desktop/audio-recorder.nix similarity index 100% rename from home/_mixins/desktop/audio-recorder.nix rename to home-manager/_mixins/desktop/audio-recorder.nix diff --git a/home/_mixins/desktop/celluloid.nix b/home-manager/_mixins/desktop/celluloid.nix similarity index 100% rename from home/_mixins/desktop/celluloid.nix rename to home-manager/_mixins/desktop/celluloid.nix diff --git a/home/_mixins/desktop/dconf-editor.nix b/home-manager/_mixins/desktop/dconf-editor.nix similarity index 100% rename from home/_mixins/desktop/dconf-editor.nix rename to home-manager/_mixins/desktop/dconf-editor.nix diff --git a/home/_mixins/desktop/deckmaster-xl.nix b/home-manager/_mixins/desktop/deckmaster-xl.nix similarity index 100% rename from home/_mixins/desktop/deckmaster-xl.nix rename to home-manager/_mixins/desktop/deckmaster-xl.nix diff --git a/home/_mixins/desktop/default.nix b/home-manager/_mixins/desktop/default.nix similarity index 100% rename from home/_mixins/desktop/default.nix rename to home-manager/_mixins/desktop/default.nix diff --git a/home/_mixins/desktop/emote.nix b/home-manager/_mixins/desktop/emote.nix similarity index 100% rename from home/_mixins/desktop/emote.nix rename to home-manager/_mixins/desktop/emote.nix diff --git a/home/_mixins/desktop/gitkraken.nix b/home-manager/_mixins/desktop/gitkraken.nix similarity index 100% rename from home/_mixins/desktop/gitkraken.nix rename to home-manager/_mixins/desktop/gitkraken.nix diff --git a/home/_mixins/desktop/gnome-sound-recorder.nix b/home-manager/_mixins/desktop/gnome-sound-recorder.nix similarity index 100% rename from home/_mixins/desktop/gnome-sound-recorder.nix rename to home-manager/_mixins/desktop/gnome-sound-recorder.nix diff --git a/home/_mixins/desktop/localsend.nix b/home-manager/_mixins/desktop/localsend.nix similarity index 100% rename from home/_mixins/desktop/localsend.nix rename to home-manager/_mixins/desktop/localsend.nix diff --git a/home/_mixins/desktop/mate.nix b/home-manager/_mixins/desktop/mate.nix similarity index 100% rename from home/_mixins/desktop/mate.nix rename to home-manager/_mixins/desktop/mate.nix diff --git a/home/_mixins/desktop/meld.nix b/home-manager/_mixins/desktop/meld.nix similarity index 100% rename from home/_mixins/desktop/meld.nix rename to home-manager/_mixins/desktop/meld.nix diff --git a/home/_mixins/desktop/pantheon.nix b/home-manager/_mixins/desktop/pantheon.nix similarity index 100% rename from home/_mixins/desktop/pantheon.nix rename to home-manager/_mixins/desktop/pantheon.nix diff --git a/home/_mixins/desktop/rhythmbox.nix b/home-manager/_mixins/desktop/rhythmbox.nix similarity index 100% rename from home/_mixins/desktop/rhythmbox.nix rename to home-manager/_mixins/desktop/rhythmbox.nix diff --git a/home/_mixins/desktop/sakura.conf b/home-manager/_mixins/desktop/sakura.conf similarity index 100% rename from home/_mixins/desktop/sakura.conf rename to home-manager/_mixins/desktop/sakura.conf diff --git a/home/_mixins/desktop/sakura.nix b/home-manager/_mixins/desktop/sakura.nix similarity index 100% rename from home/_mixins/desktop/sakura.nix rename to home-manager/_mixins/desktop/sakura.nix diff --git a/home/_mixins/desktop/tilix.nix b/home-manager/_mixins/desktop/tilix.nix similarity index 100% rename from home/_mixins/desktop/tilix.nix rename to home-manager/_mixins/desktop/tilix.nix diff --git a/home/_mixins/desktop/vorta.nix b/home-manager/_mixins/desktop/vorta.nix similarity index 100% rename from home/_mixins/desktop/vorta.nix rename to home-manager/_mixins/desktop/vorta.nix diff --git a/home/gburd/_mixins/emacs/burd.org b/home-manager/_mixins/emacs/burd.org similarity index 100% rename from home/gburd/_mixins/emacs/burd.org rename to home-manager/_mixins/emacs/burd.org diff --git a/home/gburd/_mixins/emacs/default.nix b/home-manager/_mixins/emacs/default.nix similarity index 100% rename from home/gburd/_mixins/emacs/default.nix rename to home-manager/_mixins/emacs/default.nix diff --git a/home/gburd/_mixins/emacs/init.el b/home-manager/_mixins/emacs/init.el similarity index 100% rename from home/gburd/_mixins/emacs/init.el rename to home-manager/_mixins/emacs/init.el diff --git a/home/gburd/_mixins/emacs/theme.nix b/home-manager/_mixins/emacs/theme.nix similarity index 100% rename from home/gburd/_mixins/emacs/theme.nix rename to home-manager/_mixins/emacs/theme.nix diff --git a/home/gburd/_mixins/games/default.nix b/home-manager/_mixins/games/default.nix similarity index 100% rename from home/gburd/_mixins/games/default.nix rename to home-manager/_mixins/games/default.nix diff --git a/home/gburd/_mixins/games/steam.nix b/home-manager/_mixins/games/steam.nix similarity index 100% rename from home/gburd/_mixins/games/steam.nix rename to home-manager/_mixins/games/steam.nix diff --git a/home/gburd/_mixins/helix/default.nix b/home-manager/_mixins/helix/default.nix similarity index 100% rename from home/gburd/_mixins/helix/default.nix rename to home-manager/_mixins/helix/default.nix diff --git a/home/gburd/_mixins/helix/theme.nix b/home-manager/_mixins/helix/theme.nix similarity index 100% rename from home/gburd/_mixins/helix/theme.nix rename to home-manager/_mixins/helix/theme.nix diff --git a/home/gburd/_mixins/music/default.nix b/home-manager/_mixins/music/default.nix similarity index 100% rename from home/gburd/_mixins/music/default.nix rename to home-manager/_mixins/music/default.nix diff --git a/home/gburd/_mixins/nvim/default.nix b/home-manager/_mixins/nvim/default.nix similarity index 100% rename from home/gburd/_mixins/nvim/default.nix rename to home-manager/_mixins/nvim/default.nix diff --git a/home/gburd/_mixins/nvim/lsp.nix b/home-manager/_mixins/nvim/lsp.nix similarity index 100% rename from home/gburd/_mixins/nvim/lsp.nix rename to home-manager/_mixins/nvim/lsp.nix diff --git a/home/gburd/_mixins/nvim/syntaxes.nix b/home-manager/_mixins/nvim/syntaxes.nix similarity index 100% rename from home/gburd/_mixins/nvim/syntaxes.nix rename to home-manager/_mixins/nvim/syntaxes.nix diff --git a/home/gburd/_mixins/nvim/theme.nix b/home-manager/_mixins/nvim/theme.nix similarity index 100% rename from home/gburd/_mixins/nvim/theme.nix rename to home-manager/_mixins/nvim/theme.nix diff --git a/home/gburd/_mixins/nvim/ui.nix b/home-manager/_mixins/nvim/ui.nix similarity index 100% rename from home/gburd/_mixins/nvim/ui.nix rename to home-manager/_mixins/nvim/ui.nix diff --git a/home/gburd/_mixins/pass/default.nix b/home-manager/_mixins/pass/default.nix similarity index 100% rename from home/gburd/_mixins/pass/default.nix rename to home-manager/_mixins/pass/default.nix diff --git a/home/gburd/_mixins/productivity/default.nix b/home-manager/_mixins/productivity/default.nix similarity index 100% rename from home/gburd/_mixins/productivity/default.nix rename to home-manager/_mixins/productivity/default.nix diff --git a/home/gburd/_mixins/productivity/khal.nix b/home-manager/_mixins/productivity/khal.nix similarity index 100% rename from home/gburd/_mixins/productivity/khal.nix rename to home-manager/_mixins/productivity/khal.nix diff --git a/home/gburd/_mixins/productivity/khard.nix b/home-manager/_mixins/productivity/khard.nix similarity index 100% rename from home/gburd/_mixins/productivity/khard.nix rename to home-manager/_mixins/productivity/khard.nix diff --git a/home/gburd/_mixins/productivity/mail.nix b/home-manager/_mixins/productivity/mail.nix similarity index 100% rename from home/gburd/_mixins/productivity/mail.nix rename to home-manager/_mixins/productivity/mail.nix diff --git a/home/gburd/_mixins/productivity/neomutt.nix b/home-manager/_mixins/productivity/neomutt.nix similarity index 100% rename from home/gburd/_mixins/productivity/neomutt.nix rename to home-manager/_mixins/productivity/neomutt.nix diff --git a/home/gburd/_mixins/productivity/todoman.nix b/home-manager/_mixins/productivity/todoman.nix similarity index 100% rename from home/gburd/_mixins/productivity/todoman.nix rename to home-manager/_mixins/productivity/todoman.nix diff --git a/home/gburd/_mixins/productivity/vdirsyncer.nix b/home-manager/_mixins/productivity/vdirsyncer.nix similarity index 100% rename from home/gburd/_mixins/productivity/vdirsyncer.nix rename to home-manager/_mixins/productivity/vdirsyncer.nix diff --git a/home/gburd/_mixins/rgb/default.nix b/home-manager/_mixins/rgb/default.nix similarity index 100% rename from home/gburd/_mixins/rgb/default.nix rename to home-manager/_mixins/rgb/default.nix diff --git a/home/_mixins/services/keybase-gui.nix b/home-manager/_mixins/services/keybase-gui.nix similarity index 100% rename from home/_mixins/services/keybase-gui.nix rename to home-manager/_mixins/services/keybase-gui.nix diff --git a/home/_mixins/services/keybase.nix b/home-manager/_mixins/services/keybase.nix similarity index 100% rename from home/_mixins/services/keybase.nix rename to home-manager/_mixins/services/keybase.nix diff --git a/home/_mixins/services/syncthing-tray.nix b/home-manager/_mixins/services/syncthing-tray.nix similarity index 100% rename from home/_mixins/services/syncthing-tray.nix rename to home-manager/_mixins/services/syncthing-tray.nix diff --git a/home/_mixins/services/syncthing.nix b/home-manager/_mixins/services/syncthing.nix similarity index 100% rename from home/_mixins/services/syncthing.nix rename to home-manager/_mixins/services/syncthing.nix diff --git a/home/gburd/.gitconfig b/home-manager/_mixins/users/gburd/.gitconfig similarity index 100% rename from home/gburd/.gitconfig rename to home-manager/_mixins/users/gburd/.gitconfig diff --git a/home/gburd/floki.nix b/home-manager/_mixins/users/gburd/default.nix similarity index 89% rename from home/gburd/floki.nix rename to home-manager/_mixins/users/gburd/default.nix index 9921dd5..316a127 100644 --- a/home/gburd/floki.nix +++ b/home-manager/_mixins/users/gburd/default.nix @@ -1,17 +1,30 @@ -{ config, pkgs, username, desktop, ... }: -{ +{ config, pkgs, username, ... }: { imports = [ - ../_mixins/services/keybase.nix - - # TODO remove/migrate away from user mixins - ./_mixins - ./_mixins/desktop/gnome - ./_mixins/productivity - ./_mixins/pass - ./_mixins/games + inputs.impermanence.nixosModules.home-manager.impermanence + ../../services/keybase.nix + ../../pass + ../../cli + ../../nvim + # TODO: + # ../../productivity + # ../../games ]; home = { + + persistence = { + "/persist/home/gburd" = { + directories = [ + "Documents" + "Downloads" + "Pictures" + "Videos" + ".local/bin" + ]; + allowOther = true; + }; + }; + file.".face".source = ./face.png; file.".ssh/config".text = '' @@ -176,11 +189,11 @@ systemd.user.tmpfiles.rules = [ "d ${config.home.homeDirectory}/ws 0755 ${username} users - -" "d ${config.home.homeDirectory}/Dropbox 0755 ${username} users - -" -# "d ${config.home.homeDirectory}/Quickemu/nixos-console 0755 ${username} users - -" -# "d ${config.home.homeDirectory}/Quickemu/nixos-desktop 0755 ${username} users - -" + # "d ${config.home.homeDirectory}/Quickemu/nixos-console 0755 ${username} users - -" + # "d ${config.home.homeDirectory}/Quickemu/nixos-desktop 0755 ${username} users - -" "d ${config.home.homeDirectory}/bin 0755 ${username} users - -" "d ${config.home.homeDirectory}/Studio/OBS/config/obs-studio/ 0755 ${username} users - -" -# "d ${config.home.homeDirectory}/Syncthing 0755 ${username} users - -" + # "d ${config.home.homeDirectory}/Syncthing 0755 ${username} users - -" "d ${config.home.homeDirectory}/Websites 0755 ${username} users - -" "L+ ${config.home.homeDirectory}/.config/obs-studio/ - - - - ${config.home.homeDirectory}/Studio/OBS/config/obs-studio/" ]; diff --git a/home/gburd/desktop.nix b/home-manager/_mixins/users/gburd/desktop.nix similarity index 100% rename from home/gburd/desktop.nix rename to home-manager/_mixins/users/gburd/desktop.nix diff --git a/home/gburd/face.png b/home-manager/_mixins/users/gburd/face.png similarity index 100% rename from home/gburd/face.png rename to home-manager/_mixins/users/gburd/face.png diff --git a/home-manager/_mixins/users/gburd/hosts/floki.nix b/home-manager/_mixins/users/gburd/hosts/floki.nix new file mode 100644 index 0000000..a658311 --- /dev/null +++ b/home-manager/_mixins/users/gburd/hosts/floki.nix @@ -0,0 +1,8 @@ +{ lib, ... }: +with lib.hm.gvariant; +{ + imports = [ + ../../../desktop/vorta.nix + ]; + dconf.settings = { }; +} diff --git a/home/gburd/pgp.asc b/home-manager/_mixins/users/gburd/pgp.asc similarity index 100% rename from home/gburd/pgp.asc rename to home-manager/_mixins/users/gburd/pgp.asc diff --git a/home/gburd/ssh.pub b/home-manager/_mixins/users/gburd/ssh.pub similarity index 100% rename from home/gburd/ssh.pub rename to home-manager/_mixins/users/gburd/ssh.pub diff --git a/home/gburd/symas-ssh.pub b/home-manager/_mixins/users/gburd/symas-ssh.pub similarity index 100% rename from home/gburd/symas-ssh.pub rename to home-manager/_mixins/users/gburd/symas-ssh.pub diff --git a/home-manager/default.nix b/home-manager/default.nix new file mode 100644 index 0000000..b36dda1 --- /dev/null +++ b/home-manager/default.nix @@ -0,0 +1,78 @@ +{ config, desktop, hostname, inputs, lib, outputs, pkgs, stateVersion, username, ... }: +let + inherit (pkgs.stdenv) isDarwin; +in +{ + # Only import desktop configuration if the host is desktop enabled + # Only import user specific configuration if they have bespoke settings + imports = [ + # If you want to use modules your own flake exports (from modules/home-manager): + # outputs.homeManagerModules.example + + # Or modules exported from other flakes (such as nix-colors): + # inputs.nix-colors.homeManagerModules.default + + # You can also split up your configuration and import pieces of it here: + ./_mixins/console + ] + ++ lib.optional (builtins.isPath (./. + "/_mixins/users/${username}")) ./_mixins/users/${username} + ++ lib.optional (builtins.pathExists (./. + "/_mixins/users/${username}/hosts/${hostname}.nix")) ./_mixins/users/${username}/hosts/${hostname}.nix + ++ lib.optional (desktop != null) ./_mixins/desktop; + + home = { + activation.report-changes = config.lib.dag.entryAnywhere '' + ${pkgs.nvd}/bin/nvd diff $oldGenPath $newGenPath + ''; + homeDirectory = if isDarwin then "/Users/${username}" else "/home/${username}"; + sessionPath = [ "$HOME/.local/bin" ]; + sessionVariables = { + FLAKE = "$HOME/ws/nix-config"; + }; + inherit stateVersion; + inherit username; + }; + + nixpkgs = { + # You can add overlays here + overlays = [ + # Add overlays your own flake exports (from overlays and pkgs dir): + outputs.overlays.additions + outputs.overlays.modifications + outputs.overlays.unstable-packages + + # You can also add overlays exported from other flakes: + inputs.agenix.overlays.default + + # Or define it inline, for example: + # (final: prev: { + # hi = final.hello.overrideAttrs (oldAttrs: { + # patches = [ ./change-hello-to-hi.patch ]; + # }); + # }) + ]; + # Configure your nixpkgs instance + config = { + # Disable if you don't want unfree packages + allowUnfree = true; + # Workaround for https://github.com/nix-community/home-manager/issues/2942 + allowUnfreePredicate = _: true; + }; + }; + + nix = { + # This will add each flake input as a registry + # To make nix3 commands consistent with your flake + registry = lib.mapAttrs (_: value: { flake = value; }) inputs; + + package = pkgs.unstable.nix; + settings = { + auto-optimise-store = true; + experimental-features = [ "nix-command" "flakes" ]; + # Avoid unwanted garbage collection when using nix-direnv + keep-outputs = true; + keep-derivations = true; + warn-dirty = false; + }; + }; +} + diff --git a/home/nixos/default.nix b/home-manager/nixos/default.nix similarity index 100% rename from home/nixos/default.nix rename to home-manager/nixos/default.nix diff --git a/home/nixos/face.png b/home-manager/nixos/face.png similarity index 100% rename from home/nixos/face.png rename to home-manager/nixos/face.png diff --git a/home/gburd/_mixins/cli/starship.nix b/home/gburd/_mixins/cli/starship.nix deleted file mode 100644 index 1002001..0000000 --- a/home/gburd/_mixins/cli/starship.nix +++ /dev/null @@ -1,125 +0,0 @@ -{ pkgs, lib, ... }: -{ - programs.starship = { - enable = true; - settings = { - format = - let - git = "$git_branch$git_commit$git_state$git_status"; - cloud = "$aws$gcloud$openstack"; - in - '' - $username$hostname($shlvl)($cmd_duration) $fill ($nix_shell)$custom - $directory(${git})(- ${cloud}) $fill $time - $jobs$character - ''; - - fill = { - symbol = " "; - disabled = false; - }; - - # Core - username = { - format = "[$user]($style)"; - show_always = true; - }; - hostname = { - format = "[@$hostname]($style) "; - ssh_only = false; - style = "bold green"; - }; - shlvl = { - format = "[$shlvl]($style) "; - style = "bold cyan"; - threshold = 2; - repeat = true; - disabled = false; - }; - cmd_duration = { - format = "took [$duration]($style) "; - }; - - directory = { - format = "[$path]($style)( [$read_only]($read_only_style)) "; - }; - nix_shell = { - format = "[($name \\(develop\\) <- )$symbol]($style) "; - impure_msg = ""; - symbol = " "; - style = "bold red"; - }; - custom = { - nix_inspect = - let - excluded = [ - "kitty" - "imagemagick" - "ncurses" - "user-environment" - "pciutils" - "binutils-wrapper" - ]; - in - { - disabled = false; - when = "test -z $IN_NIX_SHELL"; - command = "${(lib.getExe pkgs.nix-inspect)} ${(lib.concatStringsSep " " excluded)}"; - format = "[($output <- )$symbol]($style) "; - symbol = " "; - style = "bold blue"; - }; - }; - - character = { - error_symbol = "[~~>](bold red)"; - success_symbol = "[->>](bold green)"; - vimcmd_symbol = "[<<-](bold yellow)"; - vimcmd_visual_symbol = "[<<-](bold cyan)"; - vimcmd_replace_symbol = "[<<-](bold purple)"; - vimcmd_replace_one_symbol = "[<<-](bold purple)"; - }; - - time = { - format = "\\\[[$time]($style)\\\]"; - disabled = false; - }; - - # Cloud - gcloud = { - format = "on [$symbol$active(/$project)(\\($region\\))]($style)"; - }; - aws = { - format = "on [$symbol$profile(\\($region\\))]($style)"; - }; - - # Icon changes only \/ - aws.symbol = " "; - conda.symbol = " "; - dart.symbol = " "; - directory.read_only = " "; - docker_context.symbol = " "; - elixir.symbol = " "; - elm.symbol = " "; - gcloud.symbol = " "; - git_branch.symbol = " "; - golang.symbol = " "; - hg_branch.symbol = " "; - java.symbol = " "; - julia.symbol = " "; - memory_usage.symbol = "󰍛 "; - nim.symbol = "󰆥 "; - nodejs.symbol = " "; - package.symbol = "󰏗 "; - perl.symbol = " "; - php.symbol = " "; - python.symbol = " "; - ruby.symbol = " "; - rust.symbol = " "; - scala.symbol = " "; - shlvl.symbol = ""; - swift.symbol = "󰛥 "; - terraform.symbol = "󱁢"; - }; - }; -} diff --git a/lib/helpers.nix b/lib/helpers.nix index 32fb62a..00b8b00 100644 --- a/lib/helpers.nix +++ b/lib/helpers.nix @@ -5,7 +5,7 @@ extraSpecialArgs = { inherit inputs outputs desktop hostname platform username stateVersion; }; - modules = [ ../home/${username}/${hostname}.nix ]; + modules = [ ../home-manager ]; }; # Helper function for generating host configs @@ -14,7 +14,7 @@ inherit inputs outputs desktop hostname username stateVersion; }; modules = [ - ../nixos/${hostname} + ../nixos inputs.agenix.nixosModules.default ] ++ (inputs.nixpkgs.lib.optionals (installer != null) [ installer ]); }; diff --git a/nixos/_mixins/optional/btrfs.nix b/nixos/_mixins/filesystems/btrfs.nix similarity index 100% rename from nixos/_mixins/optional/btrfs.nix rename to nixos/_mixins/filesystems/btrfs.nix diff --git a/nixos/_mixins/optional/encrypted-root.nix b/nixos/_mixins/filesystems/encrypted-root.nix similarity index 100% rename from nixos/_mixins/optional/encrypted-root.nix rename to nixos/_mixins/filesystems/encrypted-root.nix diff --git a/nixos/_mixins/global/optin-persistence.nix b/nixos/_mixins/optin-persistence.nix similarity index 100% rename from nixos/_mixins/global/optin-persistence.nix rename to nixos/_mixins/optin-persistence.nix diff --git a/nixos/_mixins/services/firewall.nix b/nixos/_mixins/services/firewall.nix index 79f2752..46027b3 100644 --- a/nixos/_mixins/services/firewall.nix +++ b/nixos/_mixins/services/firewall.nix @@ -3,16 +3,7 @@ let # Firewall configuration variable for syncthing syncthing = { hosts = [ - "designare" - "micropc" - "p1" - "p2-max" - "ripper" - "trooper" - "vm" - "win2" - "win-max" - "zed" + "floki" ]; tcpPorts = [ 22000 ]; udpPorts = [ 22000 21027 ]; diff --git a/nixos/_mixins/services/kmscon.nix b/nixos/_mixins/services/kmscon.nix index 570d9a9..7b07fd3 100644 --- a/nixos/_mixins/services/kmscon.nix +++ b/nixos/_mixins/services/kmscon.nix @@ -9,7 +9,7 @@ }]; extraConfig = '' font-size=14 - xkb-layout=gb + xkb-layout=us ''; }; }; diff --git a/nixos/_mixins/services/openssh.nix b/nixos/_mixins/services/openssh.nix index 615dd08..61d36ef 100644 --- a/nixos/_mixins/services/openssh.nix +++ b/nixos/_mixins/services/openssh.nix @@ -1,22 +1,54 @@ -{ lib, ... }: { +{ outputs, lib, config, ... }: +let + hosts = outputs.nixosConfigurations; + pubKey = host: ../../${host}/ssh_host_ed25519_key.pub; + + # Sops needs acess to the keys before the persist dirs are even mounted; so + # just persisting the keys won't work, we must point at /persist + hasOptinPersistence = config.environment.persistence ? "/persist"; +in +{ services = { openssh = { enable = true; settings = { + # Harden PasswordAuthentication = false; PermitRootLogin = lib.mkDefault "no"; + # Automatically remove stale sockets + StreamLocalBindUnlink = "yes"; + # Allow forwarding ports to everywhere + GatewayPorts = "clientspecified"; }; + hostKeys = [{ + path = "${lib.optionalString hasOptinPersistence "/persist"}/etc/ssh/ssh_host_ed25519_key"; + type = "ed25519"; + }]; }; sshguard = { enable = true; whitelist = [ - "192.168.2.0/24" - "192.168.192.0/24" - "62.31.16.154" - "80.209.186.67" + # TODO + "192.168.7.0/24" ]; }; }; - programs.ssh.startAgent = true; + + programs.ssh = { + # Each hosts public key + knownHosts = builtins.mapAttrs + (name: _: { + publicKeyFile = pubKey name; + # extraHostNames = + # (lib.optional (name == hostName) "localhost") ++ # Alias for localhost if it's the same host + # (lib.optionals (name == gitHost) [ "burd.me" "git.burd.me" ]); + }) + hosts; + startAgent = true; + }; + networking.firewall.allowedTCPPorts = [ 22 ]; + + # Passwordless sudo when SSH'ing with keys + security.pam.enableSSHAgentAuth = true; } diff --git a/nixos/_mixins/global/sops.nix b/nixos/_mixins/sops.nix similarity index 100% rename from nixos/_mixins/global/sops.nix rename to nixos/_mixins/sops.nix diff --git a/nixos/_mixins/users/gburd/default.nix b/nixos/_mixins/users/gburd/default.nix index b4cfd15..fe933bd 100644 --- a/nixos/_mixins/users/gburd/default.nix +++ b/nixos/_mixins/users/gburd/default.nix @@ -74,12 +74,14 @@ in "wireshark" ]; - hashedPasswordFile = config.sops.secrets.gburd-password.path; homeMode = "0755"; isNormalUser = true; + # TODO + hashedPassword = "$6$RDOZHdTwt.BuOR4C$fYDkyb3yppbgX0ewPbsKabS2u9W.wyrRJONQPtugrO/gBJCzsWkfVIVYOAj07Qar1yqeYJBlBkYSFAgGe5ssw."; + #hashedPasswordFile = config.sops.secrets.gburd-password.path; openssh.authorizedKeys.keys = [ - (builtins.readFile ../../../../home/gburd/ssh.pub) - (builtins.readFile ../../../../home/gburd/symas-ssh.pub) + (builtins.readFile ../../../../home-manager/_mixins/users/gburd/ssh.pub) + (builtins.readFile ../../../../home-manager/_mixins/users/gburd/symas-ssh.pub) ]; packages = [ pkgs.home-manager ]; shell = pkgs.fish; @@ -90,7 +92,5 @@ in neededForUsers = true; }; - home-manager.users.gburd = import ../../../../home/gburd/${config.networking.hostName}.nix; - services.geoclue2.enable = true; } diff --git a/nixos/_mixins/users/root/default.nix b/nixos/_mixins/users/root/default.nix index 9b53f33..3588718 100644 --- a/nixos/_mixins/users/root/default.nix +++ b/nixos/_mixins/users/root/default.nix @@ -2,6 +2,6 @@ _: { users.users.root = { hashedPassword = null; - openssh.authorizedKeys.keys = [ (builtins.readFile ../../../home/gburd/ssh.pub) ]; + openssh.authorizedKeys.keys = [ (builtins.readFile ../../../../home-manager/_mixins/users/gburd/ssh.pub) ]; }; } diff --git a/nixos/default.nix b/nixos/default.nix new file mode 100644 index 0000000..809a22f --- /dev/null +++ b/nixos/default.nix @@ -0,0 +1,309 @@ +{ config, desktop, hostname, inputs, lib, modulesPath, outputs, pkgs, stateVersion, username, ... }: +let + # Only enable auto upgrade if current config came from a clean tree + # This avoids accidental auto-upgrades when working locally. + isClean = inputs.self ? rev; +in +{ + imports = [ + inputs.disko.nixosModules.disko + (modulesPath + "/installer/scan/not-detected.nix") + ./${hostname} + ./_mixins/sops.nix + ./_mixins/optin-persistence.nix + ./_mixins/services/firewall.nix + ./_mixins/services/kmscon.nix + ./_mixins/services/openssh.nix + ./_mixins/services/smartmon.nix + ./_mixins/users/root + ] + ++ lib.optional (builtins.pathExists (./. + "/_mixins/users/${username}")) ./_mixins/users/${username} + ++ lib.optional (desktop != null) ./_mixins/desktop; + + boot = { + consoleLogLevel = 0; + initrd.verbose = false; + kernelModules = [ "vhost_vsock" ]; + kernelParams = [ + "boot.shell_on_fail" + "loglevel=3" + "rd.systemd.show_status=false" + "rd.udev.log_level=3" + "udev.log_priority=3" + ]; + kernel.sysctl = { + "net.ipv4.ip_forward" = 1; + "net.ipv6.conf.all.forwarding" = 1; + }; + }; + + console = { + font = "${pkgs.tamzen}/share/consolefonts/TamzenForPowerline10x20.psf"; + keyMap = "us"; + packages = with pkgs; [ tamzen ]; + }; + + i18n = { + defaultLocale = lib.mkDefault "en_US.UTF-8"; + extraLocaleSettings = { + LC_ADDRESS = "en_US.UTF-8"; + LC_IDENTIFICATION = "en_US.UTF-8"; + LC_MEASUREMENT = "en_US.UTF-8"; + LC_MONETARY = "en_US.UTF-8"; + LC_NAME = "en_US.UTF-8"; + LC_NUMERIC = "en_US.UTF-8"; + LC_PAPER = "en_US.UTF-8"; + LC_TELEPHONE = "en_US.UTF-8"; + LC_TIME = "en_US.UTF-8"; + }; + supportedLocales = lib.mkDefault [ + "en_US.UTF-8/UTF-8" + ]; + }; + time.timeZone = lib.mkDefault "America/New_York"; + services.xserver.layout = "us"; + + # Increase open file limit for sudoers + security.pam.loginLimits = [ + { + domain = "@wheel"; + item = "nofile"; + type = "soft"; + value = "524288"; + } + { + domain = "@wheel"; + item = "nofile"; + type = "hard"; + value = "1048576"; + } + ]; + + # Only install the docs I use + documentation.enable = true; + documentation.nixos.enable = false; + documentation.man.enable = true; + documentation.info.enable = false; + documentation.doc.enable = false; + + environment = { + # Eject nano and perl from the system + defaultPackages = with pkgs; lib.mkForce [ + gitMinimal + home-manager + micro + rsync + ]; + systemPackages = with pkgs; [ + agenix + pciutils + psmisc + unzip + usbutils + wget + ]; + variables = { + EDITOR = "vi"; + SYSTEMD_EDITOR = "vi"; + VISUAL = "vi"; + }; + enableAllTerminfo = true; + }; + + fonts = { + fontDir.enable = true; + fonts = with pkgs; [ + (nerdfonts.override { fonts = [ "FiraCode" "SourceCodePro" "UbuntuMono" ]; }) + fira + fira-go + joypixels + liberation_ttf + noto-fonts-emoji + source-serif + ubuntu_font_family + work-sans + ]; + + # Enable a basic set of fonts providing several font styles and families and reasonable coverage of Unicode. + enableDefaultFonts = false; + + fontconfig = { + antialias = true; + defaultFonts = { + serif = [ "Source Serif" ]; + sansSerif = [ "Work Sans" "Fira Sans" "FiraGO" ]; + monospace = [ "FiraCode Nerd Font Mono" "SauceCodePro Nerd Font Mono" ]; + emoji = [ "Joypixels" "Noto Color Emoji" ]; + }; + enable = true; + hinting = { + autohint = false; + enable = true; + style = "hintslight"; + }; + subpixel = { + rgba = "rgb"; + lcdfilter = "light"; + }; + }; + }; + + # Use passed hostname to configure basic networking + networking = { + extraHosts = '' + 192.168.7.1 router eero + ''; + hostName = hostname; + domain = "burd.me"; + useDHCP = lib.mkDefault true; + }; + + hardware.enableRedistributableFirmware = true; + + nixpkgs = { + # You can add overlays here + overlays = [ + # Add overlays your own flake exports (from overlays and pkgs dir): + outputs.overlays.additions + outputs.overlays.modifications + outputs.overlays.unstable-packages + + # You can also add overlays exported from other flakes: + inputs.agenix.overlays.default + + # Or define it inline, for example: + # (final: prev: { + # hi = final.hello.overrideAttrs (oldAttrs: { + # patches = [ ./change-hello-to-hi.patch ]; + # }); + # }) + ]; + # Configure your nixpkgs instance + config = { + # Disable if you don't want unfree packages + allowUnfree = true; + # Accept the joypixels license + joypixels.acceptLicense = true; + }; + }; + + nix = { + gc = { + automatic = true; + options = "--delete-older-than 10d"; + }; + + # This will add each flake input as a registry + # To make nix3 commands consistent with your flake + registry = lib.mapAttrs (_: value: { flake = value; }) inputs; + + # This will additionally add your inputs to the system's legacy channels + # Making legacy nix commands consistent as well, awesome! + nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}") config.nix.registry; + + optimise.automatic = true; + package = pkgs.unstable.nix; + settings = { + trusted-users = [ "root" "@wheel" ]; + auto-optimise-store = true; + experimental-features = [ "nix-command" "flakes" ]; + system-features = [ "kvm" "big-parallel" "nixos-test" ]; + + # Avoid unwanted garbage collection when using nix-direnv + keep-outputs = true; + keep-derivations = true; + + warn-dirty = false; + }; + }; + + programs = { + command-not-found.enable = false; + fish = { + enable = true; + interactiveShellInit = '' + set fish_cursor_default block blink + set fish_cursor_insert line blink + set fish_cursor_replace_one underscore blink + set fish_cursor_visual block + set -U fish_color_autosuggestion brblack + set -U fish_color_cancel -r + set -U fish_color_command green + set -U fish_color_comment brblack + set -U fish_color_cwd brgreen + set -U fish_color_cwd_root brred + set -U fish_color_end brmagenta + set -U fish_color_error red + set -U fish_color_escape brcyan + set -U fish_color_history_current --bold + set -U fish_color_host normal + set -U fish_color_match --background=brblue + set -U fish_color_normal normal + set -U fish_color_operator cyan + set -U fish_color_param blue + set -U fish_color_quote yellow + set -U fish_color_redirection magenta + set -U fish_color_search_match bryellow '--background=brblack' + set -U fish_color_selection white --bold '--background=brblack' + set -U fish_color_status red + set -U fish_color_user brwhite + set -U fish_color_valid_path --underline + set -U fish_pager_color_completion normal + set -U fish_pager_color_description yellow + set -U fish_pager_color_prefix white --bold --underline + set -U fish_pager_color_progress brwhite '--background=cyan' + ''; + shellAbbrs = { + nix-gc = "sudo nix-collect-garbage --delete-older-than 10d && nix-collect-garbage --delete-older-than 10d"; + rebuild-all = "sudo nixos-rebuild switch --flake $HOME/ws/nix-config && home-manager switch -b backup --flake $HOME/ws/nix-config"; + rebuild-home = "home-manager switch -b backup --flake $HOME/ws/nix-config"; + rebuild-host = "sudo nixos-rebuild switch --flake $HOME/ws/nix-config"; + rebuild-lock = "pushd $HOME/ws/nix-config && nix flake update && popd"; + rebuild-iso-console = "sudo true && pushd $HOME/ws/nix-config && nix build .#nixosConfigurations.iso-console.config.system.build.isoImage && set ISO (head -n1 result/nix-support/hydra-build-products | cut -d'/' -f6) && sudo cp result/iso/$ISO ~/Quickemu/nixos-console/nixos.iso && popd"; + rebuild-iso-desktop = "sudo true && pushd $HOME/ws/nix-config && nix build .#nixosConfigurations.iso-desktop.config.system.build.isoImage && set ISO (head -n1 result/nix-support/hydra-build-products | cut -d'/' -f6) && sudo cp result/iso/$ISO ~/Quickemu/nixos-desktop/nixos.iso && popd"; + rebuild-iso-gpd-edp = "sudo true && pushd $HOME/ws/nix-config && nix build .#nixosConfigurations.iso-gpd-edp.config.system.build.isoImage && set ISO (head -n1 result/nix-support/hydra-build-products | cut -d'/' -f6) && sudo cp result/iso/$ISO ~/Quickemu/nixos-gpd-edp.iso && popd"; + rebuild-iso-gpd-dsi = "sudo true && pushd $HOME/ws/nix-config && nix build .#nixosConfigurations.iso-gpd-dsi.config.system.build.isoImage && set ISO (head -n1 result/nix-support/hydra-build-products | cut -d'/' -f6) && sudo cp result/iso/$ISO ~/Quickemu/nixos-gpd-dsi.iso && popd"; + }; + shellAliases = { + nano = "micro"; + }; + }; + }; + + services.fwupd.enable = true; + + systemd.tmpfiles.rules = [ + "d /nix/var/nix/profiles/per-user/${username} 0755 ${username} root" + "d /mnt/snapshot/${username} 0755 ${username} users" + ]; + + system.activationScripts.diff = { + supportsDryActivation = true; + text = '' + ${pkgs.nvd}/bin/nvd --nix-bin-dir=${pkgs.nix}/bin diff /run/current-system "$systemConfig" + ''; + }; + + system.autoUpgrade = { + enable = isClean; + dates = "hourly"; + flags = [ + "--refresh" + ]; + flake = "git://github.com/gburd/nix-config?ref=release-${hostname}"; + }; + + # Only run if current config (self) is older than the new one. + systemd.services.nixos-upgrade = lib.mkIf config.system.autoUpgrade.enable { + serviceConfig.ExecCondition = lib.getExe ( + pkgs.writeShellScriptBin "check-date" '' + lastModified() { + nix flake metadata "$1" --refresh --json | ${lib.getExe pkgs.jq} '.lastModified' + } + test "$(lastModified "${config.system.autoUpgrade.flake}")" -gt "$(lastModified "self")" + '' + ); + }; + + system.stateVersion = stateVersion; +} diff --git a/nixos/floki/default.nix b/nixos/floki/default.nix index 68d00a7..ef30d03 100644 --- a/nixos/floki/default.nix +++ b/nixos/floki/default.nix @@ -1,18 +1,21 @@ { inputs, lib, pkgs, ... }: { imports = [ - inputs.nixos-hardware.nixosModules.common-cpu-amd - inputs.nixos-hardware.nixosModules.common-gpu-amd + inputs.nixos-hardware.nixosModules.common-cpu-intel + #inputs.nixos-hardware.nixosModules.common-gpu-nvidia + inputs.nixos-hardware.nixosModules.common-pc inputs.nixos-hardware.nixosModules.common-pc-ssd #(import ./disks.nix { }) ../_mixins/hardware/systemd-boot.nix + ../_mixins/filesystems/encrypted-root.nix + ../_mixins/filesystems/btrfs.nix ../_mixins/services/bluetooth.nix ../_mixins/services/pipewire.nix # ../_mixins/services/zerotier.nix ../_mixins/virt - ../_mixins/global - ../_mixins/users/gburd + # ../_mixins/global + # ../_mixins/users/gburd ]; fileSystems."/swap" = @@ -57,7 +60,7 @@ luks.devices."enc".device = "/dev/disk/by-uuid/470152b6-16cc-4dcf-b1e9-c684c1589e33"; }; - kernelModules = [ "kvm-intel" ]; + kernelModules = [ "kvm-intel" ]; # TODO: "nvidia" kernelPackages = pkgs.linuxPackages_latest; }; diff --git a/overlays/default.nix b/overlays/default.nix index b5a0f8f..66f65b6 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -1,76 +1,24 @@ +# This file defines overlays { inputs, ... }: -let - addPatches = pkg: patches: pkg.overrideAttrs (oldAttrs: { - patches = (oldAttrs.patches or [ ]) ++ patches; - }); -in { - # For every flake input, aliases 'pkgs.inputs.${flake}' to - # 'inputs.${flake}.packages.${pkgs.system}' or - # 'inputs.${flake}.legacyPackages.${pkgs.system}' - flake-inputs = final: _: { - inputs = builtins.mapAttrs - (_: flake: - let - legacyPackages = (flake.legacyPackages or { }).${final.system} or { }; - packages = (flake.packages or { }).${final.system} or { }; - in - if legacyPackages != { } then legacyPackages else packages - ) - inputs; - }; + # This one brings our custom packages from the 'pkgs' directory + additions = final: _prev: import ../pkgs { pkgs = final; }; - # Adds my custom packages - additions = final: prev: import ../pkgs { pkgs = final; } // { - formats = prev.formats // import ../pkgs/formats { pkgs = final; }; - vimPlugins = prev.vimPlugins // final.callPackage ../pkgs/vim-plugins { }; - }; - - # Modifies existing packages - modifications = final: prev: { - vimPlugins = prev.vimPlugins // { - vim-numbertoggle = addPatches prev.vimPlugins.vim-numbertoggle [ ./vim-numbertoggle-command-mode.patch ]; - }; - - passExtensions = prev.passExtensions // { - # https://github.com/tadfisher/pass-otp/pull/173 - pass-otp = addPatches prev.passExtensions.pass-otp [ ./pass-otp-fix-completion.patch ]; - }; - - # https://github.com/mdellweg/pass_secret_service/pull/37 - pass-secret-service = addPatches prev.pass-secret-service [ ./pass-secret-service-native.diff ]; - - # https://github.com/NixOS/nix/issues/5567#issuecomment-1193259926 - # nix = addPatches prev.nix [ ./nix-make-installables-expr-context.patch ]; - - # xdg-utils-spawn-terminal = addPatches prev.xdg-utils [ ./xdg-open-spawn-terminal.diff ]; - xdg-utils-spawn-terminal = prev.xdg-utils; - - pfetch = prev.pfetch.overrideAttrs (oldAttrs: { - version = "unstable-2021-12-10"; - src = final.fetchFromGitHub { - owner = "dylanaraps"; - repo = "pfetch"; - rev = "a906ff89680c78cec9785f3ff49ca8b272a0f96b"; - sha256 = "sha256-9n5w93PnSxF53V12iRqLyj0hCrJ3jRibkw8VK3tFDvo="; - }; - # Add term option, rename de to desktop, add scheme option - patches = (oldAttrs.patches or [ ]) ++ [ ./pfetch.patch ]; - }); - - qutebrowser = prev.qutebrowser.overrideAttrs (oldAttrs: { - patches = (oldAttrs.patches or [ ]) ++ [ ./qutebrowser-tree-tabs.diff ]; - }); - - # scgit = prev.cgit-pink.overrideAttrs (_: { - # pname = "scgit"; - # version = "0.1"; - # src = final.fetchFromSourcehut { - # owner = "~misterio"; - # repo = "scgit"; - # rev = "2cd05c95827fb94740e876733dc6f7fe88340de2"; - # sha256 = "sha256-95mRJ3ZCSkLHqehFQdwM2BY0h+YDhohwpnRiF6/lZtA="; - # }; + # This one contains whatever you want to overlay + # You can change versions, add patches, set compilation flags, anything really. + # https://nixos.wiki/wiki/Overlays + modifications = _final: _prev: { + # example = prev.example.overrideAttrs (oldAttrs: rec { + # ... # }); }; + + # When applied, the unstable nixpkgs set (declared in the flake inputs) will + # be accessible through 'pkgs.unstable' + unstable-packages = final: _prev: { + unstable = import inputs.nixpkgs-unstable { + inherit (final) system; + config.allowUnfree = true; + }; + }; } diff --git a/shell.nix b/shell.nix index bb0ef53..0cba467 100644 --- a/shell.nix +++ b/shell.nix @@ -8,6 +8,7 @@ vim emacs tig + tree ripgrep sops diff --git a/templates/c/.editorconfig b/templates/c/.editorconfig deleted file mode 100644 index f267605..0000000 --- a/templates/c/.editorconfig +++ /dev/null @@ -1,15 +0,0 @@ -root = true - -[*] -charset = utf-8 -end_of_line = lf -insert_final_newline = true -trim_trailing_whitespace = true - -[*.c] -ident_style = space -ident_size = 4 - -[Makefile*] -ident_style = tab -ident_size = 4 diff --git a/templates/c/.gitignore b/templates/c/.gitignore deleted file mode 100644 index 0cb5ffb..0000000 --- a/templates/c/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -# Nix build -result -# make build -build diff --git a/templates/c/Makefile b/templates/c/Makefile deleted file mode 100644 index 61744b5..0000000 --- a/templates/c/Makefile +++ /dev/null @@ -1,42 +0,0 @@ -PREFIX ?= /usr/local -BIN_DIR ?= $(PREFIX)/bin - - -TARGET_EXEC ?= foo-bar -BUILD_DIR ?= ./build -SRC_DIRS ?= ./src - -SRCS := $(shell find $(SRC_DIRS) -name *.cpp -or -name *.c) -OBJS := $(SRCS:%=$(BUILD_DIR)/%.o) -DEPS := $(OBJS:.o=.d) - -INC_DIRS := $(shell find $(SRC_DIRS) -type d) -INC_FLAGS := $(addprefix -I,$(INC_DIRS)) - -CPPFLAGS ?= $(INC_FLAGS) -MMD -MP - -$(BUILD_DIR)/$(TARGET_EXEC): $(OBJS) - $(CXX) $(OBJS) -o $@ $(LDFLAGS) - -# c source -$(BUILD_DIR)/%.c.o: %.c - mkdir -p $(dir $@) - $(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@ - -# c++ source -$(BUILD_DIR)/%.cpp.o: %.cpp - mkdir -p $(dir $@) - $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $< -o $@ - -.PHONY: clean install run - -clean: - rm -r $(BUILD_DIR) - -install: $(BUILD_DIR)/$(TARGET_EXEC) - install -Dt $(BIN_DIR) $< - -run: $(BUILD_DIR)/$(TARGET_EXEC) - ./$< - --include $(DEPS) diff --git a/templates/c/default.nix b/templates/c/default.nix deleted file mode 100644 index 677bb4e..0000000 --- a/templates/c/default.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ clangStdenv }: - -clangStdenv.mkDerivation { - pname = "foo-bar"; - version = "0.1.0"; - - src = ./.; - makeFlags = [ "PREFIX=$(out)" ]; -} diff --git a/templates/c/flake.nix b/templates/c/flake.nix deleted file mode 100644 index 7f953e8..0000000 --- a/templates/c/flake.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ - description = "Foo Bar C/C++ Project"; - - nixConfig = { - extra-substituters = [ "https://cache.m7.rs" ]; - extra-trusted-public-keys = [ "cache.m7.rs:kszZ/NSwE/TjhOcPPQ16IuUiuRSisdiIwhKZCxguaWg=" ]; - }; - - inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11"; - }; - - outputs = { nixpkgs }: - let - forAllSystems = nixpkgs.lib.genAttrs [ "x86_64-linux" "aarch64-linux" ]; - pkgsFor = nixpkgs.legacyPackages; - in - rec { - packages = forAllSystems (system: { - default = pkgsFor.${system}.callPackage ./default.nix { }; - }); - - devShells = forAllSystems (system: { - default = pkgsFor.${system}.callPackage ./shell.nix { }; - }); - - hydraJobs = packages; - }; -} - diff --git a/templates/c/shell.nix b/templates/c/shell.nix deleted file mode 100644 index a02f680..0000000 --- a/templates/c/shell.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ callPackage, clang-tools }: - -let - mainPkg = callPackage ./default.nix { }; -in -mainPkg.overrideAttrs (oa: { - nativeBuildInputs = [ - clang-tools - ] ++ (oa.nativeBuildInputs or [ ]); -}) diff --git a/templates/c/src/main.cpp b/templates/c/src/main.cpp deleted file mode 100644 index 027a273..0000000 --- a/templates/c/src/main.cpp +++ /dev/null @@ -1,7 +0,0 @@ -#include - -int main() { - std::cout << "Hello, World!"; - - return 0; -} diff --git a/templates/default.nix b/templates/default.nix deleted file mode 100644 index 3a5e812..0000000 --- a/templates/default.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - c.path = ./c; - rust.path = ./rust; - haskell.path = ./haskell; - node.path = ./node; -} diff --git a/templates/haskell/.gitignore b/templates/haskell/.gitignore deleted file mode 100644 index 0a66516..0000000 --- a/templates/haskell/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -# nix build -result -# cabal build -dist-newstyle -# cabal v1-build -dist diff --git a/templates/haskell/app/Main.hs b/templates/haskell/app/Main.hs deleted file mode 100644 index c88aee2..0000000 --- a/templates/haskell/app/Main.hs +++ /dev/null @@ -1,6 +0,0 @@ -module Main where - -import FooBar - -main :: IO () -main = putStrLn fooBar diff --git a/templates/haskell/default.nix b/templates/haskell/default.nix deleted file mode 100644 index 5df881b..0000000 --- a/templates/haskell/default.nix +++ /dev/null @@ -1,3 +0,0 @@ -{ haskellPackages }: - -haskellPackages.callCabal2nix "foo-bar" ./. { } diff --git a/templates/haskell/flake.nix b/templates/haskell/flake.nix deleted file mode 100644 index 58a764f..0000000 --- a/templates/haskell/flake.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ - description = "Foo Bar Haskell Project"; - - nixConfig = { - extra-substituters = [ "https://cache.m7.rs" ]; - extra-trusted-public-keys = [ "cache.m7.rs:kszZ/NSwE/TjhOcPPQ16IuUiuRSisdiIwhKZCxguaWg=" ]; - }; - - inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11"; - }; - - outputs = { nixpkgs }: - let - forAllSystems = nixpkgs.lib.genAttrs [ "x86_64-linux" "aarch64-linux" ]; - pkgsFor = nixpkgs.legacyPackages; - in - rec { - packages = forAllSystems (system: { - default = pkgsFor.${system}.callPackage ./default.nix { }; - }); - - devShells = forAllSystems (system: { - default = pkgsFor.${system}.callPackage ./shell.nix { }; - }); - - hydraJobs = packages; - }; -} - diff --git a/templates/haskell/foo-bar.cabal b/templates/haskell/foo-bar.cabal deleted file mode 100644 index 0439e9b..0000000 --- a/templates/haskell/foo-bar.cabal +++ /dev/null @@ -1,19 +0,0 @@ -cabal-version: 2.4 -name: foo-bar -version: 0.1.0 -license: MIT - -library - exposed-modules: FooBar - hs-source-dirs: src - default-language: Haskell2010 - build-depends: - base >= 4.15 - -executable foo-bar - main-is: Main.hs - hs-source-dirs: app - default-language: Haskell2010 - build-depends: - base >= 4.15, - foo-bar diff --git a/templates/haskell/shell.nix b/templates/haskell/shell.nix deleted file mode 100644 index 73ff5dc..0000000 --- a/templates/haskell/shell.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ callPackage, haskell-language-server, cabal-install }: - -let - mainPkg = callPackage ./default.nix { }; -in -mainPkg.overrideAttrs (oa: { - nativeBuildInputs = [ - cabal-install - haskell-language-server - ] ++ (oa.nativeBuildInputs or [ ]); -}) diff --git a/templates/haskell/src/FooBar.hs b/templates/haskell/src/FooBar.hs deleted file mode 100644 index 5b94b7a..0000000 --- a/templates/haskell/src/FooBar.hs +++ /dev/null @@ -1,4 +0,0 @@ -module FooBar(fooBar) where - -fooBar :: String -fooBar = "Hello, World!" diff --git a/templates/node/.gitignore b/templates/node/.gitignore deleted file mode 100644 index d539751..0000000 --- a/templates/node/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -result -build -node_modules diff --git a/templates/node/default.nix b/templates/node/default.nix deleted file mode 100644 index e1058ca..0000000 --- a/templates/node/default.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ buildNpmPackage }: - -buildNpmPackage { - pname = "foo-bar"; - version = "0.1.0"; - - src = ./.; - - npmDepsHash = "sha256-ykdiIuGYEUrWitBnV9Z89FZXpnJ3ODms9xiWOEtW+1s="; -} diff --git a/templates/node/flake.nix b/templates/node/flake.nix deleted file mode 100644 index 8e78445..0000000 --- a/templates/node/flake.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ - description = "Foo Bar NodeJS Project"; - - nixConfig = { - extra-substituters = [ "https://cache.m7.rs" ]; - extra-trusted-public-keys = [ "cache.m7.rs:kszZ/NSwE/TjhOcPPQ16IuUiuRSisdiIwhKZCxguaWg=" ]; - }; - - inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11"; - }; - - outputs = { nixpkgs }: - let - forAllSystems = nixpkgs.lib.genAttrs [ "x86_64-linux" "aarch64-linux" ]; - pkgsFor = nixpkgs.legacyPackages; - in - rec { - packages = forAllSystems (system: { - default = pkgsFor.${system}.callPackage ./default.nix { }; - }); - - devShells = forAllSystems (system: { - default = pkgsFor.${system}.callPackage ./shell.nix { }; - }); - - hydraJobs = packages; - }; -} - diff --git a/templates/node/package-lock.json b/templates/node/package-lock.json deleted file mode 100644 index ad5b58e..0000000 --- a/templates/node/package-lock.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "name": "foo-bar", - "version": "0.1.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "foo-bar", - "version": "0.1.0", - "license": "MIT", - "bin": { - "foo-bar": "build/index.js" - }, - "devDependencies": { - "@types/node": "^20.1.2", - "typescript": "^5.0.4", - "typescript-language-server": "^3.3.2" - } - }, - "node_modules/@types/node": { - "version": "20.1.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.1.2.tgz", - "integrity": "sha512-CTO/wa8x+rZU626cL2BlbCDzydgnFNgc19h4YvizpTO88MFQxab8wqisxaofQJ/9bLGugRdWIuX/TbIs6VVF6g==", - "dev": true - }, - "node_modules/typescript": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", - "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/typescript-language-server": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/typescript-language-server/-/typescript-language-server-3.3.2.tgz", - "integrity": "sha512-jzun53CIkTbpAki0nP+hk5baGW+86SNNlVhyIj2ZUy45zUkCnmoetWuAtfRRQYrlIr8x4QB3ymGJPuwDQSd/ew==", - "dev": true, - "bin": { - "typescript-language-server": "lib/cli.mjs" - }, - "engines": { - "node": ">=14.17" - } - } - } -} diff --git a/templates/node/package.json b/templates/node/package.json deleted file mode 100644 index d9473ce..0000000 --- a/templates/node/package.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "foo-bar", - "version": "0.1.0", - "description": "Foo-bar node program", - "bin": { - "foo-bar": "build/index.js" - }, - "scripts": { - "build": "tsc", - "start": "npm run build && node build/index.js" - }, - "author": "", - "license": "MIT", - "devDependencies": { - "@types/node": "^20.1.2", - "typescript": "^5.0.4", - "typescript-language-server": "^3.3.2" - } -} diff --git a/templates/node/shell.nix b/templates/node/shell.nix deleted file mode 100644 index 0a344c3..0000000 --- a/templates/node/shell.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ callPackage, writeShellScriptBin }: - -let - mainPkg = callPackage ./default.nix { }; - npxAlias = name: writeShellScriptBin name "npx ${name} \"$@\""; -in -mainPkg.overrideAttrs (oa: { - nativeBuildInputs = [ - (npxAlias "tsc") - (npxAlias "tsserver") - ] ++ (oa.nativeBuildInputs or [ ]); - - shellHook = '' - npm install - ''; -}) diff --git a/templates/node/src/index.ts b/templates/node/src/index.ts deleted file mode 100644 index 6a5ba06..0000000 --- a/templates/node/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -console.log("Hello world!") diff --git a/templates/node/tsconfig.json b/templates/node/tsconfig.json deleted file mode 100644 index b1b1c66..0000000 --- a/templates/node/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "compilerOptions": { - "target": "es2016", - "lib": ["es6"], - "module": "commonjs", - "rootDir": "src", - "resolveJsonModule": true, - "allowJs": true, - "outDir": "build", - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "strict": true, - "noImplicitAny": true, - "skipLibCheck": true - } -} diff --git a/templates/rust/.gitignore b/templates/rust/.gitignore deleted file mode 100644 index 6eeec87..0000000 --- a/templates/rust/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -build -target diff --git a/templates/rust/Cargo.lock b/templates/rust/Cargo.lock deleted file mode 100644 index 24d5244..0000000 --- a/templates/rust/Cargo.lock +++ /dev/null @@ -1,7 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "foo-bar" -version = "0.1.0" diff --git a/templates/rust/Cargo.toml b/templates/rust/Cargo.toml deleted file mode 100644 index dcec5cc..0000000 --- a/templates/rust/Cargo.toml +++ /dev/null @@ -1,5 +0,0 @@ -[package] -name = "foo-bar" -version = "0.1.0" -license = "MIT" -edition = "2021" diff --git a/templates/rust/default.nix b/templates/rust/default.nix deleted file mode 100644 index 86cdc2f..0000000 --- a/templates/rust/default.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ rustPlatform }: - -rustPlatform.buildRustPackage { - pname = "foo-bar"; - version = "0.1.0"; - - src = ./.; - cargoLock.lockFile = ./Cargo.lock; -} diff --git a/templates/rust/flake.nix b/templates/rust/flake.nix deleted file mode 100644 index fe23934..0000000 --- a/templates/rust/flake.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ - description = "Foo Bar Rust Project"; - - nixConfig = { - extra-substituters = [ "https://cache.m7.rs" ]; - extra-trusted-public-keys = [ "cache.m7.rs:kszZ/NSwE/TjhOcPPQ16IuUiuRSisdiIwhKZCxguaWg=" ]; - }; - - inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11"; - }; - - outputs = { nixpkgs }: - let - forAllSystems = nixpkgs.lib.genAttrs [ "x86_64-linux" "aarch64-linux" ]; - pkgsFor = nixpkgs.legacyPackages; - in - rec { - packages = forAllSystems (system: { - default = pkgsFor.${system}.callPackage ./default.nix { }; - }); - - devShells = forAllSystems (system: { - default = pkgsFor.${system}.callPackage ./shell.nix { }; - }); - - hydraJobs = packages; - }; -} - diff --git a/templates/rust/shell.nix b/templates/rust/shell.nix deleted file mode 100644 index de043e4..0000000 --- a/templates/rust/shell.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ callPackage, rust-analyzer, rustfmt, clippy }: - -let - mainPkg = callPackage ./default.nix { }; -in -mainPkg.overrideAttrs (oa: { - nativeBuildInputs = [ - # Additional rust tooling - rust-analyzer - rustfmt - clippy - ] ++ (oa.nativeBuildInputs or [ ]); -}) diff --git a/templates/rust/src/main.rs b/templates/rust/src/main.rs deleted file mode 100644 index e7a11a9..0000000 --- a/templates/rust/src/main.rs +++ /dev/null @@ -1,3 +0,0 @@ -fn main() { - println!("Hello, world!"); -}