summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/home/alacritty.nix67
-rw-r--r--modules/home/chrome.nix28
-rw-r--r--modules/home/default.nix26
-rw-r--r--modules/home/firefox.nix83
-rw-r--r--modules/home/git.nix7
-rw-r--r--modules/home/gtk-bookmarks.nix17
-rw-r--r--modules/home/htop.nix38
-rw-r--r--modules/home/initial-home-setup.nix22
-rw-r--r--modules/home/pcmanfm.nix6
-rw-r--r--modules/home/resources/activation-scripts/clone-repos.sh30
-rw-r--r--modules/home/resources/firefox/uiCustomization.json1
-rw-r--r--modules/home/resources/firefox/userChrome.css204
-rw-r--r--modules/home/resources/pcmanfm/root.desktop11
-rw-r--r--modules/home/theme-st.nix22
-rw-r--r--modules/home/theme.nix101
-rw-r--r--modules/home/userdirs.nix5
-rw-r--r--modules/home/wallpapers.nix14
-rw-r--r--modules/hosts/T495/configuration.nix64
-rw-r--r--modules/hosts/T495/hardware-configuration.nix49
-rw-r--r--modules/hosts/T495/home.nix19
-rw-r--r--modules/hosts/T495/resources/input-leap/input-leap.conf12
-rw-r--r--modules/hosts/T495/resources/secrets/wg0.yaml21
-rw-r--r--modules/hosts/T495/wg.nix7
-rw-r--r--modules/hosts/X230/configuration.nix30
-rw-r--r--modules/hosts/X230/hardware-configuration.nix48
-rw-r--r--modules/hosts/X230/home.nix18
-rw-r--r--modules/hosts/flex-wg-router/configuration.nix17
-rw-r--r--modules/hosts/flex-wg-router/hardware-configuration.nix45
-rw-r--r--modules/hosts/flex-wg-router/home.nix7
-rw-r--r--modules/hosts/hp-envy-office/configuration.nix52
-rw-r--r--modules/hosts/hp-envy-office/hardware-configuration.nix48
-rw-r--r--modules/hosts/hp-envy-office/home.nix12
-rw-r--r--modules/hosts/libreX60/bios-flashing.nix8
-rw-r--r--modules/hosts/libreX60/configuration.nix25
-rw-r--r--modules/hosts/libreX60/hardware-configuration.nix46
-rw-r--r--modules/hosts/libreX60/home.nix18
-rw-r--r--modules/hosts/libreX60/powertop-auto-tune.nix17
-rw-r--r--modules/hosts/optiplex/configuration.nix73
-rw-r--r--modules/hosts/optiplex/hardware-configuration.nix45
-rw-r--r--modules/hosts/optiplex/home.nix7
-rw-r--r--modules/hosts/poweredge/configuration.nix19
-rw-r--r--modules/nixos/archetypes/collections/bluetooth.nix12
-rw-r--r--modules/nixos/archetypes/collections/desktop/cad.nix15
-rw-r--r--modules/nixos/archetypes/collections/desktop/chromium.nix18
-rw-r--r--modules/nixos/archetypes/collections/desktop/crypto.nix13
-rw-r--r--modules/nixos/archetypes/collections/desktop/default.nix13
-rw-r--r--modules/nixos/archetypes/collections/desktop/extra.nix16
-rw-r--r--modules/nixos/archetypes/collections/desktop/firefox.nix12
-rw-r--r--modules/nixos/archetypes/collections/desktop/graphics.nix16
-rw-r--r--modules/nixos/archetypes/collections/desktop/office.nix18
-rw-r--r--modules/nixos/archetypes/collections/desktop/utilities.nix29
-rw-r--r--modules/nixos/archetypes/collections/desktop/xserver.nix34
-rw-r--r--modules/nixos/archetypes/collections/development/default.nix45
-rw-r--r--modules/nixos/archetypes/collections/development/docker.nix23
-rw-r--r--modules/nixos/archetypes/collections/fonts.nix16
-rw-r--r--modules/nixos/archetypes/collections/utilities.nix35
-rw-r--r--modules/nixos/archetypes/collections/virtualization.nix22
-rw-r--r--modules/nixos/archetypes/profiles/desktop/default.nix53
-rw-r--r--modules/nixos/archetypes/profiles/headless/default.nix32
-rw-r--r--modules/nixos/archetypes/tjkeller/default.nix10
-rw-r--r--modules/nixos/archetypes/tjkeller/hosts.nix16
-rw-r--r--modules/nixos/archetypes/tjkeller/localization.nix5
-rw-r--r--modules/nixos/archetypes/tjkeller/nas.nix35
-rw-r--r--modules/nixos/archetypes/tjkeller/printing.nix39
-rw-r--r--modules/nixos/archetypes/tjkeller/resources/secrets/hashed-root-password.yaml25
-rw-r--r--modules/nixos/archetypes/tjkeller/resources/secrets/wpa_supplicant-conf.yaml16
-rw-r--r--modules/nixos/archetypes/tjkeller/user.nix22
-rw-r--r--modules/nixos/archetypes/tjkeller/wifi.nix38
-rw-r--r--modules/nixos/archetypes/users/primary.nix37
-rw-r--r--modules/nixos/bootloader.nix48
-rw-r--r--modules/nixos/default.nix37
-rw-r--r--modules/nixos/doas.nix17
-rw-r--r--modules/nixos/filesystems.nix7
-rw-r--r--modules/nixos/hosts.nix4
-rw-r--r--modules/nixos/net-iface-labels.nix28
-rw-r--r--modules/nixos/nix.nix11
-rw-r--r--modules/nixos/pipewire.nix14
-rw-r--r--modules/nixos/powerkeys.nix7
-rw-r--r--modules/nixos/printing.nix18
-rw-r--r--modules/nixos/programs/awesome.nix22
-rw-r--r--modules/nixos/programs/ddcutil.nix12
-rw-r--r--modules/nixos/programs/home-manager.nix15
-rw-r--r--modules/nixos/secrets.nix10
-rw-r--r--modules/nixos/services/cgit.nix126
-rw-r--r--modules/nixos/services/gitea.nix60
-rw-r--r--modules/nixos/services/searxng.nix119
-rw-r--r--modules/nixos/ssh.nix16
-rw-r--r--modules/nixos/sudo.nix15
-rw-r--r--modules/nixos/suspend.nix18
-rw-r--r--modules/overlays/crazydiskinfo/default.nix41
-rw-r--r--modules/overlays/default.nix31
-rw-r--r--modules/overlays/lowbat/default.nix28
-rw-r--r--modules/overlays/st/overrides.nix19
-rw-r--r--modules/overlays/xerox-workcentre-7800-series-driver/default.nix86
-rw-r--r--modules/overlays/xorg/overrides.nix20
95 files changed, 0 insertions, 2883 deletions
diff --git a/modules/home/alacritty.nix b/modules/home/alacritty.nix
deleted file mode 100644
index f60fe01..0000000
--- a/modules/home/alacritty.nix
+++ /dev/null
@@ -1,67 +0,0 @@
-{ config, lib, ... }: {
- options = {
- alacritty = {
- enable = lib.mkEnableOption "enables creation of alacritty config file";
- font.size = lib.mkOption {
- type = lib.types.int;
- default = 12;
- };
- font.family = lib.mkOption {
- type = lib.types.str;
- default = "JetBrainsMonoNL Nerd Font Mono";
- };
- };
- };
-
- config = {
- programs.alacritty.enable = config.alacritty.enable;
- programs.alacritty.settings = lib.mkIf config.alacritty.enable {
- colors = {
- bright = {
- black = "#7f7f7f";
- blue = "#1578c1";
- cyan = "#00c4a3";
- green = "#2bb500";
- magenta = "#b14ff7";
- red = "#ed1207";
- white = "#ffffff";
- yellow = "#fc9700";
- };
- normal = {
- black = "#101010";
- blue = "#1578c1";
- cyan = "#00c4a3";
- green = "#2bb500";
- magenta = "#b14ff7";
- red = "#ed1207";
- white = "#ffffff";
- yellow = "#fc9700";
- };
- primary = {
- background = "#101010";
- foreground = "#ffffff";
- };
- };
- cursor.style.blinking = "Never";
- env.TERM = "xterm-256color";
- font = {
- size = config.alacritty.font.size;
- normal.family = config.alacritty.font.family;
- };
- mouse.bindings = [{
- action = "PasteSelection";
- mouse = "Right";
- }];
- window = {
- dynamic_padding = true;
- dynamic_title = true;
- title = "Terminal";
- # Pretend to be st
- class = {
- general = "st";
- instance = "st";
- };
- };
- };
- };
-}
diff --git a/modules/home/chrome.nix b/modules/home/chrome.nix
deleted file mode 100644
index 976a74b..0000000
--- a/modules/home/chrome.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ pkgs, lib, ... }: {
- programs.chromium = {
- enable = true;
- package = pkgs.ungoogled-chromium;
- };
- programs.chromium.extensions =
- let
- createChromiumExtensionFor = browserVersion: { id, sha256, version }:
- {
- inherit id;
- crxPath = builtins.fetchurl {
- url = "https://clients2.google.com/service/update2/crx?response=redirect&acceptformat=crx2,crx3&prodversion=${browserVersion}&x=id%3D${id}%26installsource%3Dondemand%26uc";
- name = "${id}.crx";
- inherit sha256;
- };
- inherit version;
- };
- createChromiumExtension = createChromiumExtensionFor (lib.versions.major pkgs.ungoogled-chromium.version);
- in
- [
- (createChromiumExtension {
- # ublock origin
- id = "cjpalhdlnbpafiamejdnhcphjbkeiagm";
- sha256 = "sha256:1i0668xhq5iflb4fn0ghwp79iz6mwspgxdqwp6incbvsyzr596kg";
- version = "1.61.0";
- })
- ];
-}
diff --git a/modules/home/default.nix b/modules/home/default.nix
deleted file mode 100644
index 022ee9f..0000000
--- a/modules/home/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib, userDetails, homeStateVersion, ... }: {
- home = {
- username = userDetails.username;
- homeDirectory = lib.mkForce userDetails.home;
- stateVersion = homeStateVersion;
- };
-
- imports = [
- #./chrome.nix
- ./firefox.nix
- ./git.nix
- ./gtk-bookmarks.nix
- ./htop.nix
- ./initial-home-setup.nix
- ./pcmanfm.nix # TODO mk name changeable & doesn't seem to work right now
- ./theme-st.nix
- ./theme.nix
- ./userdirs.nix
- ./wallpapers.nix
- ];
-
- theme.enable = lib.mkDefault true;
- theme.st.enable = lib.mkDefault false;
- theme.mint.enable = lib.mkDefault true;
- wallpapers.enable = lib.mkDefault false;
-}
diff --git a/modules/home/firefox.nix b/modules/home/firefox.nix
deleted file mode 100644
index 8aa1af3..0000000
--- a/modules/home/firefox.nix
+++ /dev/null
@@ -1,83 +0,0 @@
-{ lib, pkgs, userDetails, ... }: {
- programs.firefox = {
- enable = lib.mkDefault true;
- arkenfox.enable = true;
- profiles = let
- search = {
- engines = {
- "Timmy Search" = {
- urls = [{
- template = "https://search.tjkeller.xyz/search";
- params = [ { name = "q"; value = "{searchTerms}"; } ];
- }];
- iconURI = "https://search.tjkeller.xyz/static/themes/simple/img/favicon.svg"; # TODO doesn't seem to work
- };
- "Nix Packages" = {
- urls = [{
- template = "https://search.nixos.org/packages";
- params = [ { name = "query"; value = "{searchTerms}"; } ];
- }];
- icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
- definedAliases = [ "@np" ];
- };
- "NixOS Options" = {
- urls = [{
- template = "https://search.nixos.org/options";
- params = [ { name = "query"; value = "{searchTerms}"; } ];
- }];
- icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
- definedAliases = [ "@no" ];
- };
- };
- default = "Timmy Search";
- privateDefault = "Timmy Search";
- force = true; # Overwrite old
- };
- userChrome = builtins.readFile ./resources/firefox/userChrome.css;
- arkenfox = {
- enable = true;
- enableAllSections = true;
- "0100"."0102"."browser.startup.page".value = 3; # 0=blank, 1=home, 2=last visited page, 3=resume previous session
- "0100"."0103"."browser.startup.homepage".enable = false;
- "0100"."0104"."browser.newtabpage.enabled".enable = false;
- #"2800"."2811"."privacy.clearOnShutdown.history".enable = false;
- };
- settings = {
- "browser.compactmode.show" = true;
- "browser.uiCustomization.state" = builtins.readFile ./resources/firefox/uiCustomization.json; # Toolbar etc.
- "browser.uidensity" = 1; # Compact
- "toolkit.legacyUserProfileCustomizations.stylesheets" = true; # userchrome
-
- "app.normandy.first_run" = false;
- "browser.aboutConfig.showWarning" = false; # arkenfox does
- #"browser.download.dir" = userDetails.userDirs.downloads;
- "browser.newtabpage.activity-stream.feeds.section.topstories" = false;
- "browser.newtabpage.activity-stream.feeds.topsites" = false;
- "browser.urlbar.suggest.topsites" = false;
- "devtools.toolbox.host" = "window";
- "dom.push.enabled" = false; #
- "extensions.pocket.enabled" = false;
- "general.smoothScroll" = false;
- };
- workSettings = settings // {
- "extensions.activeThemeID" = "firefox-compact-dark@mozilla.org"; # Use builtin dark theme instead of system theme
- };
- in {
- Personal = {
- id = 0;
- isDefault = true;
- inherit search;
- inherit userChrome;
- inherit arkenfox;
- inherit settings;
- };
- Work = {
- id = 1;
- inherit search;
- inherit userChrome;
- inherit arkenfox;
- settings = workSettings;
- };
- };
- };
-}
diff --git a/modules/home/git.nix b/modules/home/git.nix
deleted file mode 100644
index 9d15a90..0000000
--- a/modules/home/git.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ userDetails, ... }: {
- programs.git = {
- enable = true;
- userName = userDetails.fullname;
- userEmail = userDetails.email;
- };
-}
diff --git a/modules/home/gtk-bookmarks.nix b/modules/home/gtk-bookmarks.nix
deleted file mode 100644
index 24c6563..0000000
--- a/modules/home/gtk-bookmarks.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ config, lib, userDetails, ... }: {
- options = {
- additional-gtk-bookmarks = lib.mkOption {
- type = with lib.types; listOf str;
- default = [];
- description = "gtk bookmarks for file managers, etc.";
- };
- };
-
- config = {
- gtk.gtk3.bookmarks = (
- lib.mapAttrsToList (name: path:
- "file://${path} ${lib.toUpper (lib.substring 0 1 name)}${lib.substring 1 (-1) name}"
- ) userDetails.userDirs
- ) ++ config.additional-gtk-bookmarks;
- };
-}
diff --git a/modules/home/htop.nix b/modules/home/htop.nix
deleted file mode 100644
index 523fee8..0000000
--- a/modules/home/htop.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ config, ... }: {
- programs.htop.enable = true;
- programs.htop.settings = {
- fields = with config.lib.htop.fields; [
- PID
- USER
- 124 # EXE
- PERCENT_CPU
- PERCENT_MEM
- STARTTIME
- ELAPSED # time elapsed since process start
- IO_READ_RATE
- RBYTES # num read bytes
- IO_WRITE_RATE
- WBYTES # num written bytes
- TIME
- STIME # sys time
- CSTIME # child sys time
- NICE
- STATE
- PRIORITY
- 125 # CWD
- ];
- } // (with config.lib.htop; leftMeters [
- (bar "AllCPUs2")
- (bar "CPU")
- (bar "Memory")
- (bar "DiskIO")
- (bar "NetworkIO")
- ]) // (with config.lib.htop; rightMeters [
- (text "Hostname")
- (text "Clock")
- (text "Uptime")
- (text "Battery")
- (text "LoadAverage")
- (text "Tasks")
- ]);
-}
diff --git a/modules/home/initial-home-setup.nix b/modules/home/initial-home-setup.nix
deleted file mode 100644
index 4132386..0000000
--- a/modules/home/initial-home-setup.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ config, lib, pkgs, userDetails, ... }: {
- home.activation = {
- cloneRepos = lib.hm.dag.entryAfter ["writeBoundary"] ''
- export PATH="${config.home.path}/bin:$PATH"
- ${builtins.readFile ./resources/activation-scripts/clone-repos.sh}
- '';
- linkZshProfile = lib.hm.dag.entryAfter ["writeBoundary"] ''
- run ln -sf $VERBOSE_ARG $HOME/.config/zsh/zprofile $HOME/.zprofile
- '';
- cleanupHome = lib.hm.dag.entryAfter ["writeBoundary"] ''
- run rm -f $VERBOSE_ARG $HOME/{.zcompdump,.zshrc,.zsh_history,.bash_history}
- '';
- mimewiz = lib.hm.dag.entryAfter ["writeBoundary"] ''
- export PATH="${pkgs.xdg-utils}/bin:$PATH"
- export PATH="$HOME/.local/bin/misc:$PATH"
- run mimewiz -i # already verbose
- '';
- createDirs = lib.hm.dag.entryAfter ["writeBoundary"] ''
- run mkdir -p $VERBOSE_ARG ${ lib.concatStringsSep " " (lib.attrValues userDetails.userDirs) }
- '';
- };
-}
diff --git a/modules/home/pcmanfm.nix b/modules/home/pcmanfm.nix
deleted file mode 100644
index 3c70521..0000000
--- a/modules/home/pcmanfm.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- home.file.pcmanfm-root = {
- target = ".local/share/file-manager/actions/root.desktop";
- source = ./resources/pcmanfm/root.desktop;
- };
-}
diff --git a/modules/home/resources/activation-scripts/clone-repos.sh b/modules/home/resources/activation-scripts/clone-repos.sh
deleted file mode 100644
index eaee4dc..0000000
--- a/modules/home/resources/activation-scripts/clone-repos.sh
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/sh
-
-server="https://git.tjkeller.xyz/"
-
-clonemissing() {
- # pull and return if already existing
- if [ -d "$2"/.git ]; then
- run cd $VERBOSE_ARG "$2"
- run git pull $VERBOSE_ARG || echo "$2: failed to pull from remote"
- return
- fi
-
- # clone to $2
- run mkdir -p $VERBOSE_ARG "$2"
- run git clone $VERBOSE_ARG "$server$1" "$2"
-
- # link to $3
- [ -z "$3" ] && return
- run mkdir -p $VERBOSE_ARG "$3"
- run ln -sf $VERBOSE_ARG "$2"/* "$3"
-}
-
-# # repo # clone to # link to
-clonemissing scripts $HOME/docs/src/scripts $HOME/.local/bin
-clonemissing dotconfig $HOME/docs/src/config $HOME/.config
-clonemissing userscripts $HOME/docs/src/userscripts ''
-clonemissing nixos $HOME/docs/src/nixos ''
-clonemissing awesome $HOME/.config/awesome ''
-clonemissing nvim $HOME/.config/nvim ''
-clonemissing zsh $HOME/.config/zsh ''
diff --git a/modules/home/resources/firefox/uiCustomization.json b/modules/home/resources/firefox/uiCustomization.json
deleted file mode 100644
index 339b716..0000000
--- a/modules/home/resources/firefox/uiCustomization.json
+++ /dev/null
@@ -1 +0,0 @@
-{"placements":{"widget-overflow-fixed-list":[],"unified-extensions-area":["ublock0_raymondhill_net-browser-action","sponsorblocker_ajay_app-browser-action","_e6e36c9a-8323-446c-b720-a176017e38ff_-browser-action","dearrow_ajay_app-browser-action","_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action","idcac-pub_guus_ninja-browser-action","addon_darkreader_org-browser-action","_74145f27-f039-47ce-a470-a662b129930a_-browser-action","_762f9885-5a13-4abd-9c77-433dcd38b8fd_-browser-action","jid1-bofifl9vbdl2zq_jetpack-browser-action","addon_fastforward_team-browser-action","jid1-tsgsxbhncspbwq_jetpack-browser-action","_aecec67f-0d10-4fa7-b7c7-609a2db280cf_-browser-action"],"nav-bar":["back-button","forward-button","stop-reload-button","home-button","urlbar-container","downloads-button","unified-extensions-button"],"toolbar-menubar":["menubar-items"],"TabsToolbar":["tabbrowser-tabs","new-tab-button","alltabs-button"],"PersonalToolbar":["personal-bookmarks"]},"seen":["save-to-pocket-button","developer-button","dearrow_ajay_app-browser-action","_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action","_e6e36c9a-8323-446c-b720-a176017e38ff_-browser-action","sponsorblocker_ajay_app-browser-action","ublock0_raymondhill_net-browser-action","idcac-pub_guus_ninja-browser-action","addon_darkreader_org-browser-action","_74145f27-f039-47ce-a470-a662b129930a_-browser-action","_762f9885-5a13-4abd-9c77-433dcd38b8fd_-browser-action","jid1-bofifl9vbdl2zq_jetpack-browser-action","addon_fastforward_team-browser-action","jid1-tsgsxbhncspbwq_jetpack-browser-action","_aecec67f-0d10-4fa7-b7c7-609a2db280cf_-browser-action"],"dirtyAreaCache":["nav-bar","PersonalToolbar","unified-extensions-area","toolbar-menubar","TabsToolbar"],"currentVersion":20,"newElementCount":5}
diff --git a/modules/home/resources/firefox/userChrome.css b/modules/home/resources/firefox/userChrome.css
deleted file mode 100644
index 624ab26..0000000
--- a/modules/home/resources/firefox/userChrome.css
+++ /dev/null
@@ -1,204 +0,0 @@
-/* TOP BAR */
-#navigator-toolbox {
- --uc-navigationbar-width: 40vw;
-}
-
-/* Remove overflow button */
-#nav-bar-overflow-button { display: none; }
-
-/* remove alltabs button */
-#alltabs-button { display: none; }
-
-/* Change background color of toolbar */
-#navigator-toolbox-background {
- background: var(--toolbar-field-border-color) !important;
-}
-
-/* Change background color of bookmarks toolbar */
-#PersonalToolbar {
- background: var(--toolbox-bgcolor) !important;
-}
-
-/* Adjust spacing of toolbar items */
-#PlacesToolbarItems {
- gap: .35rem;
- margin-block: .2rem;
-}
-
-/* Fix vertical spacing of tabs */
-#TabsToolbar {
- margin-top: -1px;
-}
-
-/* Move new tab to far right */
-#tabbrowser-arrowscrollbox-periphery {
- margin-left: auto;
-}
-
-/* Fix spacing around tabs by removing nav bar top border */
-#nav-bar {
- border: none !important;
-}
-
-/* Media queries for width of nav bar */
-@media screen and (max-width: 1000px) {
- #navigator-toolbox {
- --uc-navigationbar-width: 50vw;
- }
-}
-@media screen and (max-width: 800px) {
- #navigator-toolbox {
- --uc-navigationbar-width: 60vw;
- }
-}
-
-/* Change look of tabs in smaller view */
-@media screen and (max-width: 800px) {
- .tab-background {
- margin-block: .2em !important;
- }
- #TabsToolbar {
- margin-left: 5px;
- }
-}
-
-
-/* COMBINE TOP BAR */
-/* Combine top bar into single line if width >= 800px */
-@media screen and (min-width: 800px) {
- :root {
- --uc-toolbar-height: 36px; /* Half height bar */
- }
-
- /* Modify these to change relative widths or default height */
- #navigator-toolbox {
- margin-bottom: 0px;
- padding-top: 1px; /* Top bar is cut off otherwise */
- }
-
- #TabsToolbar {
- margin-left: calc(var(--uc-navigationbar-width) + 2px); /* Resize tab bar */
- margin-top: -4px;
- margin-bottom: 2px;
- }
-
- /* Tabs extend to bottom of bar */
- .tab-background {
- margin-bottom: 0 !important;
- margin-top: 3px !important; /* See above navigator-toolbox rule. Avoid cutting off top */
- }
-
- /* Center tab buttons */
- #tabs-newtab-button,
- #alltabs-button
- {
- margin-top: 4px !important;
- }
-
- /* Integrate url / nav bar */
- #nav-bar {
- margin-right:calc(100vw - var(--uc-navigationbar-width));
- margin-top: calc(0px - var(--uc-toolbar-height));
- border-radius: 0 var(--tab-border-radius) var(--tab-border-radius) 0;
- border-right: 1px solid ThreeDShadow !important;
- box-shadow: 0 0 4px rgba(0,0,0,.4) !important;
- }
-
- /* 1px margin on touch density causes tabs to be too high */
- .tab-close-button {
- margin-top: 0 !important
- }
-
- /* Make opened urlbar overlay the toolbar */
- #urlbar[open]:focus-within {
- min-width: 50vw !important;
- }
-
- /* Remove min and max width of urlbar */
- #urlbar-container {
- width: 0 !important;
- }
-
- /* Fix customization view */
- #customization-panelWrapper .panel-arrowbox .panel-arrow {
- margin-inline-end: initial !important;
- }
-
- /* Shorten findbar */
- findbar {
- width: 600px !important;
- border-radius: 0 0 0 5px;
- border-bottom: none !important;
- box-shadow: 0 2px 4px rgba(0,0,0,.4); /* Move down 2px so it doesn't go over the tab bar */
- }
-}
-
-
-/* FINDBAR */
-findbar {
- width: 100vw;
- position: absolute;
- top: 0;
- right: 0;
- padding: 0 !important;
- padding-top: 1px !important;
- background: -moz-headerbar Field !important;
- border-top-width: 0px !important;
- border-bottom: 1px solid ThreeDShadow;
-}
-
-findbar .findbar-container {
- padding-bottom: 5px !important; /* Move search bar closer to left edge */
- padding-top: 2px !important; /* Move search bar closer to left edge */
- height: max-content !important;
- gap: 2px;
- justify-content: space-between;
- flex-wrap: wrap;
-}
-
-/* Force textbox to fill up first line */
-findbar .findbar-textbox {
- width: 100% !important;
- background: Field !important; /* Set the background color to be consistent with found-matches label when unfocused */
-}
-
-/* Hide description showing wrap conditions etc. */
-findbar description {
- display: none;
-}
-
-/* Move found matches label (roughly) into the textbox */
-findbar label.found-matches,
-findbar description {
- position: absolute;
- top: 6.5px;
- right: 110px;
- color: color-mix(in srgb, -moz-headerbartext, transparent 46%) !important;
- /* So this text overrides the text below, TODO find a more elegant solution */
- padding-inline: 1ex;
- background: Field;
-}
-
-/* Show description when it says "Phrase Not Found" */
-findbar description[status=notfound] {
- display: inline-block;
-}
-
-/* Force checkboxes onto second line */
-findbar .findbar-container hbox {
- width: 100%;
-}
-
-
-/* BOOKMARK BAR */
-@-moz-document url(chrome://browser/content/browser.xhtml) {
- #PersonalToolbar {
- background: -moz-headerbar Field !important;
- border-top: 1px solid ThreeDShadow !important;
- z-index: 1000; /* To not be affected by shadow from navbar */
- }
- /* Space out bookmark items */
- .bookmark-item .toolbarbutton-text {
- padding: 2.5px 4px;
- }
-}
diff --git a/modules/home/resources/pcmanfm/root.desktop b/modules/home/resources/pcmanfm/root.desktop
deleted file mode 100644
index 4b4d263..0000000
--- a/modules/home/resources/pcmanfm/root.desktop
+++ /dev/null
@@ -1,11 +0,0 @@
-[Desktop Entry]
-Type=Action
-Tooltip=Open Directory As Root
-Name=Open Directory As Root
-Profiles=profile-zero;
-Icon=gtk-dialog-authentication
-
-[X-Action-Profile profile-zero]
-MimeTypes=inode/directory;
-Exec=/home/timmy/.local/bin/x11/xsudo /usr/bin/pcmanfm %u
-Name=Default profile
diff --git a/modules/home/theme-st.nix b/modules/home/theme-st.nix
deleted file mode 100644
index 0a06cd0..0000000
--- a/modules/home/theme-st.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ config, lib, pkgs, ... }: {
- options = {
- theme.st = {
- enable = lib.mkEnableOption "enables theming st with home manager";
- font = lib.mkOption {
- type = lib.types.str;
- default = "JetBrainsMonoNL Nerd Font Mono:size=12:antialias=true:autohint=true";
- };
- };
- };
- config = let
- themed-st = pkgs.st.overrideAttrs (old: {
- buildInputs = old.buildInputs or [] ++ [ pkgs.makeWrapper ];
- postInstall = old.postInstall or "" + ''
- wrapProgram $out/bin/st \
- --add-flags '-f"${config.theme.st.font}"'
- '';
- });
- in lib.mkIf config.theme.enable {
- home.packages = [ themed-st ];
- };
-}
diff --git a/modules/home/theme.nix b/modules/home/theme.nix
deleted file mode 100644
index 9e4edae..0000000
--- a/modules/home/theme.nix
+++ /dev/null
@@ -1,101 +0,0 @@
-{ config, lib, pkgs, ... }:
-let
- transformColorValue = color :
- if color == "Green" then "Mint-Y"
- else if color == "Dark-Green" then "Mint-Y-Dark"
- else "Mint-Y-${color}"
- ;
-in {
- options = {
- theme.enable = lib.mkEnableOption "enables theming";
- theme.mint = {
- enable = lib.mkEnableOption "enables mint theme";
- # TODO add theme.dark option instead of specifying Dark-Color
- theme.color = lib.mkOption {
- type = lib.types.enum [
- "Aqua" "Blue" "Green" "Grey" "Orange" "Pink" "Purple" "Red"
- "Sand" "Teal" "Dark-Aqua" "Dark-Blue" "Dark-Green"
- "Dark-Grey" "Dark-Orange" "Dark-Pink" "Dark-Purple"
- "Dark-Red" "Dark-Sand" "Dark-Teal"
- ];
- default = "Dark-Aqua";
- description = "mint-y theme color eg. 'Dark-Aqua' or 'Red'";
- };
- icons.color = lib.mkOption {
- type = lib.types.enum [
- "Aqua" "Blue" "Green" "Grey" "Orange" "Pink" "Purple" "Red"
- "Sand" "Teal"
- ];
- default = "Aqua";
- description = "mint-y icons color eg. 'Aqua' or 'Red'";
- };
- };
- theme.font = {
- sansSerif = lib.mkOption {
- type = lib.types.str;
- default = "Inter";
- description = "default sans serif font";
- };
- monospace = lib.mkOption {
- type = lib.types.str;
- default = "CommitMono";
- description = "default monospace font";
- };
- gtk = {
- name = lib.mkOption {
- type = lib.types.str;
- default = "sans-serif";
- description = "default gtk font";
- };
- size = lib.mkOption {
- type = with lib.types; nullOr int;
- default = null;
- description = "default gtk font size";
- };
- };
- };
- theme.cursor = {
- name = lib.mkOption {
- type = lib.types.str;
- default = "Adwaita";
- description = "gtk cursor theme";
- };
- size = lib.mkOption {
- type = with lib.types; nullOr int;
- default = null;
- description = "gtk cursor size";
- };
- };
- };
-
- config = lib.mkIf config.theme.enable {
- gtk = {
- enable = true;
- theme = lib.mkIf config.theme.mint.enable {
- package = pkgs.mint-themes;
- name = transformColorValue config.theme.mint.theme.color;
- };
- iconTheme = lib.mkIf config.theme.mint.enable {
- package = pkgs.mint-y-icons;
- name = transformColorValue config.theme.mint.icons.color;
- };
- font = {
- name = config.theme.font.gtk.name;
- size = config.theme.font.gtk.size;
- };
- cursorTheme = {
- name = config.theme.cursor.name;
- size = config.theme.cursor.size;
- };
- gtk2.configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc";
- };
- qt = {
- enable = true;
- platformTheme.name = "gtk3";
- };
- fonts.fontconfig.defaultFonts = {
- sansSerif = [ config.theme.font.sansSerif ];
- monospace = [ config.theme.font.monospace ];
- };
- };
-}
diff --git a/modules/home/userdirs.nix b/modules/home/userdirs.nix
deleted file mode 100644
index 58c1d59..0000000
--- a/modules/home/userdirs.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ userDetails, ... }: {
- xdg.userDirs = {
- enable = true;
- } // userDetails.userDirs;
-}
diff --git a/modules/home/wallpapers.nix b/modules/home/wallpapers.nix
deleted file mode 100644
index d7e067a..0000000
--- a/modules/home/wallpapers.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ lib, config, pkgs, ... }: {
- options = {
- wallpapers.enable = lib.mkEnableOption "enables all wallpapers";
- };
-
- config = lib.mkIf config.wallpapers.enable {
- home.file.".local/share/wallpaper" = {
- source = pkgs.fetchzip {
- url = "https://tjkeller.xyz/permalinks/wallpapers.tar";
- hash = "sha256-lhj9wUMZfd0XOrUtWY9HB64oXrS/EjsvsaJHzu4ucFg=";
- };
- };
- };
-}
diff --git a/modules/hosts/T495/configuration.nix b/modules/hosts/T495/configuration.nix
deleted file mode 100644
index 171f746..0000000
--- a/modules/hosts/T495/configuration.nix
+++ /dev/null
@@ -1,64 +0,0 @@
-{ config, lib, pkgs, ... }: {
- imports = [
- ./hardware-configuration.nix
- ./wg.nix
- ../../nixos/archetypes/tjkeller
- ];
-
- # Setup bootloader
- boot._loader.enable = true;
-
- # Enable common options
- _archetypes = {
- # Use desktop profile
- profiles.desktop.enable = true;
- # Install software
- collections = {
- desktop = {
- extraUtilities.enable = true;
- cad.enable = true;
- chromium.enable = true;
- crypto.enable = true;
- graphics.enable = true;
- office.enable = true;
- };
- development = {
- android.enable = true;
- c.enable = true;
- docker.enable = true;
- lua.enable = true;
- web = {
- hugo = {
- enable = true;
- openFirewall = true;
- };
- node.enable = true;
- };
- };
- bluetooth.enable = true;
- };
- # Setup user
- users.primary = {
- enable = true;
- autologin.enable = true;
- };
- # Enable network drives
- tjkeller = {
- nas = {
- enable = true;
- office.enable = true;
- };
- };
- };
-
- # Install spotify
- nixpkgs.config.allowUnfree = true;
- environment.systemPackages = with pkgs; [
- spotify
- ];
-
- # Use amdgpu driver for x11
- services.xserver.videoDrivers = [ "amdgpu" ];
-
- system.stateVersion = "24.05";
-}
diff --git a/modules/hosts/T495/hardware-configuration.nix b/modules/hosts/T495/hardware-configuration.nix
deleted file mode 100644
index 6258a83..0000000
--- a/modules/hosts/T495/hardware-configuration.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-# Do not modify this file! It was generated by ‘nixos-generate-config’
-# and may be overwritten by future invocations. Please make changes
-# to /etc/nixos/configuration.nix instead.
-{ config, lib, pkgs, modulesPath, ... }:
-
-{
- imports =
- [ (modulesPath + "/installer/scan/not-detected.nix")
- ];
-
- boot.initrd.availableKernelModules = [ "nvme" "ehci_pci" "xhci_pci" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
- boot.initrd.kernelModules = [ ];
- boot.kernelModules = [ "kvm-amd" ];
- boot.extraModulePackages = [ ];
-
- fileSystems."/" =
- { device = "/dev/disk/by-uuid/4256823f-107b-41a9-851d-6bd9939f1f4b";
- fsType = "btrfs";
- options = [ "subvol=@" ];
- };
-
- boot.initrd.luks.devices."cryptroot".device = "/dev/disk/by-uuid/f20115a9-0a0e-43d2-9cee-c705b2de43b9";
-
- fileSystems."/home" =
- { device = "/dev/disk/by-uuid/4256823f-107b-41a9-851d-6bd9939f1f4b";
- fsType = "btrfs";
- options = [ "subvol=@home" ];
- };
-
- fileSystems."/boot" =
- { device = "/dev/disk/by-uuid/9441-53B1";
- fsType = "vfat";
- options = [ "fmask=0022" "dmask=0022" ];
- };
-
- swapDevices = [ ];
-
- # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
- # (the default) this is the recommended approach. When using systemd-networkd it's
- # still possible to use this option, but it's recommended to use it in conjunction
- # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
- networking.useDHCP = lib.mkDefault true;
- # networking.interfaces.enp3s0f0.useDHCP = lib.mkDefault true;
- # networking.interfaces.enp4s0.useDHCP = lib.mkDefault true;
- # networking.interfaces.wlp1s0.useDHCP = lib.mkDefault true;
-
- nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
- hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
-}
diff --git a/modules/hosts/T495/home.nix b/modules/hosts/T495/home.nix
deleted file mode 100644
index f233c08..0000000
--- a/modules/hosts/T495/home.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ ... }: {
- imports = [ ../../home ];
-
- theme = {
- mint.theme.color = "Dark-Purple";
- mint.icons.color = "Purple";
- st = {
- enable = true;
- font = "TamzenForPowerline:pixelsize=20";
- };
- };
- wallpapers.enable = true;
-
- home.file.input-leap-config = {
- source = ./resources/input-leap;
- recursive = true;
- target = "./.config/input-leap";
- };
-}
diff --git a/modules/hosts/T495/resources/input-leap/input-leap.conf b/modules/hosts/T495/resources/input-leap/input-leap.conf
deleted file mode 100644
index c2d5176..0000000
--- a/modules/hosts/T495/resources/input-leap/input-leap.conf
+++ /dev/null
@@ -1,12 +0,0 @@
-section: screens
- T495:
- optiplex:
-end
-
-section: links
- T495:
- up = optiplex
-
- optiplex:
- down = T495
-end
diff --git a/modules/hosts/T495/resources/secrets/wg0.yaml b/modules/hosts/T495/resources/secrets/wg0.yaml
deleted file mode 100644
index 6df5ff6..0000000
--- a/modules/hosts/T495/resources/secrets/wg0.yaml
+++ /dev/null
@@ -1,21 +0,0 @@
-wg0: ENC[AES256_GCM,data:Zxw98YrH2QYyU8u4sk0geOUQXfOZK9scGPECbKruehcDffJlRspmsS2k3sSahdAIcJjIjauGmZ7usXus2wKAiRnYsl2e4P/0IUVp8L8UJp52iPZVEvT9JRELPYQ9gBBNmp/HDYglxP7uHx2bzcCTvCr4fFdQZgsUSl/pd6pBtSMwupsK5U9Xfz9Sh7JNTlpgpU4jlkl676XnrCo0HyL7rXMp4S6Ruhfve8gwJYP8QLn4DiwnP69Flc54MDQRKSvlvYca8dZIrS1N3h9k6aO1eB/z4I3qPN0/p7yT9pdfemaDpEqf1+byRKGYuED1Ge8P3D0+qRWJBd5GmoSHC8NV9KVV3DrAJ/QLOLCqm8oN0UGxQW5lbWi6lIQ708kodEDOsBREexRPOzjYAjajBr6O6wCtRThgce4yOg9ZwqxVDERqIz1fR034b56LrZtKjOSlJtmkmMCuCGrVkKj4L7JvBfKtCjBN+TOyONsClY/Vhd+XzNWWk8d8FVraOE2rJN4+ss7UL+jBth3DfSbr739cEQDhHRKoMPvXy0FhPVw=,iv:CN82pOBNCtICzM0Ac9Gh+x8pUSK1Fc2v2KmM+de3A78=,tag:KuGiC+Ak550d6njSdX4muA==,type:str]
-sops:
- kms: []
- gcp_kms: []
- azure_kv: []
- hc_vault: []
- age:
- - recipient: age1w80rc0dnuu8nw99gw64c596qqetm78jdnsqajr0u7ephykekr39qfz8vnv
- enc: |
- -----BEGIN AGE ENCRYPTED FILE-----
- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB4NEN4NGxDR1oreGVoSGhE
- TzMxSEY0QVBhS2Z6MW15ci9aVlJ0a3IyVlZBCldPRVNvcUhJSHhWSEk3akd4RjN0
- ajhUV2d1ZWRsRFU4cTE2dGl6RmM4MGsKLS0tIFhnUjl5aDJqWVB1NE15SlNzR2Iv
- YTNydURsOUMrSXZGdk9UOUdUQlA0SFUKxEDJRR6tpYva9qpWo9NxwCxk/xpRVoTl
- YJkmDZzMcXikXXiro96AprP9dXJXvMPKYPGl2Zsal8PlGFPBoHW2GA==
- -----END AGE ENCRYPTED FILE-----
- lastmodified: "2025-01-05T18:21:12Z"
- mac: ENC[AES256_GCM,data:VEtpQLHMoQK7Qg4PT2DkNNMurjRE0ZadyiQ0uYsPJ0K2lS0gD8pPwb8btiq7KXXOGWWZOMYRDaRKOENy44f/k+16GOpO6jaKAfN6eEcidaWlP7zvpeNzt7LImFqn/Sjv4rq1+DmvGxyyNjuK8BwvvAfnZwG6KXbn7Bh6xgfTnLs=,iv:Jf4f5j6BTkDBmah3izIESsAn7wDMUFU6NbsqpFIdui4=,tag:yNg374unwHaDEK43+Y0eWg==,type:str]
- pgp: []
- unencrypted_suffix: _unencrypted
- version: 3.9.2
diff --git a/modules/hosts/T495/wg.nix b/modules/hosts/T495/wg.nix
deleted file mode 100644
index 3881b63..0000000
--- a/modules/hosts/T495/wg.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ config, pkgs, inputs, ... }: {
- sops.secrets.wg0.sopsFile = ./resources/secrets/wg0.yaml;
-
- networking.wg-quick.interfaces = {
- wg0.configFile = config.sops.secrets.wg0.path;
- };
-}
diff --git a/modules/hosts/X230/configuration.nix b/modules/hosts/X230/configuration.nix
deleted file mode 100644
index accbb1c..0000000
--- a/modules/hosts/X230/configuration.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ config, lib, pkgs, ... }: {
- imports = [
- ./hardware-configuration.nix
- ../../nixos/archetypes/tjkeller
- ];
-
- # Setup bootloader
- boot._loader.enable = true;
-
- # Enable common options
- _archetypes = {
- # Use desktop profile
- profiles.desktop.enable = true;
- # Install software
- collections = {
- desktop = {
- crypto.enable = true;
- graphics.enable = true;
- office.enable = true;
- };
- };
- # Setup user
- users.primary = {
- enable = true;
- autologin.enable = true;
- };
- };
-
- system.stateVersion = "24.05";
-}
diff --git a/modules/hosts/X230/hardware-configuration.nix b/modules/hosts/X230/hardware-configuration.nix
deleted file mode 100644
index 0791585..0000000
--- a/modules/hosts/X230/hardware-configuration.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-# Do not modify this file! It was generated by ‘nixos-generate-config’
-# and may be overwritten by future invocations. Please make changes
-# to /etc/nixos/configuration.nix instead.
-{ config, lib, pkgs, modulesPath, ... }:
-
-{
- imports =
- [ (modulesPath + "/installer/scan/not-detected.nix")
- ];
-
- boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usb_storage" "sd_mod" "sdhci_pci" ];
- boot.initrd.kernelModules = [ ];
- boot.kernelModules = [ "kvm-intel" ];
- boot.extraModulePackages = [ ];
-
- fileSystems."/" =
- { device = "/dev/disk/by-uuid/41036740-73bc-4004-a302-01233b4d83b8";
- fsType = "btrfs";
- options = [ "subvol=@" ];
- };
-
- boot.initrd.luks.devices."enc".device = "/dev/disk/by-uuid/6019772f-4a1c-4abd-9c70-b1d71cc2de65";
-
- fileSystems."/home" =
- { device = "/dev/disk/by-uuid/41036740-73bc-4004-a302-01233b4d83b8";
- fsType = "btrfs";
- options = [ "subvol=@home" ];
- };
-
- fileSystems."/boot" =
- { device = "/dev/disk/by-uuid/72D4-F66A";
- fsType = "vfat";
- options = [ "fmask=0022" "dmask=0022" ];
- };
-
- swapDevices = [ ];
-
- # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
- # (the default) this is the recommended approach. When using systemd-networkd it's
- # still possible to use this option, but it's recommended to use it in conjunction
- # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
- networking.useDHCP = lib.mkDefault true;
- # networking.interfaces.enp0s25.useDHCP = lib.mkDefault true;
- # networking.interfaces.wlp3s0.useDHCP = lib.mkDefault true;
-
- nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
- hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
-}
diff --git a/modules/hosts/X230/home.nix b/modules/hosts/X230/home.nix
deleted file mode 100644
index 03b559d..0000000
--- a/modules/hosts/X230/home.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ ... }: {
- imports = [ ../../home ];
-
- theme = {
- mint.theme.color = "Dark-Teal";
- mint.icons.color = "Teal";
- font = {
- monospace = "TamzenForPowerline";
- gtk.name = "monospace";
- gtk.size = 8;
- };
- cursor.size = 24;
- st = {
- enable = true;
- font = "TamzenForPowerline:pixelsize=14";
- };
- };
-}
diff --git a/modules/hosts/flex-wg-router/configuration.nix b/modules/hosts/flex-wg-router/configuration.nix
deleted file mode 100644
index f21046d..0000000
--- a/modules/hosts/flex-wg-router/configuration.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ config, lib, pkgs, ... }: {
- imports = [
- ./hardware-configuration.nix
- ../../archetypes/headless
- ];
- bootloader.mode = "efi";
-
- # Enable docker
- software.development = {
- docker.enable = true;
- };
-
- # Enable set root password
- users.setPassword.enable = true;
-
- system.stateVersion = "25.05";
-}
diff --git a/modules/hosts/flex-wg-router/hardware-configuration.nix b/modules/hosts/flex-wg-router/hardware-configuration.nix
deleted file mode 100644
index 01cff6d..0000000
--- a/modules/hosts/flex-wg-router/hardware-configuration.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-# Do not modify this file! It was generated by ‘nixos-generate-config’
-# and may be overwritten by future invocations. Please make changes
-# to /etc/nixos/configuration.nix instead.
-{ config, lib, pkgs, modulesPath, ... }:
-
-{
- imports =
- [ (modulesPath + "/installer/scan/not-detected.nix")
- ];
-
- boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
- boot.initrd.kernelModules = [ ];
- boot.kernelModules = [ "kvm-intel" ];
- boot.extraModulePackages = [ ];
-
- fileSystems."/" =
- { device = "/dev/disk/by-uuid/01eae5fd-a46e-4a36-8a9d-247a0b16bcef";
- fsType = "btrfs";
- options = [ "subvol=@" ];
- };
-
- fileSystems."/boot" =
- { device = "/dev/disk/by-uuid/345A-436A";
- fsType = "vfat";
- options = [ "fmask=0022" "dmask=0022" ];
- };
-
- fileSystems."/home" =
- { device = "/dev/disk/by-uuid/01eae5fd-a46e-4a36-8a9d-247a0b16bcef";
- fsType = "btrfs";
- options = [ "subvol=@home" ];
- };
-
- swapDevices = [ ];
-
- # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
- # (the default) this is the recommended approach. When using systemd-networkd it's
- # still possible to use this option, but it's recommended to use it in conjunction
- # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
- networking.useDHCP = lib.mkDefault true;
- # networking.interfaces.enp3s0.useDHCP = lib.mkDefault true;
-
- nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
- hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
-}
diff --git a/modules/hosts/flex-wg-router/home.nix b/modules/hosts/flex-wg-router/home.nix
deleted file mode 100644
index 21d548f..0000000
--- a/modules/hosts/flex-wg-router/home.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ ... }: {
- imports = [ ../../home ];
-
- theme.enable = false;
- programs.firefox.enable = false;
- gtk.enable = false;
-}
diff --git a/modules/hosts/hp-envy-office/configuration.nix b/modules/hosts/hp-envy-office/configuration.nix
deleted file mode 100644
index 60be56d..0000000
--- a/modules/hosts/hp-envy-office/configuration.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-{ config, lib, pkgs, ... }: {
- imports = [
- ./hardware-configuration.nix
- ../../nixos/archetypes/tjkeller
- ];
-
- # Setup bootloader
- boot._loader.enable = true;
- boot.loader.timeout = 15; # Show for longer since it's usually skipped
-
- # Enable common options
- _archetypes = {
- # Use desktop profile
- profiles.desktop.enable = true;
- # Install software
- collections = {
- desktop = {
- extraUtilities.enable = true;
- chromium.enable = true;
- graphics.enable = true;
- office.enable = true;
- };
- development = {
- docker.enable = true;
- web = {
- node.enable = true;
- };
- };
- virtualization.enable = true;
- bluetooth.enable = true;
- };
- # Setup user
- users.primary = {
- enable = true;
- };
- tjkeller = {
- nas = {
- enable = true;
- office.enable = true;
- office.automount = true;
- };
- };
- };
-
- # Disable suspend
- systemd._suspend.disable = true;
-
- # Use amdgpu driver for x11
- services.xserver.videoDrivers = [ "amdgpu" ];
-
- system.stateVersion = "24.11";
-}
diff --git a/modules/hosts/hp-envy-office/hardware-configuration.nix b/modules/hosts/hp-envy-office/hardware-configuration.nix
deleted file mode 100644
index 22a8c24..0000000
--- a/modules/hosts/hp-envy-office/hardware-configuration.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-# Do not modify this file! It was generated by ‘nixos-generate-config’
-# and may be overwritten by future invocations. Please make changes
-# to /etc/nixos/configuration.nix instead.
-{ config, lib, pkgs, modulesPath, ... }:
-
-{
- imports =
- [ (modulesPath + "/installer/scan/not-detected.nix")
- ];
-
- boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "ums_realtek" "usb_storage" "usbhid" "sd_mod" "sr_mod" ];
- boot.initrd.kernelModules = [ ];
- boot.kernelModules = [ ];
- boot.extraModulePackages = [ ];
-
- fileSystems."/" =
- { device = "/dev/disk/by-uuid/5749d84b-690b-43a2-b834-f94675003189";
- fsType = "btrfs";
- options = [ "subvol=@" ];
- };
-
- boot.initrd.luks.devices."cryptroot".device = "/dev/disk/by-uuid/4a617e54-4800-4474-b1fd-3bca5f66e55a";
-
- fileSystems."/home" =
- { device = "/dev/disk/by-uuid/5749d84b-690b-43a2-b834-f94675003189";
- fsType = "btrfs";
- options = [ "subvol=@home" ];
- };
-
- fileSystems."/boot" =
- { device = "/dev/disk/by-uuid/5E93-7CE3";
- fsType = "vfat";
- options = [ "fmask=0022" "dmask=0022" ];
- };
-
- swapDevices = [ ];
-
- # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
- # (the default) this is the recommended approach. When using systemd-networkd it's
- # still possible to use this option, but it's recommended to use it in conjunction
- # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
- networking.useDHCP = lib.mkDefault true;
- # networking.interfaces.enp3s0.useDHCP = lib.mkDefault true;
- # networking.interfaces.wlp2s0.useDHCP = lib.mkDefault true;
-
- nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
- hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
-}
diff --git a/modules/hosts/hp-envy-office/home.nix b/modules/hosts/hp-envy-office/home.nix
deleted file mode 100644
index 2e4f61f..0000000
--- a/modules/hosts/hp-envy-office/home.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ userDetails, ... }: {
- imports = [ ../../home ];
-
- theme.mint.theme.color = "Dark-Green";
- theme.mint.icons.color = "Green";
- wallpapers.enable = true;
-
- additional-gtk-bookmarks = with userDetails.userDirs; [
- "file://${documents}/src/sites/admin Admin"
- "file:///media/chexx/chexx cHEXx"
- ];
-}
diff --git a/modules/hosts/libreX60/bios-flashing.nix b/modules/hosts/libreX60/bios-flashing.nix
deleted file mode 100644
index 6117813..0000000
--- a/modules/hosts/libreX60/bios-flashing.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-# https://libreboot.org/docs/install/#thinkpad-t60x60x60tabletx60s
-
-{ pkgs, ... }: {
- environment.systemPackages = [ pkgs.flashprog ];
-
- boot.kernelParams = [ "iomem=relaxed" ];
-}
-
diff --git a/modules/hosts/libreX60/configuration.nix b/modules/hosts/libreX60/configuration.nix
deleted file mode 100644
index 9c83a42..0000000
--- a/modules/hosts/libreX60/configuration.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ config, lib, pkgs, ... }: {
- imports = [
- ./hardware-configuration.nix
- ./powertop-auto-tune.nix
- ../../nixos/archetypes/tjkeller
- # Uncomment this module and reboot to enable bios flashing
- #./bios-flashing.nix
- ];
-
- # Use grub
- boot._loader = {
- enable = true;
- loader = "grub";
- mode = "bios";
- grub.biosDevice = "/dev/sda";
- };
-
- # Use libre kernel
- boot.kernelPackages = pkgs.linuxPackages-libre;
-
- # i915 Gpu requires intel driver
- services.xserver.videoDrivers = [ "intel" ];
-
- system.stateVersion = "24.11";
-}
diff --git a/modules/hosts/libreX60/hardware-configuration.nix b/modules/hosts/libreX60/hardware-configuration.nix
deleted file mode 100644
index b0a7868..0000000
--- a/modules/hosts/libreX60/hardware-configuration.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-# Do not modify this file! It was generated by ‘nixos-generate-config’
-# and may be overwritten by future invocations. Please make changes
-# to /etc/nixos/configuration.nix instead.
-{ config, lib, pkgs, modulesPath, ... }:
-
-{
- imports =
- [ (modulesPath + "/installer/scan/not-detected.nix")
- ];
-
- boot.initrd.availableKernelModules = [ "uhci_hcd" "ehci_pci" "ata_piix" "ahci" "firewire_ohci" "usb_storage" "sd_mod" "sdhci_pci" ];
- boot.initrd.kernelModules = [ ];
- boot.kernelModules = [ "kvm-intel" ];
- boot.extraModulePackages = [ ];
-
- fileSystems."/" =
- { device = "/dev/disk/by-uuid/91572803-436d-4f43-b41f-dfba2103752e";
- fsType = "btrfs";
- options = [ "subvol=@" ];
- };
-
- fileSystems."/home" =
- { device = "/dev/disk/by-uuid/91572803-436d-4f43-b41f-dfba2103752e";
- fsType = "btrfs";
- options = [ "subvol=@home" ];
- };
-
- fileSystems."/boot" =
- { device = "/dev/disk/by-uuid/F618-D6C2";
- fsType = "vfat";
- options = [ "fmask=0022" "dmask=0022" ];
- };
-
- swapDevices = [ ];
-
- # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
- # (the default) this is the recommended approach. When using systemd-networkd it's
- # still possible to use this option, but it's recommended to use it in conjunction
- # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
- networking.useDHCP = lib.mkDefault true;
- networking.interfaces.enp1s0.useDHCP = lib.mkDefault true;
- networking.interfaces.wlp2s0.useDHCP = lib.mkDefault true;
-
- nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
- hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
-}
diff --git a/modules/hosts/libreX60/home.nix b/modules/hosts/libreX60/home.nix
deleted file mode 100644
index f5957d6..0000000
--- a/modules/hosts/libreX60/home.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ ... }: {
- imports = [ ../../home ];
-
- theme = {
- mint.theme.color = "Dark-Red";
- mint.icons.color = "Red";
- font = {
- monospace = "TamzenForPowerline";
- gtk.name = "monospace";
- gtk.size = 8;
- };
- cursor.size = 24;
- st = {
- enable = true;
- font = "TamzenForPowerline:pixelsize=14";
- };
- };
-}
diff --git a/modules/hosts/libreX60/powertop-auto-tune.nix b/modules/hosts/libreX60/powertop-auto-tune.nix
deleted file mode 100644
index 0eb9578..0000000
--- a/modules/hosts/libreX60/powertop-auto-tune.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# https://en.wikibooks.org/wiki/Libreboot/ThinkPad_X60#Remove_High_Pitched_Whining_Noise
-# TLDR; running `powertop --auto-tune` is supposed to kill the high pitched noises produced by the X60
-
-{ pkgs, ... }: {
- environment.systemPackages = [ pkgs.powertop ];
-
- # Create systemd service
- systemd.services.powertop-autotune = {
- description = "Powertop Auto-Tune";
- wantedBy = [ "multi-user.target" ];
- after = [ "network.target" ];
- serviceConfig = {
- Type = "oneshot";
- ExecStart = "${pkgs.powertop}/bin/powertop --auto-tune";
- };
- };
-}
diff --git a/modules/hosts/optiplex/configuration.nix b/modules/hosts/optiplex/configuration.nix
deleted file mode 100644
index 36241a8..0000000
--- a/modules/hosts/optiplex/configuration.nix
+++ /dev/null
@@ -1,73 +0,0 @@
-{ config, lib, pkgs, ... }: {
- imports = [
- ./hardware-configuration.nix
- ../../nixos/archetypes/tjkeller
- ];
-
- # Setup bootloader
- boot._loader.enable = true;
-
- # Enable common options
- _archetypes = {
- # Use desktop profile
- profiles.desktop.enable = true;
- # Install software
- collections = {
- desktop = {
- extraUtilities.enable = true;
- cad.enable = true;
- chromium.enable = true;
- crypto.enable = true;
- graphics.enable = true;
- office.enable = true;
- };
- development = {
- android.enable = true;
- c.enable = true;
- docker.enable = true;
- lua.enable = true;
- web = {
- hugo = {
- enable = true;
- openFirewall = true;
- };
- node.enable = true;
- };
- };
- };
- # Setup user
- users.primary = {
- enable = true;
- autologin.enable = true;
- };
- tjkeller = {
- nas.enable = true;
- };
- };
-
- # Disable suspend
- systemd._suspend.disable = true;
-
- # Allow unfree for nvidia + others
- nixpkgs.config.allowUnfree = true;
-
- # Install more software
- environment.systemPackages = with pkgs; [
- prismlauncher
- spotify
- #vintagestory
- ];
-
- # Use nvidia driver
- services.xserver.videoDrivers = [ "nvidia" ];
- hardware.nvidia = {
- modesetting.enable = true; # Required
- powerManagement.enable = false; # Can cause bugs
- nvidiaSettings = true;
- open = false; # Not compatible w/ GTX-1050
- package = config.boot.kernelPackages.nvidiaPackages.stable; # Still good for 1050
- forceFullCompositionPipeline = true; # Enables vsync
- };
-
- system.stateVersion = "24.11";
-}
diff --git a/modules/hosts/optiplex/hardware-configuration.nix b/modules/hosts/optiplex/hardware-configuration.nix
deleted file mode 100644
index 3d9651e..0000000
--- a/modules/hosts/optiplex/hardware-configuration.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-# Do not modify this file! It was generated by ‘nixos-generate-config’
-# and may be overwritten by future invocations. Please make changes
-# to /etc/nixos/configuration.nix instead.
-{ config, lib, pkgs, modulesPath, ... }:
-
-{
- imports =
- [ (modulesPath + "/installer/scan/not-detected.nix")
- ];
-
- boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "firewire_ohci" "usbhid" "usb_storage" "sd_mod" "sr_mod" ];
- boot.initrd.kernelModules = [ ];
- boot.kernelModules = [ "kvm-intel" ];
- boot.extraModulePackages = [ ];
-
- fileSystems."/" =
- { device = "/dev/disk/by-uuid/a9d54117-31f6-4cad-b1b2-250f6bfd7808";
- fsType = "btrfs";
- options = [ "subvol=@" ];
- };
-
- fileSystems."/home" =
- { device = "/dev/disk/by-uuid/a9d54117-31f6-4cad-b1b2-250f6bfd7808";
- fsType = "btrfs";
- options = [ "subvol=@home" ];
- };
-
- fileSystems."/boot" =
- { device = "/dev/disk/by-uuid/6987-81B6";
- fsType = "vfat";
- options = [ "fmask=0022" "dmask=0022" ];
- };
-
- swapDevices = [ ];
-
- # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
- # (the default) this is the recommended approach. When using systemd-networkd it's
- # still possible to use this option, but it's recommended to use it in conjunction
- # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
- networking.useDHCP = lib.mkDefault true;
- # networking.interfaces.eno1.useDHCP = lib.mkDefault true;
-
- nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
- hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
-}
diff --git a/modules/hosts/optiplex/home.nix b/modules/hosts/optiplex/home.nix
deleted file mode 100644
index ee56dc6..0000000
--- a/modules/hosts/optiplex/home.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ ... }: {
- imports = [ ../../home ];
-
- theme.mint.theme.color = "Dark-Green";
- theme.mint.icons.color = "Green";
- wallpapers.enable = true;
-}
diff --git a/modules/hosts/poweredge/configuration.nix b/modules/hosts/poweredge/configuration.nix
deleted file mode 100644
index 08e392d..0000000
--- a/modules/hosts/poweredge/configuration.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ config, lib, pkgs, ... }: {
- imports = [ ./hardware-configuration.nix ];
-
- # ZFS bootloader
- bootloader.loader = "grub";
- bootloader.mode = "efi";
- boot.loader.grub = {
- zfsSupport = true;
- efiInstallAsRemovable = true;
- mirroredBoots = [
- { devices = [ "nodev" ]; path = "/boot"; }
- ];
- };
-
- # Disable suspend
- suspend.enable = false;
-
- system.stateVersion = "25.05";
-}
diff --git a/modules/nixos/archetypes/collections/bluetooth.nix b/modules/nixos/archetypes/collections/bluetooth.nix
deleted file mode 100644
index 749a9f1..0000000
--- a/modules/nixos/archetypes/collections/bluetooth.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ pkgs, lib, config, ... }: let
- cfg = config._archetypes.collections.bluetooth;
-in {
- options._archetypes.collections.bluetooth = {
- enable = lib.mkEnableOption "enables bluetooth and blueman";
- };
-
- config = lib.mkIf cfg.enable {
- hardware.bluetooth.enable = true;
- services.blueman.enable = config._archetypes.collections.desktop.utilities.enable; # FIXME
- };
-}
diff --git a/modules/nixos/archetypes/collections/desktop/cad.nix b/modules/nixos/archetypes/collections/desktop/cad.nix
deleted file mode 100644
index 33edcd5..0000000
--- a/modules/nixos/archetypes/collections/desktop/cad.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ pkgs, lib, config, ... }: let
- cfg = config._archetypes.collections.desktop.cad;
-in {
- options._archetypes.collections.desktop.cad = {
- enable = lib.mkEnableOption "install cad and 3d printing software";
- };
-
- config = lib.mkIf cfg.enable {
- environment.systemPackages = with pkgs; [
- blender
- freecad
- prusa-slicer
- ];
- };
-}
diff --git a/modules/nixos/archetypes/collections/desktop/chromium.nix b/modules/nixos/archetypes/collections/desktop/chromium.nix
deleted file mode 100644
index b4638f0..0000000
--- a/modules/nixos/archetypes/collections/desktop/chromium.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ pkgs, lib, config, ... }: let
- cfg = config._archetypes.collections.desktop.chromium;
-in {
- options._archetypes.collections.desktop.chromium = {
- enable = lib.mkEnableOption "install chromium browser";
- package = lib.mkOption {
- type = lib.types.package;
- default = pkgs.ungoogled-chromium;
- description = "chromium package to install";
- };
- };
-
- config = lib.mkIf cfg.enable {
- environment.systemPackages = [
- cfg.package
- ];
- };
-}
diff --git a/modules/nixos/archetypes/collections/desktop/crypto.nix b/modules/nixos/archetypes/collections/desktop/crypto.nix
deleted file mode 100644
index f90919e..0000000
--- a/modules/nixos/archetypes/collections/desktop/crypto.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ pkgs, lib, config, ... }: let
- cfg = config._archetypes.collections.desktop.crypto;
-in {
- options._archetypes.collections.desktop.crypto = {
- enable = lib.mkEnableOption "install crypto wallets";
- };
-
- config = lib.mkIf cfg.enable {
- environment.systemPackages = with pkgs; [
- sparrow
- ];
- };
-}
diff --git a/modules/nixos/archetypes/collections/desktop/default.nix b/modules/nixos/archetypes/collections/desktop/default.nix
deleted file mode 100644
index bbca8df..0000000
--- a/modules/nixos/archetypes/collections/desktop/default.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- imports = [
- ./cad.nix
- ./chromium.nix
- ./crypto.nix
- ./extra.nix
- ./firefox.nix
- ./graphics.nix
- ./office.nix
- ./utilities.nix
- ./xserver.nix
- ];
-}
diff --git a/modules/nixos/archetypes/collections/desktop/extra.nix b/modules/nixos/archetypes/collections/desktop/extra.nix
deleted file mode 100644
index 699b20f..0000000
--- a/modules/nixos/archetypes/collections/desktop/extra.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ pkgs, lib, config, ... }: let
- cfg = config._archetypes.collections.desktop.extraUtilities;
-in {
- options._archetypes.collections.desktop.extraUtilities = {
- enable = lib.mkEnableOption "install extra desktop utilities";
- };
-
- config = lib.mkIf cfg.enable {
- environment.systemPackages = with pkgs; [
- jellyfin-mpv-shim
- qbittorrent
- qdirstat
- remmina
- ];
- };
-}
diff --git a/modules/nixos/archetypes/collections/desktop/firefox.nix b/modules/nixos/archetypes/collections/desktop/firefox.nix
deleted file mode 100644
index 02656f6..0000000
--- a/modules/nixos/archetypes/collections/desktop/firefox.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ pkgs, lib, config, ... }: let
- cfg = config._archetypes.collections.desktop.firefox;
-in {
- options._archetypes.collections.desktop.firefox = {
- enable = lib.mkEnableOption "install firefox";
- };
-
- config = lib.mkIf cfg.enable {
- programs.firefox.enable = true;
- };
-}
-
diff --git a/modules/nixos/archetypes/collections/desktop/graphics.nix b/modules/nixos/archetypes/collections/desktop/graphics.nix
deleted file mode 100644
index f4242d1..0000000
--- a/modules/nixos/archetypes/collections/desktop/graphics.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ pkgs, lib, config, ... }: let
- cfg = config._archetypes.collections.desktop.graphics;
-in {
- options._archetypes.collections.desktop.graphics = {
- enable = lib.mkEnableOption "install graphic design software";
- };
-
- config = lib.mkIf cfg.enable {
- environment.systemPackages = with pkgs; [
- blender
- geeqie
- gimp3
- inkscape
- ];
- };
-}
diff --git a/modules/nixos/archetypes/collections/desktop/office.nix b/modules/nixos/archetypes/collections/desktop/office.nix
deleted file mode 100644
index 23e6862..0000000
--- a/modules/nixos/archetypes/collections/desktop/office.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ pkgs, lib, config, ... }: let
- cfg = config._archetypes.collections.desktop.office;
-in {
- options._archetypes.collections.desktop.office = {
- enable = lib.mkEnableOption "install office software";
- };
-
- config = lib.mkIf cfg.enable {
- environment.systemPackages = with pkgs; [
- hunspell # Spell checking in libreoffice
- hunspellDicts.en_US
- kdePackages.okular
- libreoffice
- pdfchain
- thunderbird
- ];
- };
-}
diff --git a/modules/nixos/archetypes/collections/desktop/utilities.nix b/modules/nixos/archetypes/collections/desktop/utilities.nix
deleted file mode 100644
index 43d4973..0000000
--- a/modules/nixos/archetypes/collections/desktop/utilities.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ pkgs, lib, config, ... }: let
- cfg = config._archetypes.collections.desktop.utilities;
-in {
- options._archetypes.collections.desktop.utilities = {
- enable = lib.mkEnableOption "install basic desktop utilities";
- };
-
- config = lib.mkIf cfg.enable {
- environment.systemPackages = with pkgs; [
- arandr
- dmenu
- libnotify
- lowbat
- mpv
- pavolctld
- pavucontrol
- pcmanfm
- redshift
- scrot
- st
- sxiv
- wpa_supplicant_gui
- zathura
- ];
-
- programs.localsend.enable = true; # Installs & opens firewall
- services.gvfs.enable = true; # GVfs allows for mounting drives in a graphical file manager
- };
-}
diff --git a/modules/nixos/archetypes/collections/desktop/xserver.nix b/modules/nixos/archetypes/collections/desktop/xserver.nix
deleted file mode 100644
index 4cbdae8..0000000
--- a/modules/nixos/archetypes/collections/desktop/xserver.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ pkgs, lib, config, ... }: let
- cfg = config._archetypes.collections.desktop.xserver;
-in {
- options._archetypes.collections.desktop.xserver = {
- enable = lib.mkEnableOption "installs xserver";
- utilities.enable = lib.mkEnableOption "installs basic xserver utilities";
- };
-
- config = lib.mkIf cfg.enable {
- services.xserver.enable = true;
- services.xserver.displayManager.startx.enable = true;
- services.libinput.enable = true; # Enable touchpad support
-
- # Install basic X utilities
- environment.systemPackages = with pkgs; lib.optionals cfg.utilities.enable [
- unclutter
- xcape
- xclip
- xdotool
- xorg.setxkbmap
- xorg.xinput
- xorg.xkill
- xorg.xrandr
- xorg.xset
- xwallpaper
- ];
-
- # Enable TearFree option by default
- # Not all video drivers support this option
- services.xserver.deviceSection = ''
- Option "TearFree" "true"
- '';
- };
-}
diff --git a/modules/nixos/archetypes/collections/development/default.nix b/modules/nixos/archetypes/collections/development/default.nix
deleted file mode 100644
index 87fe2d2..0000000
--- a/modules/nixos/archetypes/collections/development/default.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ pkgs, lib, config, ... }: let
- cfg = config._archetypes.collections.development;
- hugoFirewallPort = 1313;
-in {
- imports = [
- ./docker.nix
- ];
-
- options._archetypes.collections.development = {
- utilities.enable = lib.mkEnableOption "install basic dev utilities";
- android.enable = lib.mkEnableOption "install android dev tools";
- c.enable = lib.mkEnableOption "install c dev tools";
- lua.enable = lib.mkEnableOption "install lua dev tools";
- web = {
- hugo = {
- enable = lib.mkEnableOption "install hugo";
- openFirewall = lib.mkEnableOption "open the port ${hugoFirewallPort} for viewing content from hugo serve on other devices";
- };
- node.enable = lib.mkEnableOption "install node";
- };
- };
-
- config = {
- environment.systemPackages = with pkgs; [
- git
- python3
- ] ++ lib.optionals cfg.android.enable [
- #adb-sync
- android-tools
- ] ++ lib.optionals cfg.c.enable [
- gcc
- git
- gnumake
- pkg-config
- ] ++ lib.optionals cfg.lua.enable [
- lua
- ] ++ lib.optionals cfg.web.hugo.enable [
- hugo
- ] ++ lib.optionals cfg.web.node.enable [
- nodejs
- ];
-
- networking.firewall.allowedTCPPorts = lib.mkIf cfg.web.hugo.openFirewall [ hugoFirewallPort ];
- };
-}
diff --git a/modules/nixos/archetypes/collections/development/docker.nix b/modules/nixos/archetypes/collections/development/docker.nix
deleted file mode 100644
index 629dff3..0000000
--- a/modules/nixos/archetypes/collections/development/docker.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ pkgs, lib, config, ... }: let
- cfg = config._archetypes.collections.development.docker;
-in {
- options._archetypes.collections.development.docker = {
- enable = lib.mkEnableOption "enables docker";
- btrfsSupport = lib.mkOption {
- type = lib.types.bool;
- default = true;
- description = "Changes docker storageDriver to btrfs.";
- };
- };
-
- config = lib.mkIf cfg.enable {
- virtualisation.docker = {
- enable = true;
- storageDriver = lib.mkIf cfg.btrfsSupport "btrfs";
- };
-
- environment.systemPackages = with pkgs; [
- docker-compose
- ];
- };
-}
diff --git a/modules/nixos/archetypes/collections/fonts.nix b/modules/nixos/archetypes/collections/fonts.nix
deleted file mode 100644
index 136e31b..0000000
--- a/modules/nixos/archetypes/collections/fonts.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ pkgs, lib, config, ... }: let
- cfg = config._archetypes.collections.fonts;
-in {
- options._archetypes.collections.fonts = {
- enable = lib.mkEnableOption "enables fonts";
- };
-
- config = lib.mkIf cfg.enable {
- fonts.packages = with pkgs; [
- commit-mono
- inter
- nerd-fonts.jetbrains-mono
- tamzen
- ];
- };
-}
diff --git a/modules/nixos/archetypes/collections/utilities.nix b/modules/nixos/archetypes/collections/utilities.nix
deleted file mode 100644
index 85763a4..0000000
--- a/modules/nixos/archetypes/collections/utilities.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ pkgs, ... }: {
- environment.systemPackages = with pkgs; [
- crazydiskinfo
- dash # TODO should be default /bin/sh
- entr
- fastfetch
- ffmpeg
- htop
- jq
- light
- lm_sensors
- mediainfo
- neovim
- nmap
- openssl
- p7zip
- powertop
- pv
- rsync
- screen
- smartmontools
- sslscan
- stress
- testdisk
- tmux
- uhubctl
- vimv-rs
- wget
- wireguard-tools
- xxHash
- yt-dlp
- ];
-
- services.gpm.enable = true;
-}
diff --git a/modules/nixos/archetypes/collections/virtualization.nix b/modules/nixos/archetypes/collections/virtualization.nix
deleted file mode 100644
index fda0e48..0000000
--- a/modules/nixos/archetypes/collections/virtualization.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ pkgs, lib, config, ... }: let
- cfg = config._archetypes.collections.virtualization;
-in {
- options._archetypes.collections.virtualization = {
- enable = lib.mkEnableOption "enables virtualization and virt-manager";
- };
-
- config = lib.mkIf cfg.enable {
- virtualisation = {
- spiceUSBRedirection.enable = true;
- libvirtd.enable = true;
- # Enable efi support with ovmf firmware
- libvirtd.qemu = {
- package = pkgs.qemu_kvm;
- runAsRoot = true;
- swtpm.enable = true;
- ovmf.enable = true;
- };
- };
- programs.virt-manager.enable = config._archetypes.collections.desktop.utilities.enable; # FIXME
- };
-}
diff --git a/modules/nixos/archetypes/profiles/desktop/default.nix b/modules/nixos/archetypes/profiles/desktop/default.nix
deleted file mode 100644
index d9a7dc7..0000000
--- a/modules/nixos/archetypes/profiles/desktop/default.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{ lib, config, pkgs, ... }: let
- mkDesktop = lib.mkOverride 920;
- cfg = config._archetypes.profiles.desktop;
-in {
- options._archetypes.profiles.desktop = {
- enable = lib.mkEnableOption "enable desktop profile";
- };
-
- config = lib.mkIf cfg.enable {
- _archetypes.collections = {
- desktop = {
- utilities.enable = mkDesktop true;
- firefox.enable = mkDesktop true;
- xserver = {
- enable = mkDesktop true;
- utilities.enable = mkDesktop true;
- };
- };
- development = {
- utilities.enable = mkDesktop true;
- };
- fonts.enable = mkDesktop true;
- };
-
- _archetypes.users.primary = {
- enable = mkDesktop true;
- };
-
- security = {
- _doas.enable = mkDesktop true;
- };
-
- programs = {
- _ddcutil.enable = mkDesktop true;
- _home-manager.enable = mkDesktop true;
- };
-
- services = {
- xserver = {
- windowManager._awesome.enable = mkDesktop true;
- };
- _pipewire.enable = mkDesktop true;
- _printing.enable = mkDesktop true;
- _ssh.enable = mkDesktop true;
- tlp.enable = mkDesktop true;
-
- # Ensure video group can change backlight
- udev.extraRules = ''
- SUBSYSTEM=="backlight", ACTION=="add", RUN+="${pkgs.coreutils}/bin/chgrp video /sys/class/backlight/%k/brightness", RUN+="${pkgs.coreutils}/bin/chmod g+w /sys/class/backlight/%k/brightness"
- '';
- };
- };
-}
diff --git a/modules/nixos/archetypes/profiles/headless/default.nix b/modules/nixos/archetypes/profiles/headless/default.nix
deleted file mode 100644
index ef17db0..0000000
--- a/modules/nixos/archetypes/profiles/headless/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ lib, config, ... }: let
- mkHeadless = lib.mkOverride 910;
- cfg = config._archetypes.profiles.headless;
-in {
- options._archetypes.profiles.headless = {
- enable = lib.mkEnableOption "enable headless profile";
- };
-
- config = lib.mkIf cfg.enable {
- _archetypes.collections = {
- development = {
- utilities.enable = mkHeadless true;
- };
- };
-
- _archetypes.users = {
- primary.enable = mkHeadless true;
- };
-
- security = {
- _doas.enable = mkHeadless true;
- };
-
- programs = {
- _ddcutil.enable = mkHeadless true;
- };
-
- services = {
- _ssh.enable = mkHeadless true;
- };
- };
-}
diff --git a/modules/nixos/archetypes/tjkeller/default.nix b/modules/nixos/archetypes/tjkeller/default.nix
deleted file mode 100644
index 6a9bbd9..0000000
--- a/modules/nixos/archetypes/tjkeller/default.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- imports = [
- ./hosts.nix
- ./localization.nix
- ./nas.nix
- ./printing.nix
- ./user.nix
- ./wifi.nix
- ];
-}
diff --git a/modules/nixos/archetypes/tjkeller/hosts.nix b/modules/nixos/archetypes/tjkeller/hosts.nix
deleted file mode 100644
index 66c6ccc..0000000
--- a/modules/nixos/archetypes/tjkeller/hosts.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- networking.hosts = {
- "192.168.1.9" = [ "optiplex" ];
- "192.168.1.30" = [ "localgit" ];
- "192.168.1.11" = [ "truenas-home" ];
- "192.168.77.11" = [ "truenas-office" ];
- "192.168.77.8" = [ "publicgit" "tjkeller" ];
- "192.168.77.3" = [ "devel" ];
- "173.9.253.3" = [
- "git.tjkeller.xyz"
- "piped.tjkeller.xyz"
- "search.tjkeller.xyz"
- "tjkeller.xyz"
- ];
- };
-}
diff --git a/modules/nixos/archetypes/tjkeller/localization.nix b/modules/nixos/archetypes/tjkeller/localization.nix
deleted file mode 100644
index 8313f07..0000000
--- a/modules/nixos/archetypes/tjkeller/localization.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- time.timeZone = "America/Chicago";
- i18n.defaultLocale = "en_US.UTF-8";
- services.xserver.xkb.layout = "us";
-}
diff --git a/modules/nixos/archetypes/tjkeller/nas.nix b/modules/nixos/archetypes/tjkeller/nas.nix
deleted file mode 100644
index 1ed0ca3..0000000
--- a/modules/nixos/archetypes/tjkeller/nas.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ lib, config, ... } :
-let
- cfg = config._archetypes.tjkeller.nas;
- mkNetworkFileSystem = device: automount: {
- device = "${device}";
- fsType = "nfs";
- options = [ "defaults" ] ++ lib.optionals (!automount) [ "noauto" ];
- };
-in {
- options._archetypes.tjkeller.nas = {
- enable = lib.mkEnableOption "enable network shares";
- home = {
- enable = lib.mkEnableOption "enable home network shares";
- automount = lib.mkEnableOption "automount home network shares";
- };
- office = {
- enable = lib.mkEnableOption "enable office network shares";
- automount = lib.mkEnableOption "automount home network shares";
- };
- };
-
- config = lib.mkIf cfg.enable {
- fileSystems = lib.optionalAttrs cfg.home.enable {
- "/media/Storage/Media" = mkNetworkFileSystem "truenas-home:/mnt/Storage/Media" cfg.home.automount;
- "/media/Storage/Backups" = mkNetworkFileSystem "truenas-home:/mnt/Storage/Backups" cfg.home.automount;
- "/media/Storage/Tapes" = mkNetworkFileSystem "truenas-home:/mnt/Storage/Backups/Tapes" cfg.home.automount;
- "/media/Family Photos" = mkNetworkFileSystem "truenas-home:/mnt/Media/Photos" cfg.home.automount;
- } // lib.optionalAttrs cfg.office.enable {
- "/media/chexx/chexx" = mkNetworkFileSystem "truenas-office:/mnt/Storage/chexx" cfg.office.automount;
- "/media/chexx/tkdocs" = mkNetworkFileSystem "truenas-office:/mnt/Storage/Users/Tim-Keller" cfg.office.automount;
- "/media/chexx/scans" = mkNetworkFileSystem "truenas-office:/mnt/Storage/Scans" cfg.office.automount;
- };
- # TODO auto mkdirz
- };
-}
diff --git a/modules/nixos/archetypes/tjkeller/printing.nix b/modules/nixos/archetypes/tjkeller/printing.nix
deleted file mode 100644
index d5cceab..0000000
--- a/modules/nixos/archetypes/tjkeller/printing.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ lib, config, pkgs, ... }: {
- config = lib.mkIf config.services.printing.enable {
- # Printer drivers
- services.printing.drivers = [
- pkgs.epson-escpr2
- pkgs.workcentre-7800-series
- ];
-
- # Scanning programs
- environment.systemPackages = with pkgs; [
- epsonscan2
- ];
-
- # Printers
- networking.hosts = {
- "192.168.1.35" = [ "Epson_ET-8500" ];
- "192.168.77.40" = [ "Xerox_WorkCentre_7855" ];
- };
-
- # Add printers to cups
- hardware.printers.ensurePrinters = [
- {
- name = "Epson_ET-8500";
- description = "Epson ET-8500";
- location = "Home";
- deviceUri = "ipp://Epson_ET-8500:631/ipp/print";
- model = "epson-inkjet-printer-escpr2/Epson-ET-8500_Series-epson-escpr2-en.ppd";
- }
- #{
- # name = "Xerox_WorkCentre_7855";
- # description = "Xerox WorkCentre 7855";
- # location = "Office";
- # deviceUri = "ipp://Xerox_WorkCentre_7855:631/ipp/print";
- # model = "everywhere IPP Everywhere";
- #}
- ];
- hardware.printers.ensureDefaultPrinter = "Epson_ET-8500";
- };
-}
diff --git a/modules/nixos/archetypes/tjkeller/resources/secrets/hashed-root-password.yaml b/modules/nixos/archetypes/tjkeller/resources/secrets/hashed-root-password.yaml
deleted file mode 100644
index a42fd42..0000000
--- a/modules/nixos/archetypes/tjkeller/resources/secrets/hashed-root-password.yaml
+++ /dev/null
@@ -1,25 +0,0 @@
-hashed-root-password: ENC[AES256_GCM,data:7Qgoeb/6JPNupkHCBEzCs0FMP2cDEw972bjCRWeMrBrAMZzLsZc3Mbv03s1zLztUp6Ie93R5lVsamxKPUnaPt+Tnr/l+0E9aTmt7j7L6UzmWr12nj3FHxxTSU9ief6+ioIk+S4eICJspIQ==,iv:VoWP4qBCGzuYRpQw4nilUXByJ+ZwyZR/BdKowi+53DM=,tag:x6A00VCm8BEOhtv/WySXrQ==,type:str]
-sops:
- age:
- - recipient: age1w80rc0dnuu8nw99gw64c596qqetm78jdnsqajr0u7ephykekr39qfz8vnv
- enc: |
- -----BEGIN AGE ENCRYPTED FILE-----
- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2Z3dTbW1GUzgyRUwyZGtF
- alZSeFBmdEdhNER3UEtGRGd4MnliK1l1eGpJCm80SHFNZ3NZOTNxVkM4R3ZLY005
- OFVtUGN3OXZJblRxOFNMOFhsV25CS0EKLS0tIEE5SG5NekxWbytXY2xNeUN6TWhG
- RldJZms3RDFuRk40ck42Mkd5RTd4YVUKgyWE8Cs0yLO/82w2muGWTlcjY86BVSUy
- bFeIcQT33dEPiNUmynTqEGpN2NVQbfVDw17QbA9GNhGClanTTXmX4A==
- -----END AGE ENCRYPTED FILE-----
- - recipient: age1f0tmpy2nam58skmznjyqd3zf54rxtfrk6fda0vlpq9y3yg6wac7sjf0vja
- enc: |
- -----BEGIN AGE ENCRYPTED FILE-----
- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxcUprWjBXTVlidTRwMEZ6
- WHE4dWp6OWtybkFCaTkyY2JyaWYrRHNhZWtNCi9xamwreEsyVFdnWWhJeUVsdUpT
- UHlkRVJZZTEvMDluTWNJSnRSUXN6Q0kKLS0tIHNsQk92SUd2ekowY0hvQi9LNjIx
- Q0oxVFNtRkpZTlVHeEY3YXFoSlc4Zk0K7RaqH/Qf2dTPBuCz9DH0xgU+Tq8ATKUq
- tfAuuAU9HBtLFiZjhWsZmj5XUy5Z18IiUKDIxlw41mNtbcsUnjm30w==
- -----END AGE ENCRYPTED FILE-----
- lastmodified: "2025-07-17T22:34:07Z"
- mac: ENC[AES256_GCM,data:B95HuJC2o8B+P1f9kAtJTcSty7YSAByuqe/Xs6ce6780p05FuzWM5X9bwvwsYXngGNKqCHksWf50UXzJ3eyc6y4ISxdxljAv2FmJFKw4NkfGaOMiRLlGPMn1uFpOtkRT+qL0+mupWG/Ap3zcpbxjsDx46PUur+e6yRxlAHw8mGw=,iv:DYobhWK+4+7vOog7BrBASiHrEzzz0P6zqgWxexfcLG8=,tag:skGwUpDEB8e3TCjrxs5peA==,type:str]
- unencrypted_suffix: _unencrypted
- version: 3.10.2
diff --git a/modules/nixos/archetypes/tjkeller/resources/secrets/wpa_supplicant-conf.yaml b/modules/nixos/archetypes/tjkeller/resources/secrets/wpa_supplicant-conf.yaml
deleted file mode 100644
index 2fd7a0e..0000000
--- a/modules/nixos/archetypes/tjkeller/resources/secrets/wpa_supplicant-conf.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-wpa_supplicant-conf: ENC[AES256_GCM,data:QoHQhTuEsSCW/K2ArOzNMfpSV7RtyTgezg4bM6eyNwhBhuJ/fCExzrniZtFzZ3zfs+ROFOYYxkx5lu4N/AQ6xEdCjJ3DYKHpeveqQ3GcWaldDr6aUDxLnBmLGBgSskGoOOANCwGvXGtFsChlCah02/W3YIhLWKIC1pfw1t9ANw9ErtLt7Fxt8TphJ1n9KdCXCJCMFrDjWDTrvbDzrvkJh6EGJIoaXuJSN+9asKrFvTwXyvHPbJmw8ZRbYgtlJtv5c1Q+PZoMtEeBRI/q2y/xUX5nvhnyy3HO1CaZPq+2XP9w+Zz90PyehVvbFVSl3V3Wg3rg9uu/c1rRGgfNkVJSHdhN+7nWYobSI28uoA8L9oXono9mNYwfcN2c4R6xwW9yOH72KabKRbD0Qq0mXcwNjU0HNneqvnMFURbDVstWmKt39gHg2xoZkG774EEDdXBAmKe5nbj0wVk8TBPWPcyR8gQ3uQrXPElqC7CWHMvajzi/hq02gmzkq1DAiheVWHxVmSQUUP3M52vvFBDdWip4X7IM3r5H4uBmcF6wGHl7JS+okDno5BuInIXvrApDV3rTqnam7YeQZao9pbx8WRWg/ZQFUysiXf9tcAl4ror71+SLKa5MfeP9AV431DbcsrIS1XQ=,iv:7qdltuNvesslz32SfEXqu9WFu2uGOGg1sjfskfqfXnk=,tag:N1RhL1M9YtDlvxLBRC2gAg==,type:str]
-sops:
- age:
- - recipient: age1w80rc0dnuu8nw99gw64c596qqetm78jdnsqajr0u7ephykekr39qfz8vnv
- enc: |
- -----BEGIN AGE ENCRYPTED FILE-----
- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxdXBUWXEvRU85Tk1lNWgz
- ZHpENjdudmRuaEJIeVRHOHlDbWNzK0tQMGs4CmV6MVBpdE5PMTBWMm1PcDVFQ2VM
- b0IwWDFxLy8xYUcxRVZFSEsyYlBFS1UKLS0tIHpCbDQ0a29TZlVFTGp4aXJCSmJ4
- ZGxqMFQ1NDk1OHJIOUd0cVV0dzNNQlkKzYX36u0rEq6dMTCJf6OON6LzcEEnAB5A
- +M9t3OKUUNtwgksjBUEwqBLJ1sU9amijpK63GUxwp74YDtsb0YXHiw==
- -----END AGE ENCRYPTED FILE-----
- lastmodified: "2025-07-17T22:33:44Z"
- mac: ENC[AES256_GCM,data:leJsAdcWFE0EA1syXfd7yDu1Ct+vTkKiHUEc46O31uUeaWVFwgH8EKC0ImqiHMgbDJv+a9UHm7GtsWy1aMQNVRBXL3R2HbNQkOqGkIIdGsrrbjslQl8UwI7wx1g2P3ORhlGRYXTscDUl53+e4i3YrYOEDDPL5EAWuQEWldJXLZc=,iv:banL6qqV2EqfZFKHn5dawUq95Ima06z8H6Kso1qRdcA=,tag:g6M95M6bT4UPTfiEZT4ljw==,type:str]
- unencrypted_suffix: _unencrypted
- version: 3.10.2
diff --git a/modules/nixos/archetypes/tjkeller/user.nix b/modules/nixos/archetypes/tjkeller/user.nix
deleted file mode 100644
index 2695549..0000000
--- a/modules/nixos/archetypes/tjkeller/user.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ lib, config, pkgs, userDetails, ... }: let
- cfg = config._archetypes.tjkeller.setPasswords;
- hashedPasswordFile = config.sops.secrets.hashed-root-password.path;
-in {
- options._archetypes.tjkeller.setPasswords = {
- enable = lib.mkEnableOption "set users password. requires hashed root password from sops";
- };
-
- config = lib.mkIf cfg.enable {
- # Load hashed root password secret
- sops.secrets.hashed-root-password = {
- sopsFile = ./resources/secrets/hashed-root-password.yaml;
- neededForUsers = true;
- };
-
- # Apply password file
- users.users = {
- root = { inherit hashedPasswordFile; };
- ${userDetails.username} = lib.mkIf config._archetypes.users.primary.enable { inherit hashedPasswordFile; };
- };
- };
-}
diff --git a/modules/nixos/archetypes/tjkeller/wifi.nix b/modules/nixos/archetypes/tjkeller/wifi.nix
deleted file mode 100644
index 32b6ef8..0000000
--- a/modules/nixos/archetypes/tjkeller/wifi.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ lib, config, ... }: let
- cfg = config._archetypes.tjkeller.wifi;
-in {
- options._archetypes.tjkeller.wifi = {
- enable = lib.mkEnableOption "enables wifi";
- };
-
- config = lib.mkIf cfg.enable {
- networking.wireless = {
- enable = true; # Enables wireless support via wpa_supplicant.
- userControlled.enable = true;
- allowAuxiliaryImperativeNetworks = true; # Networks defined in aux imperitive networks (/etc/wpa_supplicant.conf)
- };
-
- # Load wpa_supplicant.conf secret config
- sops.secrets.wpa_supplicant-conf = {
- sopsFile = ./resources/secrets/wpa_supplicant-conf.yaml;
- };
-
- # Link /etc/wpa_supplicant.conf -> secret config
- environment.etc."wpa_supplicant.conf" = {
- source = config.sops.secrets.wpa_supplicant-conf.path;
- };
-
- # This service is a workaround to ensure that secrets are available on
- # reboot when the secret keys are on a separate subvolume
- systemd.services.npcnix-force-rebuild-sops-hack = {
- wantedBy = [ "multi-user.target" ];
- before = [ "wpa_supplicant.service" ];
- serviceConfig = {
- ExecStart = "/run/current-system/activate";
- Type = "oneshot";
- Restart = "on-failure"; # because oneshot
- RestartSec = "10s";
- };
- };
- };
-}
diff --git a/modules/nixos/archetypes/users/primary.nix b/modules/nixos/archetypes/users/primary.nix
deleted file mode 100644
index a29c3b8..0000000
--- a/modules/nixos/archetypes/users/primary.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib, config, pkgs, userDetails, ... }: let
- cfg = config._archetypes.users.primary;
-in {
- options._archetypes.users.primary = {
- enable = lib.mkEnableOption "create primary user";
- autologin.enable = lib.mkEnableOption "enables getty automatic login";
- };
-
- config = lib.mkIf cfg.enable {
- # Enable zsh
- programs.zsh.enable = true;
-
- # Setup normal user
- users.users.${userDetails.username} = {
- home = userDetails.home;
- description = userDetails.fullname;
- isNormalUser = true;
- shell = pkgs.zsh;
- extraGroups = [
- "nixbld"
- "video"
- "wheel"
- ] ++ lib.optionals config.hardware.i2c.enable [
- "i2c"
- ] ++ lib.optionals config.virtualisation.libvirtd.enable [
- "libvirtd"
- ] ++ lib.optionals config.virtualisation.docker.enable [
- "docker"
- ];
- };
-
- # Configure automatic login with getty
- services.getty = lib.mkIf cfg.autologin.enable {
- autologinUser = userDetails.username;
- };
- };
-}
diff --git a/modules/nixos/bootloader.nix b/modules/nixos/bootloader.nix
deleted file mode 100644
index bb807cf..0000000
--- a/modules/nixos/bootloader.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ lib, config, ... }: let
- cfg = config.boot._loader;
- usingEfi = cfg.mode == "efi";
- usingBios = cfg.mode == "bios";
-in {
- options.boot._loader = {
- enable = lib.mkEnableOption "enable unified bootloader config";
- loader = lib.mkOption {
- type = lib.types.enum [ "grub" "systemd-boot" ];
- default = "systemd-boot";
- description = "whether to install grub or systemd-boot as the bootloader";
- };
- mode = lib.mkOption {
- type = lib.types.enum [ "efi" "bios" ];
- default = "efi";
- description = "whether to install the bootloader in efi or bios mode";
- };
- grub = {
- biosDevice = lib.mkOption {
- type = lib.types.str;
- description = "device to install grub on";
- };
- };
- memtest86.enable = lib.mkEnableOption "make Memtest86+ available from the bootloader";
- };
-
- config = lib.mkIf cfg.enable {
- boot.loader = {
- grub = lib.mkIf (cfg.loader == "grub") {
- enable = true;
- efiSupport = usingEfi;
- efiInstallAsRemovable = usingEfi;
- device = if usingBios then cfg.grub.biosDevice else "nodev";
- enableCryptodisk = true;
- memtest86.enable = cfg.memtest86.enable;
- };
- systemd-boot = lib.mkIf (cfg.loader == "systemd-boot") {
- enable = true;
- editor = false;
- memtest86.enable = cfg.memtest86.enable;
- };
- efi = lib.mkIf usingEfi {
- efiSysMountPoint = lib.mkIf (cfg.loader == "grub") "/boot/efi";
- canTouchEfiVariables = true;
- };
- };
- };
-}
diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix
deleted file mode 100644
index 59364f7..0000000
--- a/modules/nixos/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- imports = [
- ./archetypes/collections/bluetooth.nix
- ./archetypes/collections/desktop
- ./archetypes/collections/development
- ./archetypes/collections/fonts.nix
- ./archetypes/collections/utilities.nix
- ./archetypes/collections/virtualization.nix
-
- ./archetypes/profiles/desktop
- ./archetypes/profiles/headless
-
- ./archetypes/users/primary.nix
-
- ./programs/awesome.nix
- ./programs/ddcutil.nix
- ./programs/home-manager.nix
-
- ./services/cgit.nix
- ./services/gitea.nix
- ./services/searxng.nix
-
- ./bootloader.nix
- ./doas.nix
- ./filesystems.nix
- ./hosts.nix
- ./net-iface-labels.nix
- ./nix.nix
- ./pipewire.nix
- ./powerkeys.nix
- ./printing.nix
- ./secrets.nix
- ./ssh.nix
- ./sudo.nix
- ./suspend.nix
- ];
-}
diff --git a/modules/nixos/doas.nix b/modules/nixos/doas.nix
deleted file mode 100644
index aeed170..0000000
--- a/modules/nixos/doas.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ lib, config, ... }: let
- cfg = config.security._doas;
-in {
- options.security._doas = {
- enable = lib.mkEnableOption "enables doas";
- };
-
- config = lib.mkIf cfg.enable {
- security.doas = {
- enable = true;
- wheelNeedsPassword = false;
- extraRules = [
- { keepEnv = true; }
- ];
- };
- };
-}
diff --git a/modules/nixos/filesystems.nix b/modules/nixos/filesystems.nix
deleted file mode 100644
index 00ab409..0000000
--- a/modules/nixos/filesystems.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ pkgs, ... }: {
- environment.systemPackages = with pkgs; [
- cryptsetup
- exfat
- ntfs3g
- ];
-}
diff --git a/modules/nixos/hosts.nix b/modules/nixos/hosts.nix
deleted file mode 100644
index a87f3b4..0000000
--- a/modules/nixos/hosts.nix
+++ /dev/null
@@ -1,4 +0,0 @@
-{ hostname, ... }: {
- networking.hostName = hostname; # From flake.nix
- environment.etc.hosts.mode = "0644"; # Allow temporary imperative modifications
-}
diff --git a/modules/nixos/net-iface-labels.nix b/modules/nixos/net-iface-labels.nix
deleted file mode 100644
index b7ac655..0000000
--- a/modules/nixos/net-iface-labels.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ config, lib, ... }: let
- cfg = config.networking._interfaceLabels;
- validMac = str: builtins.match ''^[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}$'' str != null;
- macAddressType = lib.types.str // {
- check = validMac;
- description = "a mac address (xx:xx:xx:xx:xx:xx)";
- };
-in {
- options.networking._interfaceLabels = {
- enable = lib.mkEnableOption "manually label network interfaces";
- interfaces = lib.mkOption {
- type = lib.types.attrsOf macAddressType;
- default = {};
- example = {
- "lan0" = "00:11:22:33:44:55";
- "lan1" = "66:77:88:99:AA:BB";
- };
- description = "label network interfaces by their mac address";
- };
- };
-
- config = lib.mkIf cfg.enable {
- networking.usePredictableInterfaceNames = false;
- services.udev.extraRules = lib.concatStringsSep "\n" (
- lib.mapAttrsToList (name: mac: ''ACTION=="add", SUBSYSTEM=="net", ATTR{address}=="${mac}", NAME="${name}"'') cfg.interfaces
- );
- };
-}
diff --git a/modules/nixos/nix.nix b/modules/nixos/nix.nix
deleted file mode 100644
index ff8dd28..0000000
--- a/modules/nixos/nix.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- nix.settings = {
- experimental-features = [ "nix-command" "flakes" ];
- use-xdg-base-directories = true;
- };
- nix.gc = {
- automatic = true;
- dates = "weekly";
- options = "--delete-older-than 30d";
- };
-}
diff --git a/modules/nixos/pipewire.nix b/modules/nixos/pipewire.nix
deleted file mode 100644
index be3eaf4..0000000
--- a/modules/nixos/pipewire.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ lib, config, ... }: let
- cfg = config.services._pipewire;
-in {
- options.services._pipewire = {
- enable = lib.mkEnableOption "enables pipewire";
- };
-
- config = lib.mkIf cfg.enable {
- services.pipewire = {
- enable = true;
- pulse.enable = true;
- };
- };
-}
diff --git a/modules/nixos/powerkeys.nix b/modules/nixos/powerkeys.nix
deleted file mode 100644
index fd4aa00..0000000
--- a/modules/nixos/powerkeys.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- services.logind = {
- hibernateKey = "suspend";
- powerKey = "ignore";
- powerKeyLongPress = "poweroff";
- };
-}
diff --git a/modules/nixos/printing.nix b/modules/nixos/printing.nix
deleted file mode 100644
index a6df279..0000000
--- a/modules/nixos/printing.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ lib, config, ... }: let
- cfg = config.services._printing;
-in {
- options.services._printing = {
- enable = lib.mkEnableOption "enables printing and avahi service";
- };
-
- config = lib.mkIf cfg.enable {
- services.printing.enable = true;
-
- services.avahi = {
- enable = true;
- nssmdns4 = true;
- openFirewall = true;
- };
- };
-}
-
diff --git a/modules/nixos/programs/awesome.nix b/modules/nixos/programs/awesome.nix
deleted file mode 100644
index 0856384..0000000
--- a/modules/nixos/programs/awesome.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ pkgs, lib, config, ... }: let
- cfg = config.services.xserver.windowManager._awesome;
-in {
- options.services.xserver.windowManager._awesome = {
- enable = lib.mkEnableOption "installs awesome window manager";
- };
-
- config = lib.mkIf cfg.enable {
- services.xserver.windowManager.awesome = {
- enable = true;
- noArgb = true; # disables transparency. why not?
- luaModules = with pkgs.luajitPackages; [
- lgi
- ];
- package = with pkgs; awesome.override {
- gtk3Support = true;
- gtk3 = gtk3;
- lua = luajit;
- };
- };
- };
-}
diff --git a/modules/nixos/programs/ddcutil.nix b/modules/nixos/programs/ddcutil.nix
deleted file mode 100644
index ef1801b..0000000
--- a/modules/nixos/programs/ddcutil.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ pkgs, lib, config, ... }: let
- cfg = config.programs._ddcutil;
-in {
- options.programs._ddcutil = {
- enable = lib.mkEnableOption "enables ddcutil and i2c control";
- };
-
- config = lib.mkIf cfg.enable {
- hardware.i2c.enable = true;
- environment.systemPackages = [ pkgs.ddcutil ];
- };
-}
diff --git a/modules/nixos/programs/home-manager.nix b/modules/nixos/programs/home-manager.nix
deleted file mode 100644
index 49149d3..0000000
--- a/modules/nixos/programs/home-manager.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ pkgs, lib, config, ... }: let
- cfg = config.programs._home-manager;
-in {
- options.programs._home-manager = {
- enable = lib.mkEnableOption "enables home-manager";
- };
-
- config = lib.mkIf cfg.enable {
- # Install home manager
- environment.systemPackages = with pkgs; [ home-manager git ]; # Git is needed
-
- # For home-manager to configure gtk
- programs.dconf.enable = lib.mkDefault true;
- };
-}
diff --git a/modules/nixos/secrets.nix b/modules/nixos/secrets.nix
deleted file mode 100644
index 46d8f1e..0000000
--- a/modules/nixos/secrets.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ inputs, config, pkgs, userDetails, ... }: {
- imports = [ inputs.sops-nix.nixosModules.sops ];
-
- environment.systemPackages = with pkgs; [ age sops ];
-
- sops = {
- defaultSopsFormat = "yaml";
- age.sshKeyPaths = [ "${userDetails.home}/.ssh/id_ed25519" "/root/.ssh/id_ed25519" ];
- };
-}
diff --git a/modules/nixos/services/cgit.nix b/modules/nixos/services/cgit.nix
deleted file mode 100644
index 366c1f8..0000000
--- a/modules/nixos/services/cgit.nix
+++ /dev/null
@@ -1,126 +0,0 @@
-{ lib, pkgs, config, userDetails, ... }:
-let
- cfg = config.cgit;
-in {
- options = {
- cgit = {
- enable = lib.mkEnableOption "enables cgit service";
- hostAddress = lib.mkOption {
- type = lib.types.str;
- description = "hostAddress for the container";
- default = "10.0.1.1";
- };
- localAddress = lib.mkOption {
- type = lib.types.str;
- description = "localAddress for the container";
- default = "10.0.1.2";
- };
- rootTitle = lib.mkOption {
- type = lib.types.str;
- description = "cgit site title";
- default = "";
- };
- rootDesc = lib.mkOption {
- type = lib.types.str;
- description = "cgit site description";
- default = "";
- };
- extraConfig = lib.mkOption {
- type = lib.types.str;
- description = "cgitrc lines inserted verbatim at the end";
- default = "";
- };
- };
- };
-
- config = lib.mkIf cfg.enable {
- # Configure cgit container
- containers.cgit = {
- autoStart = true;
- privateNetwork = true;
- hostAddress = cfg.hostAddress;
- localAddress = cfg.localAddress;
-
- specialArgs = {
- authorizedKeys = userDetails.sshPublicKeys;
- cgitrc = with cfg; {
- inherit rootTitle;
- inherit rootDesc;
- inherit extraConfig;
- };
- };
-
- config = { lib, config, authorizedKeys, cgitrc, ... }: {
- # Create git user for ssh access
- users.users.git = {
- isNormalUser = true;
- home = "/srv/git"; # Serve from git user's home to allow cloning git@cgit:repo
- group = "git";
- createHome = true;
- homeMode = "750"; # Allow read permissions for group members
- shell = pkgs.bash;
- openssh.authorizedKeys.keys = authorizedKeys;
- };
- users.groups.git.members = [ "lighttpd" ]; # Create the git group and add lighttpd user as a member so /srv/git can be served by cgit
-
- # Enable git
- programs.git.enable = true;
-
- # Enable ssh service
- services.openssh.enable = true;
-
- # Enable cgit service
- services.lighttpd.enable = true;
- services.lighttpd.cgit = {
- enable = true;
- #subdir = ""; # FIXME this does not work for some reason
- configText = ''
- # Based on joseluisq/alpine-cgit
- root-title=${cgitrc.rootTitle}
- root-desc=${cgitrc.rootDesc}
-
- source-filter=${pkgs.cgit}/lib/cgit/filters/syntax-highlighting.py
- about-filter=${pkgs.cgit}/lib/cgit/filters/about-formatting.sh
-
- readme=:README.md
- readme=:README.html
- readme=:README.txt
- readme=:README
- readme=:INSTALL.md
- readme=:INSTALL.html
- readme=:INSTALL.txt
- readme=:INSTALL
-
- # Cache
- #cache-root=/var/cache/cgit
- #cache-size=2000
-
- enable-index-links=1
- enable-index-owner=0
- enable-remote-branches=1
- enable-log-filecount=1
- enable-log-linecount=1
- enable-git-config=1
- snapshots=tar.xz zip
-
- robots=noindex, nofollow
-
- virtual-root=/cgit
- section-from-path=0
- max-repo-count=100
- scan-path=/srv/git
-
- # extra config
- ${cgitrc.extraConfig}
- '';
- };
-
- # Networking, etc.
- networking.firewall.allowedTCPPorts = [ 80 22 ];
- networking.hostName = "cgit";
-
- system.stateVersion = "25.05";
- };
- };
- };
-}
diff --git a/modules/nixos/services/gitea.nix b/modules/nixos/services/gitea.nix
deleted file mode 100644
index 32c56db..0000000
--- a/modules/nixos/services/gitea.nix
+++ /dev/null
@@ -1,60 +0,0 @@
-{ lib, pkgs, config, userDetails, ... }:
-let
- cfg = config.gitea;
-in {
- options = {
- gitea = {
- enable = lib.mkEnableOption "enables gitea service";
- hostAddress = lib.mkOption {
- type = lib.types.str;
- description = "hostAddress for the container";
- default = "10.0.1.1";
- };
- localAddress = lib.mkOption {
- type = lib.types.str;
- description = "localAddress for the container";
- default = "10.0.1.3";
- };
- };
- };
-
- config = lib.mkIf cfg.enable {
- containers.gitea = {
- autoStart = true;
- privateNetwork = true;
- hostAddress = cfg.hostAddress;
- localAddress = cfg.localAddress;
-
- config = { lib, config, ... }: {
- # Enable gitea service
- services.gitea = {
- enable = true;
- user = "git"; # So ssh cloning uses git@gitea
- settings = {
- server = {
- HTTP_PORT = 3000; # Can't set as 80 without root permissions, use 3000 instead
- };
- };
- };
-
- # Networking, etc.
- # Redirect 80 to 3000
- networking.nftables = {
- enable = true;
- ruleset = ''
- table ip nat {
- chain prerouting {
- type nat hook prerouting priority 0;
- tcp dport 80 redirect to :3000
- }
- }
- '';
- };
- networking.firewall.allowedTCPPorts = [ 3000 80 22 ]; # Still need to forward 3000 for nftables rule to work
- networking.hostName = "gitea";
-
- system.stateVersion = "25.05";
- };
- };
- };
-}
diff --git a/modules/nixos/services/searxng.nix b/modules/nixos/services/searxng.nix
deleted file mode 100644
index 8ed632e..0000000
--- a/modules/nixos/services/searxng.nix
+++ /dev/null
@@ -1,119 +0,0 @@
-{ pkgs, lib, config, ... }: let
- environmentFile = "/run/searx/searxng.env";
- generateEnvironmentFile = ''
- umask 077
- echo "SEARXNG_SECRET=$(head -c 56 /dev/urandom | base64)" > ${environmentFile}
- ls /run/searx
- '';
-in {
- options = {
- searxng.enable = lib.mkEnableOption "enables searxng service";
- searxng.uwsgi.enable = lib.mkEnableOption "enables searxng uwsgi";
- };
-
- config = lib.mkIf config.searxng.enable {
- # Generate secret key
- systemd.services.searx-environment-file = {
- description = "Generate environment file with secret key for searx";
- wantedBy = [ "searx-init.service" ];
- partOf = [ "searx-init.service" ];
- before = [ "searx-init.service" ];
- serviceConfig = {
- Type = "oneshot";
- RemainAfterExit = true;
- User = "searx";
- RuntimeDirectory = "searx";
- RuntimeDirectoryMode = "750";
- ConditionPathExists = "!${environmentFile}";
- };
- script = generateEnvironmentFile;
- };
-
- # Configure searxng
- services.searx = {
- enable = true;
- redisCreateLocally = true;
- package = pkgs.searxng;
- inherit environmentFile; # Provides secret key
-
- # UWSGI configuration
- runInUwsgi = config.searxng.uwsgi.enable;
-
- uwsgiConfig = {
- socket = "/run/searx/searx.sock";
- http = ":8888";
- chmod-socket = "660";
- };
-
- settings = {
- general = {
- instance_name = "TJK Search";
- donation_url = "https://tjkeller.xyz";
- enable_metrics = false;
- };
-
- # Search engine settings
- search = {
- safe_search = 2; # Strict
- autocomplete = "";
- default_lang = "en-US";
- };
-
- preferences.lock = [ "safesearch" ]; # Lock safe_search at strict
-
- # https://docs.searxng.org/admin/plugins.html
- enabled_plugins = [
- "Tor check plugin"
- "Tracker URL remover"
- "Basic Calculator"
- "Unit converter plugin"
- "Hash plugin"
- "Self Information"
- "Open Access DOI rewrite"
- "Hostnames plugin"
- ];
-
- hostnames.replace = {
- "(.*\.)?youtube\.com$" = "piped.tjkeller.xyz";
- "(.*\.)?youtu\.be$" = "piped.tjkeller.xyz";
- "(.*\.)?reddit\.com$" = "old.reddit.com";
- };
-
- # Enable / disabled search engines from default list
- engines = lib.mapAttrsToList (name: value: { inherit name; disabled = !value; }) {
- # Images
- "artic" = false;
- "deviantart" = false;
- "flickr" = false;
- "library of congress" = false;
- "openverse" = false;
- "pinterest" = false;
- "public domain image archive" = false;
- "unsplash" = false;
- "wallhaven" = false;
- "wikicommons.images" = false;
-
- # Videos
- "bitchute" = true;
- "dailymotion" = false;
- "piped" = false;
- "rumble" = true;
- "sepiasearch" = false;
- "vimeo" = false;
- "wikicommons.videos" = false;
-
- # Music
- "piped.music" = false;
-
- # Files
- "1337x" = true;
- "annas archive" = true;
- "library genesis" = true;
-
- # Apps
- "fdroid" = true;
- };
- };
- };
- };
-}
diff --git a/modules/nixos/ssh.nix b/modules/nixos/ssh.nix
deleted file mode 100644
index 8f81474..0000000
--- a/modules/nixos/ssh.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ lib, config, ... }: let
- cfg = config.services._ssh;
-in {
- options.services._ssh = {
- enable = lib.mkEnableOption "enable openssh with X11 forwarding";
- };
-
- config = lib.mkIf cfg.enable {
- services.openssh = {
- enable = true;
- settings = {
- X11Forwarding = true;
- };
- };
- };
-}
diff --git a/modules/nixos/sudo.nix b/modules/nixos/sudo.nix
deleted file mode 100644
index 5fa2727..0000000
--- a/modules/nixos/sudo.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ lib, config, ... }: let
- cfg = config.security._sudo;
-in {
- options.security._sudo = {
- enable = lib.mkEnableOption "enables sudo";
- };
-
- #config = lib.mkIf cfg.enable {
- config = { # TODO remove once can be built from flake w git
- security.sudo = {
- enable = true;
- wheelNeedsPassword = false;
- };
- };
-}
diff --git a/modules/nixos/suspend.nix b/modules/nixos/suspend.nix
deleted file mode 100644
index 11404de..0000000
--- a/modules/nixos/suspend.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ lib, config, ... }: let
- cfg = config.systemd._suspend;
-in {
- options.systemd._suspend = {
- disable = lib.mkEnableOption "disables suspend";
- };
-
- config = lib.mkIf cfg.disable {
- # Disable suspend targets
- systemd.targets = builtins.listToAttrs (map (name: {
- inherit name;
- value = {
- enable = false;
- unitConfig.DefaultDependencies = "no";
- };
- }) ["sleep" "suspend" "hibernate" "hybrid-sleep"]);
- };
-}
diff --git a/modules/overlays/crazydiskinfo/default.nix b/modules/overlays/crazydiskinfo/default.nix
deleted file mode 100644
index 61de338..0000000
--- a/modules/overlays/crazydiskinfo/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ lib
-, cmake
-, fetchFromGitHub
-, fetchpatch
-, libatasmart
-, ncurses5
-, stdenv
-}:
-
-stdenv.mkDerivation rec {
- pname = "crazydiskinfo";
- version = "1.1.0";
-
- src = fetchFromGitHub {
- owner = "otakuto";
- repo = pname;
- rev = "refs/tags/${version}";
- sha256 = "sha256-+6ShoaggQ256sLSJDj4d16OipUYX/4JjEwLL5hswjiQ=";
- };
-
- patches = [
- # Patch to fix build warnings
- (fetchpatch {
- url = "https://github.com/otakuto/crazydiskinfo/compare/1.1.0...8563aa8.diff";
- sha256 = "sha256-z9aOQFsivu6sYgsZBOlnTvqnoR2ro/jyuO/WOimLSXk=";
- })
- ];
-
- nativeBuildInputs = [ cmake ];
- buildInputs = [ libatasmart ncurses5 ];
-
- cmakeFlags = [ "-DCMAKE_INSTALL_PREFIX=$(out)" ];
-
- meta = with lib; {
- description = "CrazyDiskInfo is an interactive TUI S.M.A.R.T viewer for Unix systems";
- homepage = "https://github.com/otakuto/crazydiskinfo";
- mainProgram = "crazy";
- license = licenses.mit;
- maintainers = [ maintainers.tjkeller ];
- };
-}
diff --git a/modules/overlays/default.nix b/modules/overlays/default.nix
deleted file mode 100644
index 1c0ed23..0000000
--- a/modules/overlays/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ pkgs, ... }: {
- nixpkgs.overlays = with pkgs; [
- (final: prev: {
- crazydiskinfo = (callPackage ./crazydiskinfo {});
- lowbat = (callPackage ./lowbat {});
- workcentre-7800-series = (callPackage ./xerox-workcentre-7800-series-driver {});
-
- # Use my vimv-rs until pr gets merged
- vimv-rs = prev.vimv-rs.overrideAttrs (oldAttrs: {
- src = fetchFromGitHub {
- owner = "tjkeller-xyz";
- repo = "vimv-rs";
- rev = "5deb76fb81dd4acf3c4809087ff3a1d846ab4769";
- sha256 = "sha256-XMn+5mIxSEHaR31ixMi6o7PSkN1iYjDT4aOiQkfEwpA=";
- };
- });
-
- # Use my tamzen until pr gets merged
- tamzen = prev.tamzen.overrideAttrs (oldAttrs: {
- src = fetchFromGitHub {
- owner = "tjkeller-xyz";
- repo = "tamzen-font";
- rev = "middledot";
- sha256 = "sha256-mVZ8SdYKTdMG1qBKKYdNjuoYvWkEq2ph2O1ztsNJEhs=";
- };
- });
- })
- (import ./st/overrides.nix)
- (import ./xorg/overrides.nix)
- ];
-}
diff --git a/modules/overlays/lowbat/default.nix b/modules/overlays/lowbat/default.nix
deleted file mode 100644
index 64ec205..0000000
--- a/modules/overlays/lowbat/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib
-, fetchzip
-, glib
-, libnotify
-, pkg-config
-, stdenv
-}:
-
-stdenv.mkDerivation rec {
- pname = "lowbat";
- version = "1.2.2";
-
- src = fetchzip {
- url = "https://git.tjkeller.xyz/${pname}/snapshot/${pname}-${version}.tar.xz";
- sha256 = "sha256-utdcY9qoDcrBWnGC8m/LUsnoxQ0ilssPDF44A6D/C+8=";
- };
-
- nativeBuildInputs = [ pkg-config ];
- buildInputs = [ libnotify glib ];
-
- installFlags = [ "PREFIX=$(out)" ];
-
- meta = with lib; {
- description = "A minimal battery level monitor daemon, written in C";
- license = licenses.mit;
- maintainers = [ maintainers.tjkeller ];
- };
-}
diff --git a/modules/overlays/st/overrides.nix b/modules/overlays/st/overrides.nix
deleted file mode 100644
index 2d0a37e..0000000
--- a/modules/overlays/st/overrides.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-final: prev: {
- st = prev.st.overrideAttrs (finalAttrs: previousAttrs: {
- version = "tj-0.9.2.3";
-
- src = prev.fetchgit {
- url = "https://git.tjkeller.xyz/${previousAttrs.pname}";
- tag = finalAttrs.version;
- sha256 = "sha256-SQ62io4LWsPBvX8e9vUwVVXs/2+THoR6ZZoldQ6IUJk=";
- };
-
- makeFlags = previousAttrs.makeFlags ++ [ "CFLAGS=-Ofast" ];
- buildInputs = with prev.pkgs.xorg; previousAttrs.buildInputs ++ [ libXcursor libXext ];
-
- meta = with prev.lib; previousAttrs.meta // {
- homepage = "https://git.tjkeller.xyz/st";
- maintainers = previousAttrs.meta.maintainers ++ [ maintainers.tjkeller ];
- };
- });
-}
diff --git a/modules/overlays/xerox-workcentre-7800-series-driver/default.nix b/modules/overlays/xerox-workcentre-7800-series-driver/default.nix
deleted file mode 100644
index cfdaaae..0000000
--- a/modules/overlays/xerox-workcentre-7800-series-driver/default.nix
+++ /dev/null
@@ -1,86 +0,0 @@
-{
- stdenv,
- lib,
- fetchurl,
- dpkg,
- autoPatchelfHook,
- cups,
- xorg,
-}:
-let
- debPlatform =
- if stdenv.hostPlatform.system == "x86_64-linux" then
- "x86_64"
- else if stdenv.hostPlatform.system == "i686-linux" then
- "i686"
- else
- throw "Unsupported system: ${stdenv.hostPlatform.system}";
-in
-stdenv.mkDerivation rec {
- pname = "xerox-workcentre-7800-series-driver";
- version = "5.20.661.4684";
- debpkg = "XeroxOfficev5Pkg-Linux${debPlatform}-${version}.deb";
-
- src = fetchurl {
- url = "https://download.support.xerox.com/pub/drivers/CQ8580/drivers/linux/pt_BR/${debpkg}";
- sha256 = "014k0r9ij3401mnab1qzv96bjl9x7rf11aw1ibf0q370pk9jqqjb"; # TODO correct hash for i686
- };
-
- nativeBuildInputs = [ dpkg autoPatchelfHook ];
- # TODO add support for disable xorg
- buildInputs = [
- cups
- stdenv.cc.cc.lib
- xorg.libX11
- xorg.libXrender
- xorg.libXfixes
- xorg.libXdamage
- xorg.libXcomposite
- xorg.libXcursor
- xorg.libXrandr
- xorg.libXext
- xorg.libXinerama
- ];
-
- sourceRoot = ".";
- unpackCmd = "dpkg-deb -x $curSrc .";
-
- dontConfigure = true;
- dontBuild = true;
-
- installPhase = ''
- runHook preInstall
-
- mkdir -p $out
-
- # Copy and patch the binaries and libraries
- cp -r opt $out/
- cp -r usr $out/
-
- # Move the PPD to CUPS model dir
- mkdir -p $out/share/cups/model
- cp opt/XeroxOffice/prtsys/ppd/*.ppd $out/share/cups/model/
-
- # Install the CUPS filters
- mkdir -p $out/lib/cups/filter
- cp usr/lib/cups/filter/* $out/lib/cups/filter/
-
- # Install man pages
- mkdir -p $out/share/man
- cp -r usr/share/man/* $out/share/man/
-
- runHook postInstall
- '';
-
- meta = with lib; {
- description = "Xerox WorkCentre 7800 Series Linux Printer Driver";
- longDescription = ''
- WorkCentre 7830/7835/7845/7855
- '';
- homepage = "https://www.support.xerox.com/en-us/product/workcentre-7800-series/downloads?platform=linux";
- sourceProvenance = with sourceTypes; [ binaryNativeCode ];
- #license = licenses.unfree;
- maintainers = [];
- platforms = platforms.linux;
- };
-}
diff --git a/modules/overlays/xorg/overrides.nix b/modules/overlays/xorg/overrides.nix
deleted file mode 100644
index 7225431..0000000
--- a/modules/overlays/xorg/overrides.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-final: prev: {
- xorg = prev.xorg // {
- # Apply startx patch to create serverauth file in /tmp instead of home directory
- xinit = (prev.xorg.xinit.overrideAttrs (finalAttrs: previousAttrs: {
- version = "1.4.4";
- patchtag = "${finalAttrs.version}-1"; # Archlinux xinit package tagged release to fetch patch from
- # Override src since is hardcoded to 1.4.2
- src = prev.fetchurl {
- url = "mirror://xorg/individual/app/xinit-${finalAttrs.version}.tar.xz";
- sha256 = "sha256-QKR8ehZMf5gc43h7Szf35BH7QyMdzeVD1wCUB12s/vk=";
- };
- patches = [
- (prev.fetchpatch {
- url = "https://gitlab.archlinux.org/archlinux/packaging/packages/xorg-xinit/-/raw/${finalAttrs.patchtag}/06_move_serverauthfile_into_tmp.diff";
- sha256 = "1whzs5bw7ph12r3abs1g9fydibkr291jh56a0zp17d4x070jnkda";
- })
- ];
- }));
- };
-}