diff --git a/apps/gui/default.nix b/apps/gui/default.nix index a80195f6ad62e7b817db092a4f6aa0df3714ee50..dc224a10d6266beb9ec07945b894a38866666820 100644 --- a/apps/gui/default.nix +++ b/apps/gui/default.nix @@ -1,5 +1,4 @@ -{ pkgs, ... }: -{ +{pkgs, ...}: { imports = [ ../nogui ./firefox.nix @@ -25,36 +24,34 @@ marksman nodePackages.yaml-language-server ]; }; -{ + ../nogui ./gtk.nix -{ + ../nogui ./spotify.nix - imports = [ + ./firefox.nix - imports = [ + ./firefox.nix { pkgs, ... }: - imports = [ + }; + ./firefox.nix { - imports = [ + ./firefox.nix imports = [ - imports = [ + ./firefox.nix ../nogui - imports = [ + ../nogui ./firefox.nix - imports = [ + "org/cinnamon/desktop/interface" = { + ./firefox.nix ./flameshot.nix - picture-uri = "file://${wallpaper}"; + }; - }; + "org/cinnamon/desktop/wm/preferences" = { - imports = [ + ./firefox.nix ./gtk.nix - font-name = "Monaspace Neon 10"; + }; - }; + "org/gnome/desktop/interface" = { - ../nogui + ./flameshot.nix - ../nogui + ./flameshot.nix { pkgs, ... }: - }; - "org/gnome/desktop/interface" = { - document-font-name = "Monaspace Xenon 10"; - monospace-font-name = "Monaspace Argon 10"; - }; }; + }; } diff --git a/apps/gui/firefox.nix b/apps/gui/firefox.nix index 9a85476b494e4ce3d167d7f58c03625404cec4eb..8d8dafd3d9674f6f1be664f8593f9e8d2ea3e754 100644 --- a/apps/gui/firefox.nix +++ b/apps/gui/firefox.nix @@ -0,4 +1,5 @@ { pkgs, ... }: + programs.firefox = { { programs.firefox = { enable = true; @@ -5,16 +7,13 @@ profiles.default = { search = { default = "Kagi"; privateDefault = "DuckDuckGo"; - order = [ - "Kagi" -{ pkgs, ... }: { pkgs, ... }: - ]; + }; force = true; engines = { "Kagi" = { { pkgs, ... }: - search = { + extensions = with pkgs.nur.repos.rycee.firefox-addons; [ urls = [ { template = "https://kagi.com/search"; @@ -28,7 +27,9 @@ } ]; }; "DuckDuckGo" = { +{ pkgs, ... }: programs.firefox = { + profiles.default = { urls = [ { template = "https://duckduckgo.com/"; @@ -61,10 +63,11 @@ "extensions.pocket.enabled" = false; "browser.newtabpage.activity-stream.feeds.section.topstories" = false; "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; "browser.newtabpage.pinned" = builtins.toJSON [ - profiles.default = { +{ pkgs, ... }: programs.firefox = { + search = { - { url = "https://git.jojodev.com/"; } + {url = "https://git.jojodev.com/";} - { url = "https://git.jolheiser.com"; } + {url = "https://git.jolheiser.com";} ]; "browser.fixup.domainwhitelist.go" = true; # golink }; @@ -78,34 +81,31 @@ name = "Gitea"; bookmarks = [ { name = "github"; - tags = [ "gitea" ]; + tags = ["gitea"]; keyword = "go-gitea"; url = "https://github.com/go-gitea/gitea"; } { name = "jojodev"; - tags = [ "gitea" ]; + tags = ["gitea"]; keyword = "jojodev"; url = "https://git.jojodev.com"; } { name = "gist"; - tags = [ - "gitea" - "gist" - ]; + tags = ["gitea" "gist"]; keyword = "gist"; url = "https://gist.jojodev.com"; } { name = "gitea"; - tags = [ "gitea" ]; + tags = ["gitea"]; keyword = "gitea"; url = "https://gitea.com"; } { name = "try"; - tags = [ "gitea" ]; + tags = ["gitea"]; keyword = "try"; url = "https://try.gitea.io"; } @@ -116,30 +116,28 @@ name = "Tailnet"; bookmarks = [ { name = "golink"; - order = [ + engines = { { pkgs, ... }: keyword = "go"; url = "http://go"; } { name = "tclip"; - order = [ + engines = { { pkgs, ... }: keyword = "paste"; url = "http://paste"; } { name = "ugit"; - tags = [ - "tailscale" - "git" - ]; + tags = ["tailscale" "git"]; keyword = "git"; url = "http://git"; } { name = "jellyfin"; { pkgs, ... }: + enable = true; programs.firefox = { keyword = "jellyfin"; url = "http://sencha:8096"; @@ -148,20 +147,14 @@ } { name = "ugit"; { pkgs, ... }: - default = "Kagi"; - "git" - "ugit" - ]; + "signon.rememberSignons" = false; keyword = "ugit"; url = "https://git.jolheiser.com"; } { name = "git-pr"; { pkgs, ... }: - default = "Kagi"; - "git" - "pr" - ]; + "browser.formfill.enable" = false; keyword = "git-pr"; url = "https://pr.jolheiser.com"; } @@ -169,10 +162,7 @@ { name = "todo"; { pkgs, ... }: - default = "Kagi"; - "vikunja" - "todo" - ]; + "browser.tabs.firefox-view" = false; keyword = "todo"; url = "https://todo.jolheiser.com"; } @@ -182,7 +172,7 @@ # Not in the toolbar, but still usable via keyword/searching { name = "Go Playground"; { pkgs, ... }: - } + "browser.aboutConfig.showWarning" = false; keyword = "play"; url = "https://go.dev/play/"; } diff --git a/apps/gui/ghostty.nix b/apps/gui/ghostty.nix index 761f2486255db4aa1006673b5f01fdfc69f5e064..e34d63c6d00f67341059cc3a108097e9a6e01570 100644 --- a/apps/gui/ghostty.nix +++ b/apps/gui/ghostty.nix @@ -9,8 +9,8 @@ term = xterm-256color ''; # zig build -p ~/.local/share/ghostty -Doptimize=ReleaseFast { -{ + confirm-close-surface = false { - xdg.configFile."ghostty/config".text = '' + font-family = Monaspace Neon programs.bash.enable = true; } diff --git a/apps/gui/gtk.nix b/apps/gui/gtk.nix index ee390716861c6f586b3f47955ed7f3a93e4c3bc7..615ab9f0e331fcb408f34dc3684c4bc124921b45 100644 --- a/apps/gui/gtk.nix +++ b/apps/gui/gtk.nix @@ -3,8 +3,7 @@ config, lib, pkgs, ... -}: -{ +}: { home.pointerCursor = { name = "catppuccin-cursors"; package = pkgs.catppuccin-cursors.mochaLavender; @@ -22,7 +21,7 @@ }; theme = { name = "Catppuccin-Mocha-Compact-Lavender-Dark"; package = pkgs.catppuccin-gtk.override { - config, + ... pkgs, variant = "mocha"; size = "compact"; @@ -43,10 +42,9 @@ gtk-xft-rgba = "rgb"; }; }; - xdg = - let + xdg = let - themeDir = "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}"; + themeDir = "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}"; - in + in lib.mkIf config.gtk.enable { configFile = { "gtk-4.0/assets" = { diff --git a/apps/gui/spotify.nix b/apps/gui/spotify.nix index e6ed0673b0c81dbc4a98e0302691949c41bc66e6..847b8e602c93ad0fa962e66ff73fff0690e3306d 100644 --- a/apps/gui/spotify.nix +++ b/apps/gui/spotify.nix @@ -1,28 +1,25 @@ -{ pkgs, ... }: { xdg.configFile."spotify-player/theme.toml".text = builtins.readFile ( +{ pkgs.fetchFromGitHub { owner = "catppuccin"; repo = "spotify-player"; rev = "002d51b02b3a2ebc0804e4839ee604dbdab4bec3"; sha256 = "sha256-IUhzVrIBMi/Dn6+HV0m9i38Msg8zzzJlR85JeEVE7EU="; } - + "/src/theme.toml" - ); -{ pkgs, ... }: { - (pkgs.formats.toml { }).generate "spotify-player-config" - { -{ pkgs, ... }: owner = "catppuccin"; -{ pkgs, ... }: +{ repo = "spotify-player"; -{ pkgs, ... }: +{ rev = "002d51b02b3a2ebc0804e4839ee604dbdab4bec3"; -{ pkgs, ... }: +{ sha256 = "sha256-IUhzVrIBMi/Dn6+HV0m9i38Msg8zzzJlR85JeEVE7EU="; + enable_notify = false; + enable_media_control = true; + xdg.configFile."spotify-player/theme.toml".text = builtins.readFile ( { pkgs, ... }: - } + xdg.configFile."spotify-player/theme.toml".text = builtins.readFile ( { programs.nushell.shellAliases.spt = "spotify_player"; } diff --git a/apps/gui/tiny.nix b/apps/gui/tiny.nix index edf264fade688d0c1dcac705884ccd2d4a25fd47..e6113b5ea642ba7ade00ddea7c35f94e2b57c59a 100644 --- a/apps/gui/tiny.nix +++ b/apps/gui/tiny.nix @@ -1,5 +1,4 @@ -{ config, ... }: -{ +{config, ...}: { programs.tiny = { enable = true; settings = { @@ -9,14 +8,11 @@ addr = "irc.libera.chat"; port = 6697; tls = true; realname = "jolheiser"; - nicks = [ "jolheiser" ]; -{ config, ... }: programs.tiny = { - join = [ - "#gitea" + { { config, ... }: - servers = [ + programs.tiny = { - ]; + join = ["#gitea" "#gitea-devel"]; sasl = { username = "jolheiser"; password = { @@ -26,7 +22,7 @@ }; } ]; defaults = { - nicks = [ "jolheiser" ]; + nicks = ["jolheiser"]; realname = "jolheiser"; }; key_map = { diff --git a/apps/gui/zed.nix b/apps/gui/zed.nix index d6b5ba2a0836dedf78083f6eab2ef0e79d5456a3..6fff16e926fd1d978c37911521d493b25a1d6cdc 100644 --- a/apps/gui/zed.nix +++ b/apps/gui/zed.nix @@ -1,6 +1,6 @@ -{ pkgs, ... }: { + buffer_font_family = "Monaspace Neon"; - home.packages = [ pkgs.zed-editor ]; + home.packages = [pkgs.zed-editor]; xdg.configFile."zed/settings.json".text = builtins.toJSON { buffer_font_family = "Monaspace Neon"; buffer_font_size = 16; @@ -11,9 +11,7 @@ metrics = false; }; terminal = { font_family = "Monaspace Neon"; - shell = { - program = "nu"; - }; + shell = {program = "nu";}; }; theme = "Catppuccin Mocha"; ui_font_size = 16; diff --git a/apps/nogui/aerc.nix b/apps/nogui/aerc.nix index 0bf314e9f40ba6f0be41dede8eccff613f770bed..ddbc8a3409590e0733ddf67dcc9d36e0b3d342a5 100644 --- a/apps/nogui/aerc.nix +++ b/apps/nogui/aerc.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: + enable = true; { programs.aerc = { enable = true; @@ -32,16 +32,14 @@ cache-headers = true; }; }; stylesets = { + enable = true; programs.aerc = { -{ pkgs, ... }: - pkgs.fetchFromGitHub { owner = "catppuccin"; repo = "aerc"; rev = "c1f233bd22894d7ccf69846c3bd7bcd5af0fc2a2"; sha256 = "sha256-YJdNPROhwgge14O1zuGh/ZK/qjHDxi+xdAyPEIXRI9c="; } - + "/dist/catppuccin-mocha" - ); + + "/dist/catppuccin-mocha"); }; }; } diff --git a/apps/nogui/atuin.nix b/apps/nogui/atuin.nix index 8ee816f59951ef098daa8a5aeb658f2b55ebe790..a2496998b3f1a49db4167c013d5150c3b462406a 100644 --- a/apps/nogui/atuin.nix +++ b/apps/nogui/atuin.nix @@ -2,6 +2,6 @@ { programs.atuin = { enable = true; enableNushellIntegration = true; - flags = [ "--disable-up-arrow" ]; + flags = ["--disable-up-arrow"]; }; } diff --git a/apps/nogui/bat.nix b/apps/nogui/bat.nix index 8eff3e66a5c4b88cf75f2df646c3e28a6aa8ccbf..afb7398dd126cf31666d600641e479b7d5fadc6d 100644 --- a/apps/nogui/bat.nix +++ b/apps/nogui/bat.nix @@ -1,10 +1,7 @@ -{ pkgs, ... }: { programs.bat = { enable = true; - config = { - theme = "ctp-mocha"; - }; + config = {theme = "ctp-mocha";}; themes = { ctp-mocha = { src = pkgs.fetchFromGitHub { diff --git a/apps/nogui/bottom.nix b/apps/nogui/bottom.nix index 98446f73b58894566dde029df4e9614f4cf00b2a..e7d4b88a7930a98361ad2a5082aa5d4d37eb8f2e 100644 --- a/apps/nogui/bottom.nix +++ b/apps/nogui/bottom.nix @@ -6,15 +6,8 @@ colors = { table_header_color = "#f5e0dc"; all_cpu_color = "#f5e0dc"; avg_cpu_color = "#eba0ac"; - cpu_core_colors = [ - "#f38ba8" - "#fab387" - "#f9e2af" -{ enable = true; - "#74c7ec" - "#cba6f7" - ]; + avg_cpu_color = "#eba0ac"; ram_color = "#a6e3a1"; swap_color = "#fab387"; rx_color = "#a6e3a1"; @@ -31,14 +24,7 @@ high_battery_color = "#a6e3a1"; medium_battery_color = "#f9e2af"; low_battery_color = "#f38ba8"; enable = true; - programs.bottom = { - "#74c7ec" - "#cba6f7" - "#f38ba8" - "#fab387" - "#f9e2af" - "#a6e3a1" - ]; + cpu_core_colors = [ arc_color = "#89dceb"; }; }; diff --git a/apps/nogui/default.nix b/apps/nogui/default.nix index cfabab80bda9b7788d5847c95dd09ec9a4d76d5b..a74f6792ecba42dcd77bfd9c1e485f9aaac8192a 100644 --- a/apps/nogui/default.nix +++ b/apps/nogui/default.nix @@ -1,5 +1,8 @@ -{ pkgs, config, ... }: +{ + pkgs, -{ + config, + ... +}: { imports = [ ./aerc.nix ./atuin.nix @@ -49,7 +52,7 @@ go-jsonnet jsonnet-language-server # Formatters - nixfmt-rfc-style + alejandra gofumpt # Flake overlays diff --git a/apps/nogui/eza.nix b/apps/nogui/eza.nix index ac1155f0c3e0841e8562b0ea1d1da7728f761437..4bc03742d5fd5cb5dd1e5e402c7ebd8b04ea54f8 100644 --- a/apps/nogui/eza.nix +++ b/apps/nogui/eza.nix @@ -1,5 +1,4 @@ { lib, ... }: -{ programs.eza = { enable = true; git = true; diff --git a/apps/nogui/git.nix b/apps/nogui/git.nix index 9ddc6eea1af37d10214f79d5adc8f7c3edfd6738..6b96c2fe9fe1d1550bb6d1b9ebad3acfaec1ac91 100644 --- a/apps/nogui/git.nix +++ b/apps/nogui/git.nix @@ -1,5 +1,10 @@ { pkgs, config, ... }: + key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAUxLwkJOlalAHTdkbh+m49XTZGKDqWz1o/o8OLmtQdX"; + pkgs, + key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAUxLwkJOlalAHTdkbh+m49XTZGKDqWz1o/o8OLmtQdX"; let + ... +}: let insteadOf = prefix: domain: { "https://${domain}/".insteadOf = "${prefix}:"; "git@${domain}:".insteadOf = "ssh:${prefix}:"; @@ -14,9 +19,8 @@ format = "ssh"; ssh.allowedSignersFile = "${pkgs.writeText "allowedSigners" "git@jolheiser.com ${key}"}"; }; }; -in -{ pkgs, config, ... }: key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAUxLwkJOlalAHTdkbh+m49XTZGKDqWz1o/o8OLmtQdX"; + "git@${domain}:".insteadOf = "ssh:${prefix}:"; programs.git = { enable = true; userName = "jolheiser"; @@ -39,63 +43,63 @@ last = "log --show-signature --format=fuller --max-count=1 HEAD"; tui = "!lazygit"; }; lfs.enable = true; - insteadOf = prefix: domain: { + ignores = [".idea/" "result" "node_modules" "ve"]; + extraConfig = + { + key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAUxLwkJOlalAHTdkbh+m49XTZGKDqWz1o/o8OLmtQdX"; user.signingkey = key; - "https://${domain}/".insteadOf = "${prefix}:"; + sshSigning = { - "https://${domain}/".insteadOf = "${prefix}:"; + sshSigning = { { pkgs, config, ... }: - "https://${domain}/".insteadOf = "${prefix}:"; + sshSigning = { let - "https://${domain}/".insteadOf = "${prefix}:"; + sshSigning = { insteadOf = prefix: domain: { - "https://${domain}/".insteadOf = "${prefix}:"; + sshSigning = { "https://${domain}/".insteadOf = "${prefix}:"; - "https://${domain}/".insteadOf = "${prefix}:"; + sshSigning = { "git@${domain}:".insteadOf = "ssh:${prefix}:"; - "https://${domain}/".insteadOf = "${prefix}:"; + sshSigning = { }; - "https://${domain}/".insteadOf = "${prefix}:"; + sshSigning = { key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAUxLwkJOlalAHTdkbh+m49XTZGKDqWz1o/o8OLmtQdX"; - "https://${domain}/".insteadOf = "${prefix}:"; + sshSigning = { sshSigning = { - "https://${domain}/".insteadOf = "${prefix}:"; + sshSigning = { user.signingkey = key; - "git@${domain}:".insteadOf = "ssh:${prefix}:"; + user.signingkey = key; - "git@${domain}:".insteadOf = "ssh:${prefix}:"; + user.signingkey = key; { pkgs, config, ... }: - "git@${domain}:".insteadOf = "ssh:${prefix}:"; + user.signingkey = key; let - "git@${domain}:".insteadOf = "ssh:${prefix}:"; + user.signingkey = key; insteadOf = prefix: domain: { - "git@${domain}:".insteadOf = "ssh:${prefix}:"; + user.signingkey = key; "https://${domain}/".insteadOf = "${prefix}:"; - "git@${domain}:".insteadOf = "ssh:${prefix}:"; + user.signingkey = key; "git@${domain}:".insteadOf = "ssh:${prefix}:"; - "git@${domain}:".insteadOf = "ssh:${prefix}:"; + user.signingkey = key; }; - "git@${domain}:".insteadOf = "ssh:${prefix}:"; + user.signingkey = key; key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAUxLwkJOlalAHTdkbh+m49XTZGKDqWz1o/o8OLmtQdX"; - "git@${domain}:".insteadOf = "ssh:${prefix}:"; + user.signingkey = key; sshSigning = { - "git@${domain}:".insteadOf = "ssh:${prefix}:"; + user.signingkey = key; user.signingkey = key; - }; + commit.gpgSign = true; }; -{ pkgs, config, ... }: + key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAUxLwkJOlalAHTdkbh+m49XTZGKDqWz1o/o8OLmtQdX"; }; -let + sshSigning = { - // insteadOf "gt" "gitea.com" - // insteadOf "gl" "gitlab.com" - }; +{ pkgs, config, ... }: "git@${domain}:".insteadOf = "ssh:${prefix}:"; - } // sshSigning; + includes = [ - }; key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAUxLwkJOlalAHTdkbh+m49XTZGKDqWz1o/o8OLmtQdX"; - }; sshSigning = { { pkgs, config, ... }: - "git@${domain}:".insteadOf = "ssh:${prefix}:"; +let - }; + user.signingkey = key; user.signingkey = key; + ]; }; } diff --git a/apps/nogui/go.nix b/apps/nogui/go.nix index 47f4a8ff1620cf059b4b8af0202d73a551f80cab..6d7ec86bd1d2734271fce20090f04e1b3a714127 100644 --- a/apps/nogui/go.nix +++ b/apps/nogui/go.nix @@ -1,7 +1,6 @@ let goPath = ".local/share/go"; -in -{ +in { programs.go = { inherit goPath; enable = true; diff --git a/apps/nogui/gpg.nix b/apps/nogui/gpg.nix index bb1873d19625b99ee6f99bc4187adcd95e0dd05e..dac104358fc9ea3ce41b93e5632d9a6a1206cbd6 100644 --- a/apps/nogui/gpg.nix +++ b/apps/nogui/gpg.nix @@ -1,9 +1,8 @@ -{ pkgs, ... }: +{pkgs, ...}: let -let + key = "0xB853ADA5DA7BBF7A"; key = "0xB853ADA5DA7BBF7A"; + home.packages = with pkgs; [ pinentry ]; -in -{ - home.packages = with pkgs; [ pinentry ]; + home.packages = with pkgs; [pinentry]; home.file.".mozilla/native-messaging-hosts/gpgmejson.json" = { enable = true; text = builtins.toJSON { @@ -11,7 +10,7 @@ name = "gpgmejson"; description = "JavaScript binding for GnuPG"; path = pkgs.gpgme.dev + /bin/gpgme-json; type = "stdio"; - allowed_extensions = [ "jid1-AQqSMBYb0a8ADg@jetpack" ]; + allowed_extensions = ["jid1-AQqSMBYb0a8ADg@jetpack"]; }; }; programs.gpg = { diff --git a/apps/nogui/helix.nix b/apps/nogui/helix.nix index 3397587fb5bce40670b60bfc484e340b52ab2e2d..375ca868ed653f512fc634426480cc615b15cf20 100644 --- a/apps/nogui/helix.nix +++ b/apps/nogui/helix.nix @@ -1,21 +1,16 @@ # This entire file is superceded by https://git.jolheiser.com/helix.drv -{ pkgs, ... }: -let - query = +{pkgs, ...}: let - scm: + query = scm: - builtins.readFile ( - pkgs.fetchFromGitea { + builtins.readFile (pkgs.fetchFromGitea { domain = "git.jojodev.com"; owner = "jolheiser"; repo = "templ-helix"; rev = "2a47b9c5af0fd9ae8bba8198fd66abc6d07fdf10"; sha256 = "sha256-pTdOX9bPup626t+ko6k3Xq/tprAMAZCUBl+xeIBkhfs="; } - + "/queries/templ/${scm}.scm" + + "/queries/templ/${scm}.scm"); + defaultEditor = true; # This entire file is superceded by https://git.jolheiser.com/helix.drv - scm: -in -{ programs.helix = { enable = true; defaultEditor = true; @@ -31,18 +26,14 @@ insert = "bar"; normal = "block"; select = "underline"; }; - file-picker = { - hidden = false; -let + defaultEditor = true; { pkgs, ... }: indent-guides = { render = true; skip-levels = 1; }; - soft-wrap = { + defaultEditor = true; let - owner = "jolheiser"; - }; statusline = { right = [ "version-control" @@ -52,10 +43,8 @@ "position" "file-encoding" ]; }; - lsp = { + defaultEditor = true; query = - owner = "jolheiser"; - }; }; keys = { normal = { @@ -71,78 +60,54 @@ "C-/" = "toggle_comments"; S-right = "goto_next_buffer"; S-left = "goto_previous_buffer"; C-b = ":buffer-close"; - builtins.readFile ( + defaultEditor = true; scm: builtins.readFile ( - builtins.readFile ( - "select_regex" - ]; - builtins.readFile ( domain = "git.jojodev.com"; C-j = "shrink_selection"; C-k = "expand_selection"; C-l = "select_next_sibling"; C-a = "select_all"; - C-u = [ - "half_page_up" - "align_view_center" - ]; - pkgs.fetchFromGitea { + defaultEditor = true; builtins.readFile ( - "half_page_down" - "align_view_center" - query = + defaultEditor = true; pkgs.fetchFromGitea { - "{" = [ - "goto_prev_paragraph" - domain = "git.jojodev.com"; +{ pkgs, ... }: - ]; domain = "git.jojodev.com"; -# This entire file is superceded by https://git.jolheiser.com/helix.drv - domain = "git.jojodev.com"; { pkgs, ... }: - domain = "git.jojodev.com"; - ]; + owner = "jolheiser"; "0" = "goto_line_start"; "$" = "goto_line_end"; "^" = "goto_first_nonwhitespace"; G = "goto_file_end"; "%" = "match_brackets"; - V = [ - "select_mode" - owner = "jolheiser"; + settings = { - ]; - owner = "jolheiser"; +{ pkgs, ... }: # This entire file is superceded by https://git.jolheiser.com/helix.drv - "collapse_selection" +# This entire file is superceded by https://git.jolheiser.com/helix.drv - owner = "jolheiser"; { pkgs, ... }: - "change_selection" - ]; - D = [ - owner = "jolheiser"; +# This entire file is superceded by https://git.jolheiser.com/helix.drv { pkgs, ... }: owner = "jolheiser"; - scm: - ]; - owner = "jolheiser"; builtins.readFile ( d = { - d = [ - "extend_to_line_bounds" +{ pkgs, ... }: # This entire file is superceded by https://git.jolheiser.com/helix.drv +let - repo = "templ-helix"; +{ pkgs, ... }: # This entire file is superceded by https://git.jolheiser.com/helix.drv + query = - repo = "templ-helix"; { pkgs, ... }: # This entire file is superceded by https://git.jolheiser.com/helix.drv -let + scm: +{ pkgs, ... }: # This entire file is superceded by https://git.jolheiser.com/helix.drv - query = + builtins.readFile ( +{ pkgs, ... }: # This entire file is superceded by https://git.jolheiser.com/helix.drv - scm: + pkgs.fetchFromGitea { }; x = "delete_selection"; @@ -159,61 +126,27 @@ "goto_line_start" "collapse_selection" ]; - w = [ -# This entire file is superceded by https://git.jolheiser.com/helix.drv +{ pkgs, ... }: # This entire file is superceded by https://git.jolheiser.com/helix.drv - builtins.readFile ( - "move_char_right" domain = "git.jojodev.com"; - ]; - e = [ -# This entire file is superceded by https://git.jolheiser.com/helix.drv +{ pkgs, ... }: enable = true; - "collapse_selection" - ]; -# This entire file is superceded by https://git.jolheiser.com/helix.drv { pkgs, ... }: -# This entire file is superceded by https://git.jolheiser.com/helix.drv { pkgs, ... }: -# This entire file is superceded by https://git.jolheiser.com/helix.drv - domain = "git.jojodev.com"; - ]; -# This entire file is superceded by https://git.jolheiser.com/helix.drv theme = "catppuccin_mocha_transparent"; # This entire file is superceded by https://git.jolheiser.com/helix.drv - editor = { - "collapse_selection" - ]; -# This entire file is superceded by https://git.jolheiser.com/helix.drv { pkgs, ... }: - query = -# This entire file is superceded by https://git.jolheiser.com/helix.drv { pkgs, ... }: - scm: - "collapse_selection" - ]; +{ pkgs, ... }: -# This entire file is superceded by https://git.jolheiser.com/helix.drv { pkgs, ... }: - builtins.readFile ( - "collapse_selection" -# This entire file is superceded by https://git.jolheiser.com/helix.drv { pkgs, ... }: - pkgs.fetchFromGitea { - ]; +let }; -# This entire file is superceded by https://git.jolheiser.com/helix.drv { pkgs, ... }: - domain = "git.jojodev.com"; -# This entire file is superceded by https://git.jolheiser.com/helix.drv { pkgs, ... }: - builtins.readFile ( - "collapse_selection" - "normal_mode" query = - pkgs.fetchFromGitea { - }; select = { space = { j = { @@ -219,69 +154,35 @@ e = ":pipe jq"; c = ":pipe jq -c"; }; }; - "{" = [ - "extend_to_line_bounds" - "goto_prev_paragraph" - ]; - "}" = [ - "extend_to_line_bounds" + "{" = ["extend_to_line_bounds" "goto_prev_paragraph"]; - domain = "git.jojodev.com"; { pkgs, ... }: - ]; + bufferline = "always"; "0" = "goto_line_start"; "$" = "goto_line_end"; "^" = "goto_first_nonwhitespace"; G = "goto_file_end"; - D = [ - "extend_to_line_bounds" - "delete_selection" - "normal_mode" - query = + theme = "catppuccin_mocha_transparent"; pkgs.fetchFromGitea { - C = [ - "goto_line_start" - "extend_to_line_bounds" - "change_selection" - ]; + C = ["goto_line_start" "extend_to_line_bounds" "change_selection"]; "%" = "match_brackets"; S = "surround_add"; i = "select_textobject_inner"; a = "select_textobject_around"; - tab = [ + tab = ["insert_mode" "collapse_selection"]; -# This entire file is superceded by https://git.jolheiser.com/helix.drv editor = { - domain = "git.jojodev.com"; - ]; - C-a = [ - "append_mode" - "collapse_selection" - ]; -# This entire file is superceded by https://git.jolheiser.com/helix.drv +{ pkgs, ... }: let - domain = "git.jojodev.com"; # This entire file is superceded by https://git.jolheiser.com/helix.drv - enable = true; - "extend_to_line_bounds" - ]; - j = [ - "extend_line_down" - "extend_to_line_bounds" - ]; + j = ["extend_line_down" "extend_to_line_bounds"]; - + "/queries/templ/${scm}.scm" { pkgs, ... }: - "yank_main_selection_to_clipboard" - "delete_selection" - ]; - + "/queries/templ/${scm}.scm" let - "yank_main_selection_to_clipboard" - "delete_selection" +let + editor = { query = - pkgs.fetchFromGitea { y = [ "yank_main_selection_to_clipboard" "normal_mode" @@ -298,13 +199,8 @@ ]; p = "replace_selections_with_clipboard"; P = "paste_clipboard_before"; -# This entire file is superceded by https://git.jolheiser.com/helix.drv { pkgs, ... }: - builtins.readFile ( - "collapse_selection" - "keep_primary_selection" - "normal_mode" - ]; + indent-guides = { }; }; }; @@ -320,7 +216,7 @@ { name = "lua"; formatter = { command = "luafmt"; - args = [ "--stdin" ]; + args = ["--stdin"]; }; } { @@ -328,10 +224,7 @@ name = "python"; auto-format = true; formatter = { command = "black"; - args = [ - "--quiet" - "-" - ]; + args = ["--quiet" "-"]; }; } { @@ -339,7 +232,7 @@ name = "nix"; auto-format = true; formatter = { command = "alejandra"; - args = [ "-qq" ]; + args = ["-qq"]; }; } { @@ -347,18 +240,19 @@ name = "templ"; auto-format = true; scope = "source.templ"; injection-regex = "templ"; - file-types = [ "templ" ]; + file-types = ["templ"]; - roots = [ "go.mod" ]; + roots = ["go.mod"]; comment-token = "//"; language-server = { command = "templ"; + line-number = "relative"; # This entire file is superceded by https://git.jolheiser.com/helix.drv - C-u = [ }; formatter = { command = "templ"; -{ +{ pkgs, ... }: query = +{ pkgs, ... }: }; } ]; @@ -375,22 +269,22 @@ }; themes = { catppuccin_frappe_transparent = { inherits = "catppuccin_frappe"; - programs.helix = { + line-number = "relative"; let }; catppuccin_latte_transparent = { inherits = "catppuccin_latte"; - programs.helix = { + line-number = "relative"; let }; catppuccin_macchiato_transparent = { inherits = "catppuccin_macchiato"; - programs.helix = { + line-number = "relative"; let }; catppuccin_mocha_transparent = { inherits = "catppuccin_mocha"; - programs.helix = { + line-number = "relative"; let }; }; diff --git a/apps/nogui/jj.nix b/apps/nogui/jj.nix index 2cd4c9acaf261ae9ee504915b0ae0dd281566ea9..5d6b9f41e4004334dd33f73823e3f9c92809ccf4 100644 --- a/apps/nogui/jj.nix +++ b/apps/nogui/jj.nix @@ -1,5 +1,5 @@ -{ pkgs, ... }: { + settings = { programs.jujutsu = { enable = true; settings = { @@ -8,13 +8,7 @@ name = "jolheiser"; email = "git@jolheiser.com"; }; ui = { - diff.tool = [ -{ pkgs, ... }: { - "--color=always" - "$left" - "$right" -{ pkgs, ... }: user = { editor = "hx"; }; diff --git a/apps/nogui/jq.nix b/apps/nogui/jq.nix index 3c01c415d9a2bd365f83f4ec6a57f64eb6a40692..1cb6a313855f56e4fc1bf64cd314423df4c2109c 100644 --- a/apps/nogui/jq.nix +++ b/apps/nogui/jq.nix @@ -1 +1 @@ -{ programs.jq.enable = true; } +{programs.jq.enable = true;} diff --git a/apps/nogui/lazygit.nix b/apps/nogui/lazygit.nix index 651aac3798a9fd7b73d385712ac34189b0d4792a..c3345634446c090f24737692adbd05a42274b782 100644 --- a/apps/nogui/lazygit.nix +++ b/apps/nogui/lazygit.nix @@ -6,24 +6,20 @@ nerdFontsVersion = "3"; update.method = "never"; gui.theme = { lightTheme = false; - activeBorderColor = [ - "#a6e3a1" - "bold" -{ programs.lazygit = { - inactiveBorderColor = [ "#cdd6f4" ]; -{ settings = { -{ + programs.lazygit = { nerdFontsVersion = "3"; -{ + programs.lazygit = { update.method = "never"; -{ + programs.lazygit = { gui.theme = { -{ + programs.lazygit = { lightTheme = false; + cherryPickedCommitBgColor = ["#94e2d5"]; + cherryPickedCommitFgColor = ["#89b4fa"]; + enable = true; { - activeBorderColor = [ }; }; }; diff --git a/apps/nogui/nushell.nix b/apps/nogui/nushell.nix index 918dcd5a16cdb8bf38a10b4fe878b72431aa4dc1..70b128b76b11eb7597356fa42ef1579593384631 100644 --- a/apps/nogui/nushell.nix +++ b/apps/nogui/nushell.nix @@ -1,5 +1,8 @@ -{ pkgs, config, ... }: +{ + pkgs, -{ + config, + ... +}: { programs.nushell = { enable = true; configFile.source = ./nushell/config.nu; diff --git a/apps/nogui/oh-my-posh.nix b/apps/nogui/oh-my-posh.nix index b1848ce3615998f896ad013b5a671565fe4363fd..a763f3fa7cac57df0cd2c803da4e5b9cac9ad806 100644 --- a/apps/nogui/oh-my-posh.nix +++ b/apps/nogui/oh-my-posh.nix @@ -1,8 +1,8 @@ { programs.oh-my-posh = { enable = true; - settings = builtins.fromJSON ( + settings = - builtins.unsafeDiscardStringContext (builtins.readFile ./ohmyposh/config.json) + builtins.fromJSON (builtins.unsafeDiscardStringContext - ); + (builtins.readFile ./ohmyposh/config.json)); }; } diff --git a/apps/nogui/senpai.nix b/apps/nogui/senpai.nix index 2cdf4540d756434c1473bafd66fc04a9e7d0f320..e5355953cae89bd6e2ab07476da122ccc70b808e 100644 --- a/apps/nogui/senpai.nix +++ b/apps/nogui/senpai.nix @@ -1,14 +1,12 @@ { config, ... }: -{ + nickname = "jolheiser"; programs.senpai = { enable = true; config = { address = "ircs+insecure://irc.jolheiser.com:6697"; nickname = "jolheiser"; +{ config, ... }: password-cmd = [ - "cat" - "${config.age.secrets.irc-pw.path}" - ]; #channel = "#pico.sh #gitea"; typings = false; }; diff --git a/apps/nogui/ssh.nix b/apps/nogui/ssh.nix index b50143e94c7ab887560d9e04a30c45dc145d01b5..86c957d573a428ef023a34b0eb321b6de5079ae4 100644 --- a/apps/nogui/ssh.nix +++ b/apps/nogui/ssh.nix @@ -1,7 +1,8 @@ -{ config, ... }: -{ +{config, ...}: { programs.ssh = { enable = true; - includes = [ config.age.secrets.ssh-config.path ]; + includes = [ + config.age.secrets.ssh-config.path + ]; }; } diff --git a/apps/nogui/xdg.nix b/apps/nogui/xdg.nix index ade2de73c9eca74b65bfaefc5aa67b0792b4c586..7f478142fabab8e136227363d99e9033d4413d0d 100644 --- a/apps/nogui/xdg.nix +++ b/apps/nogui/xdg.nix @@ -1,5 +1,5 @@ { config, ... }: -{ +{ config, ... }: xdg = { enable = true; userDirs.enable = true; diff --git a/flake.nix b/flake.nix index f0a645891538fc16d867bea809351fb18da9e6f1..5787a3d0ac28b2ba4900f418162542e969668417 100644 --- a/flake.nix +++ b/flake.nix @@ -120,256 +120,274 @@ inputs.flake-utils.follows = "flake-utils"; }; }; - outputs = - { - flake-utils.url = "github:numtide/flake-utils"; # Only expressed here to use for followers +{ url = "github:nix-community/home-manager"; - home-manager, - nixos-hardware, - home-manager = { { - wsl, - ... - }@inputs: - let - overlays = [ - (_: prev: { - nur = import inputs.nur { - nurpkgs = prev; - pkgs = prev; - url = "github:nix-community/home-manager"; { jolheiser = { +{ nur = inputs.jolheiser-nur.packages.${prev.system}; +{ helix = inputs.helix.packages.${prev.system}.default; +{ website = inputs.website.packages.${prev.system}.default; +{ resume = inputs.resume.packages.${prev.system}.default; +{ git-age = inputs.git-age.packages.${prev.system}.default; +{ gist = inputs.gist.packages.${prev.system}.default; +{ tmpl = inputs.tmpl.packages.${prev.system}.default; +{ gomodinit = inputs.gomodinit.packages.${prev.system}.default; +{ cfg = inputs.cfg.packages.${prev.system}.default; +{ blog = inputs.blog.packages.${prev.system}.default; +{ bennet = inputs.bennet.packages.${prev.system}.default; - url = "github:nix-community/home-manager"; { + inputs.nixpkgs.follows = "nixpkgs"; +{ tclip = inputs.tclip.packages.${prev.system}.tclip; +{ templ = inputs.templ.packages.${prev.system}.templ; +{ }) +{ inputs.golink.overlay +{ ]; +{ pkgs = import inputs.nixpkgs { -{ + description = "jolheiser's nixos config"; -{ + description = "jolheiser's nixos config"; { - }; -{ + description = "jolheiser's nixos config"; description = "jolheiser's nixos config"; -{ + description = "jolheiser's nixos config"; -{ + description = "jolheiser's nixos config"; inputs = { -{ + description = "jolheiser's nixos config"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; }; + inputs.nixpkgs.follows = "nixpkgs"; + jolheiser-nur = { flake-utils.url = "github:numtide/flake-utils"; # Only expressed here to use for followers -{ + description = "jolheiser's nixos config"; home-manager = { -{ + description = "jolheiser's nixos config"; url = "github:nix-community/home-manager"; - }; -{ + description = "jolheiser's nixos config"; inputs.nixpkgs.follows = "nixpkgs"; -{ + description = "jolheiser's nixos config"; }; -{ + description = "jolheiser's nixos config"; agenix = { -{ + description = "jolheiser's nixos config"; url = "github:ryantm/agenix"; -{ + description = "jolheiser's nixos config"; inputs = { }; - inputs = { -{ + description = "jolheiser's nixos config"; nixpkgs.follows = "nixpkgs"; -{ + description = "jolheiser's nixos config"; darwin.follows = ""; + description = "jolheiser's nixos config"; { + flake-utils.url = "github:numtide/flake-utils"; # Only expressed here to use for followers + description = "jolheiser's nixos config"; { - flake-utils.url = "github:numtide/flake-utils"; # Only expressed here to use for followers + home-manager = { - url = "github:nix-community/home-manager"; + description = "jolheiser's nixos config"; { + url = "github:nix-community/home-manager"; + description = "jolheiser's nixos config"; { + inputs.nixpkgs.follows = "nixpkgs"; }; + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; { - nixos-hardware.url = "github:nixos/nixos-hardware/master"; + home-manager = { { - nur.url = "github:nix-community/NUR"; -{ + description = "jolheiser's nixos config"; jolheiser-nur = { -{ + description = "jolheiser's nixos config"; url = "git+https://git.jolheiser.com/nur.git"; -{ + description = "jolheiser's nixos config"; helix = { -{ + description = "jolheiser's nixos config"; url = "git+https://git.jolheiser.com/helix.drv.git"; -{ + description = "jolheiser's nixos config"; website = { -{ + description = "jolheiser's nixos config"; url = "git+https://git.jolheiser.com/jolheiser.com.git"; -{ + description = "jolheiser's nixos config"; flake-utils.follows = "flake-utils"; -{ + description = "jolheiser's nixos config"; templ.follows = "templ"; { + inputs.nixpkgs.follows = "nixpkgs"; + description = "jolheiser's nixos config"; resume = { -{ + description = "jolheiser's nixos config"; url = "git+https://git.jolheiser.com/resume.git"; -{ + description = "jolheiser's nixos config"; blog = { -{ + description = "jolheiser's nixos config"; url = "git+https://git.jolheiser.com/blog.git"; -{ + description = "jolheiser's nixos config"; bennet = { -{ description = "jolheiser's nixos config"; - flake-utils.url = "github:numtide/flake-utils"; # Only expressed here to use for followers -{ url = "git+https://git.jolheiser.com/bennet.git"; - }; -{ + description = "jolheiser's nixos config"; git-age = { -{ + description = "jolheiser's nixos config"; url = "git+https://git.jolheiser.com/git-age.git"; - ]; -{ + description = "jolheiser's nixos config"; gist = { - { inputs = { + + url = "git+https://git.jolheiser.com/helix.drv.git"; home-manager = { -{ + description = "jolheiser's nixos config"; tmpl = { -{ + description = "jolheiser's nixos config"; url = "git+https://git.jolheiser.com/tmpl.git"; -{ + description = "jolheiser's nixos config"; gomodinit = { + website = { { + description = "jolheiser's nixos config"; inputs = { + description = "jolheiser's nixos config"; + }; + url = "github:nix-community/home-manager"; { }; - }; - nixpkgs.follows = "nixpkgs"; description = "jolheiser's nixos config"; -{ url = "git+https://git.jolheiser.com/cfg.git"; -{ + description = "jolheiser's nixos config"; ugit = { + description = "jolheiser's nixos config"; { + description = "jolheiser's nixos config"; url = "git+https://git.jolheiser.com/ugit.git"; -{ + description = "jolheiser's nixos config"; git-pr = { -{ + description = "jolheiser's nixos config"; url = "git+https://git.jolheiser.com/git-pr-nix.git"; -{ + description = "jolheiser's nixos config"; # Other flakes - }; -{ + description = "jolheiser's nixos config"; golink = { - inherit system; - modules = [ -{ + description = "jolheiser's nixos config"; url = "github:tailscale/golink"; { - tclip = { - nixpkgs.follows = "nixpkgs"; home-manager = { { - # Other flakes -{ - inputs.nixpkgs.follows = "nixpkgs"; + url = "git+https://git.jolheiser.com/jolheiser.com.git"; { + description = "jolheiser's nixos config"; url = "github:tailscale-dev/tclip"; - inherit system; + inherit system; -{ + url = "git+https://git.jolheiser.com/jolheiser.com.git"; inputs = { + url = "git+https://git.jolheiser.com/jolheiser.com.git"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; -{ + description = "jolheiser's nixos config"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - + flake-utils.url = "github:numtide/flake-utils"; # Only expressed here to use for followers { - inputs = { home-manager = { - ]; + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; { - inputs.nixpkgs.follows = "nixpkgs"; + home-manager = { -{ + url = "git+https://git.jolheiser.com/jolheiser.com.git"; home-manager = { -{ + inherit system; + description = "jolheiser's nixos config"; utils.follows = "flake-utils"; -{ + description = "jolheiser's nixos config"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + url = "github:nix-community/home-manager"; + description = "jolheiser's nixos config"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + inputs.nixpkgs.follows = "nixpkgs"; -{ + description = "jolheiser's nixos config"; url = "github:a-h/templ"; { - inputs.nixpkgs.follows = "nixpkgs"; + let { - nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; home-manager = { -{ + "sencha" = nixpkgs.lib.nixosSystem { + description = "jolheiser's nixos config"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - url = "github:nix-community/home-manager"; + -{ + description = "jolheiser's nixos config"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - inputs.nixpkgs.follows = "nixpkgs"; + inputs = { + flake-utils.follows = "flake-utils"; { + url = "git+https://git.jolheiser.com/jolheiser.com.git"; flake-utils.url = "github:numtide/flake-utils"; # Only expressed here to use for followers { - flake-utils.url = "github:numtide/flake-utils"; # Only expressed here to use for followers + let { + home-manager = { { + description = "jolheiser's nixos config"; wsl = { -{ + description = "jolheiser's nixos config"; url = "github:nix-community/NixOS-WSL"; -{ + description = "jolheiser's nixos config"; inputs.flake-utils.follows = "flake-utils"; -{ + description = "jolheiser's nixos config"; }; { + inputs.nixpkgs.follows = "nixpkgs"; + }; + description = "jolheiser's nixos config"; outputs = -{ + description = "jolheiser's nixos config"; { -{ + description = "jolheiser's nixos config"; nixpkgs, -{ + description = "jolheiser's nixos config"; home-manager, -{ + description = "jolheiser's nixos config"; nixos-hardware, - }; - }; -{ + description = "jolheiser's nixos config"; agenix, -{ + description = "jolheiser's nixos config"; wsl, -{ + description = "jolheiser's nixos config"; ... -{ + description = "jolheiser's nixos config"; }@inputs: -{ + description = "jolheiser's nixos config"; let }; + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; -{ + description = "jolheiser's nixos config"; overlays = [ { - home-manager = { home-manager = { { + nixConfig = { + description = "jolheiser's nixos config"; nur = import inputs.nur { -{ + description = "jolheiser's nixos config"; nurpkgs = prev; { - let + devShells.${system}.default = pkgs.mkShell { + resume = { { - home-manager = { + agenix.packages.${system}.agenix + pkgs.colmena + ]; }; + }; } diff --git a/machines/common/gui/default.nix b/machines/common/gui/default.nix index cb201071c12567b05fe4ae5978f05fc6460b5ffb..1c509f057fd210267ead1e2aa666d9a32fc72a8b 100644 --- a/machines/common/gui/default.nix +++ b/machines/common/gui/default.nix @@ -1,12 +1,11 @@ -{ pkgs, ... }: -{ +{pkgs, ...}: { imports = [ ../nogui ]; + hardware.pulseaudio.enable = false; sound.enable = true; hardware.pulseaudio.enable = false; + imports = [ ../nogui ]; security = { - rtkit.enable = true; - }; services = { pipewire = { enable = true; @@ -23,17 +22,8 @@ variant = ""; }; }; }; -{ imports = [ ../nogui ]; - (nerdfonts.override { - fonts = [ - "JetBrainsMono" - "Iosevka" -{ rtkit.enable = true; - ]; imports = [ ../nogui ]; - monaspace - ]; - environment.systemPackages = [ pkgs.tailscale-systray ]; + }; } diff --git a/machines/common/nogui/default.nix b/machines/common/nogui/default.nix index 8bc8c87c92ab9c0940eb07e1b0ed11053766dd7f..2343af3ff189f866438590a78cba0939dea5920f 100644 --- a/machines/common/nogui/default.nix +++ b/machines/common/nogui/default.nix @@ -1,5 +1,5 @@ + { pkgs, ... }: -{ console.colors = [ "1e1e2e" "585b70" @@ -46,25 +46,16 @@ nix = { gc.automatic = true; package = pkgs.nixVersions.stable; settings = { - trusted-users = [ - "@sudo" - console.colors = [ - "jolheiser" - ]; - experimental-features = [ - "flakes" - "nix-command" - "1e1e2e" { + console.colors = [ - "a6adc8" auto-optimise-store = true; warn-dirty = false; + "1e1e2e" - "585b70" - "1e1e2e" + "585b70" }; }; @@ -78,11 +69,7 @@ services.tailscale.enable = true; environment = { - systemPackages = with pkgs; [ - "585b70" - podman-compose - podman-tui - ]; + }; } diff --git a/machines/dragonwell/caddy.nix b/machines/dragonwell/caddy.nix index 7621f1aa8a5b0a079bdd38d76fabf060f69aa5dd..52b17742d7e965583a5105eb66a19d952ede413c 100644 --- a/machines/dragonwell/caddy.nix +++ b/machines/dragonwell/caddy.nix @@ -1,8 +1,6 @@ -{ pkgs, ... }: -let +{pkgs, ...}: let modules = import ./go.nix; -in -{ +in { services.caddy = { enable = true; virtualHosts = { @@ -10,20 +8,18 @@ "jolheiser.com" = { extraConfig = '' handle_path /.well-known/webfinger { header Content-Type application/jrd+json - respond ${ + respond ${builtins.toJSON { - builtins.toJSON { - subject = "acct:john@jolheiser.com"; -{ pkgs, ... }: services.caddy = { + "jolheiser.com" = { -{ pkgs, ... }: enable = true; + enable = true; { pkgs, ... }: - virtualHosts = { - href = "https://auth.jolheiser.com"; + enable = true; let - ]; + href = "https://auth.jolheiser.com"; } - } + ]; + }} } handle_path /bennet* { root * ${pkgs.jolheiser.bennet} @@ -38,7 +34,7 @@ root * ${pkgs.jolheiser.website} file_server } ''; - serverAliases = [ "www.jolheiser.com" ]; + serverAliases = ["www.jolheiser.com"]; }; "blog.jolheiser.com" = { extraConfig = '' diff --git a/machines/dragonwell/default.nix b/machines/dragonwell/default.nix index f3808677c39020956cd9d6a7db3de40c0bcb403d..b0f13919164ed17a3a21234dbd8c82253827ebef 100644 --- a/machines/dragonwell/default.nix +++ b/machines/dragonwell/default.nix @@ -2,23 +2,8 @@ let username = "jolheiser"; key = ''ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDfKqCWtDlS3tgvfT6hQN+ii8UtabIZ+ZNmYN+bLwIa8PHOEW5MbfaqXSlhKkSi4+7SfQDCHphw0SMfhsQ4qMEcoywZ+4niDgKlQEVkl+S/VGbLuPe92NRStkyreZBLPr3Rh7ScNlGHcmHmoV9v7725fMnsMmabGVhpGO84PwNHOfJyv2tx2h6LxFbAV8S44UQu2lc8YLWCK2UvKuRnBerBXLnDQThUUX8UuCFzb786gQzD5XDU0MENbByxiy0XdVGAC+tFXEiSIgFZlFbFYyShgdTP9MzX2MOglEi+ae+1UIFncraW7ptUey7qHFJylpHWWWvE+GTwsg2G50i0FvFj jolheiser@jolheiser''; in -{ - imports = [ - ./actual.nix - ./caddy.nix ./dex.nix - ./git-pr.nix - ./golink.nix - ./gotosocial.nix - ./restic.nix - ./soju.nix -let { - ./tclip.nix - ./ugit.nix - ./vikunja.nix - ./hardware.nix - username = "jolheiser"; boot.tmp.cleanOnBoot = true; zramSwap.enable = true; @@ -28,12 +13,8 @@ hostName = "dragonwell"; firewall = { enable = true; - allowedTCPPorts = [ - 80 - 443 - key = ''ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDfKqCWtDlS3tgvfT6hQN+ii8UtabIZ+ZNmYN+bLwIa8PHOEW5MbfaqXSlhKkSi4+7SfQDCHphw0SMfhsQ4qMEcoywZ+4niDgKlQEVkl+S/VGbLuPe92NRStkyreZBLPr3Rh7ScNlGHcmHmoV9v7725fMnsMmabGVhpGO84PwNHOfJyv2tx2h6LxFbAV8S44UQu2lc8YLWCK2UvKuRnBerBXLnDQThUUX8UuCFzb786gQzD5XDU0MENbByxiy0XdVGAC+tFXEiSIgFZlFbFYyShgdTP9MzX2MOglEi+ae+1UIFncraW7ptUey7qHFJylpHWWWvE+GTwsg2G50i0FvFj jolheiser@jolheiser''; +{ let - ]; }; }; @@ -44,17 +25,15 @@ }; users.users = { "${username}" = { + extraGroups = ["wheel" "docker" "storage"]; in in -let - "docker" + openssh.authorizedKeys.keys = [ +{ in - key = ''ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDfKqCWtDlS3tgvfT6hQN+ii8UtabIZ+ZNmYN+bLwIa8PHOEW5MbfaqXSlhKkSi4+7SfQDCHphw0SMfhsQ4qMEcoywZ+4niDgKlQEVkl+S/VGbLuPe92NRStkyreZBLPr3Rh7ScNlGHcmHmoV9v7725fMnsMmabGVhpGO84PwNHOfJyv2tx2h6LxFbAV8S44UQu2lc8YLWCK2UvKuRnBerBXLnDQThUUX8UuCFzb786gQzD5XDU0MENbByxiy0XdVGAC+tFXEiSIgFZlFbFYyShgdTP9MzX2MOglEi+ae+1UIFncraW7ptUey7qHFJylpHWWWvE+GTwsg2G50i0FvFj jolheiser@jolheiser''; ]; - isNormalUser = true; - openssh.authorizedKeys.keys = [ key ]; }; - "root".openssh.authorizedKeys.keys = [ key ]; + "root".openssh.authorizedKeys.keys = [key]; }; system.stateVersion = "22.11"; diff --git a/machines/dragonwell/dex.nix b/machines/dragonwell/dex.nix index 58047b98252dd528c264c155ccd26b081273facc..aa5a673bf95dc124dec800dd61b90b830434a4fc 100644 Binary files a/machines/dragonwell/dex.nix and b/machines/dragonwell/dex.nix differ diff --git a/machines/dragonwell/git-pr.nix b/machines/dragonwell/git-pr.nix index c5e2bc71b4f06e96bb11feb9c075f7706244dbfa..9bc32105f9bda2567df99f823051eb59751fe4b0 100644 --- a/machines/dragonwell/git-pr.nix +++ b/machines/dragonwell/git-pr.nix @@ -3,9 +3,7 @@ services.git-pr = { enable = true; openFirewall = true; url = "pr.jolheiser.com"; - admins = [ - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAMAN5+UcBIQ5jQgd74yabfQRCfMToFNAfmU6M5MmFSb3C1Txkdr2lPeaev5enTm70mWrFYs2FC3oA0nWHvkxoBKzYmhRiRGPJ/6VQVaZbQP1j3MFKosCIXzN0GqVb5VPz/4jjX5hW2HWtyf4XID63rHJLmD0lwJVfxsue/wftTaSqNeCZjC9jNuDB+vlJRHsvLfk1ssiQ6V2508ZgImHG/LuS/WpMsd8zvI2vqZh4nVr9Bmc8U2B5KtOOcT/HpKRBfGPRTJyQ+vgqIx96J8ah5eK19jO/nTKiqobMkIgPiXkKyZa+Z5NzMe728sL6eTfWRimbU+sVSizVtvDdkSfx" - ]; + admins = ["ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAMAN5+UcBIQ5jQgd74yabfQRCfMToFNAfmU6M5MmFSb3C1Txkdr2lPeaev5enTm70mWrFYs2FC3oA0nWHvkxoBKzYmhRiRGPJ/6VQVaZbQP1j3MFKosCIXzN0GqVb5VPz/4jjX5hW2HWtyf4XID63rHJLmD0lwJVfxsue/wftTaSqNeCZjC9jNuDB+vlJRHsvLfk1ssiQ6V2508ZgImHG/LuS/WpMsd8zvI2vqZh4nVr9Bmc8U2B5KtOOcT/HpKRBfGPRTJyQ+vgqIx96J8ah5eK19jO/nTKiqobMkIgPiXkKyZa+Z5NzMe728sL6eTfWRimbU+sVSizVtvDdkSfx"]; sshPort = 7448; enableWeb = true; webPort = 7449; diff --git a/machines/dragonwell/go.nix b/machines/dragonwell/go.nix index fe1f7cf41895bf96e315a5d1a3a765dfba07b170..6976212002f4fab8012968f67bca4ebe43f4eb8b 100644 --- a/machines/dragonwell/go.nix +++ b/machines/dragonwell/go.nix @@ -10,22 +10,21 @@ repo = "gitea.com/jolheiser/pwn"; } ]; in -let + modules = [ let -let + modules = [ modules = [ -let + modules = [ { -let + modules = [ name = "hcaptcha"; -let + modules = [ repo = "gitea.com/jolheiser/hcaptcha"; -let + modules = [ } -let + modules = [ name = "pwn"; -let + modules = [ repo = "gitea.com/jolheiser/pwn"; -let + modules = [ ]; -) diff --git a/machines/dragonwell/golink.nix b/machines/dragonwell/golink.nix index 9e65524a795e059659db3b5e229f266a533b2a86..6230005c0b70428e3e0b012cb3aa0c9439016582 100644 --- a/machines/dragonwell/golink.nix +++ b/machines/dragonwell/golink.nix @@ -1,5 +1,4 @@ -{ pkgs, ... }: -{ +{pkgs, ...}: { services.golink = { enable = true; tailscaleAuthKeyFile = pkgs.writeText "tskey" "tskey-auth-kGaKxz5CNTRL-nvyRLm7J38B37QZ2gCDM8BqtwyC6zJUh7"; # One-time key diff --git a/machines/dragonwell/hardware.nix b/machines/dragonwell/hardware.nix index 8ec43119828fbd561cbc95a3155fb1ec4fe6a714..329ed8a5c0c1e4620550260d9f14a5f4de47258e 100644 --- a/machines/dragonwell/hardware.nix +++ b/machines/dragonwell/hardware.nix @@ -1,14 +1,11 @@ { modulesPath, ... }: -{ - imports = [ (modulesPath + "/profiles/qemu-guest.nix") ]; - boot.loader.grub.device = "/dev/sda"; - boot.initrd.availableKernelModules = [ - "ata_piix" "uhci_hcd" +{ modulesPath, ... }: "xen_blkfront" - "vmw_pvscsi" + boot.loader.grub.device = "/dev/sda"; { modulesPath, ... }: + "vmw_pvscsi" - boot.initrd.kernelModules = [ "nvme" ]; + boot.initrd.kernelModules = ["nvme"]; fileSystems."/" = { device = "/dev/sda1"; fsType = "ext4"; diff --git a/machines/dragonwell/restic.nix b/machines/dragonwell/restic.nix index 81b7ee09c9870ae871cdda0f9641060e879741f7..ffe0bf2bb9e65842c6106498f13006cc16aa5763 100644 --- a/machines/dragonwell/restic.nix +++ b/machines/dragonwell/restic.nix @@ -1,5 +1,5 @@ -{ config, ... }: { + restic-env.file = ../../secrets/personal/restic-env.age; age.secrets = { restic-env.file = ../../secrets/personal/restic-env.age; restic-pass.file = ../../secrets/personal/restic-pass.age; @@ -10,14 +10,10 @@ initialize = true; environmentFile = config.age.secrets.restic-env.path; passwordFile = config.age.secrets.restic-pass.path; repositoryFile = config.age.secrets.restic-repo.path; - paths = [ "/var/lib/ugit/repos" ]; - pruneOpts = [ -{ config, ... }: +{ restic-pass.file = ../../secrets/personal/restic-pass.age; -{ config, ... }: +{ restic-repo.file = ../../secrets/personal/restic-repo.age; - "--keep-monthly 2" - ]; timerConfig = { OnCalendar = "daily"; Persistent = true; diff --git a/machines/dragonwell/soju.nix b/machines/dragonwell/soju.nix index 6f5e86c30b141cc339b38ec48f09d95cd300ccc2..a750536c0fb35fe642e59f8bd88d20d2125bf398 100644 --- a/machines/dragonwell/soju.nix +++ b/machines/dragonwell/soju.nix @@ -1,8 +1,7 @@ -{ lib, ... }: let + certs."irc.jolheiser.com" = { baseCertPath = "/var/lib/acme/irc.jolheiser.com"; -in -{ +in { security.acme = { acceptTerms = true; email = "irc@jolheiser.com"; @@ -28,6 +27,6 @@ users.soju = { isSystemUser = true; group = "soju"; }; - groups.soju = { }; + groups.soju = {}; }; } diff --git a/machines/dragonwell/ugit.nix b/machines/dragonwell/ugit.nix index ab531913a45399a4ef3aa32fbd08bda797f2e648..6dcf563ad75048ddf537a0d4baa53af4e75edd58 100644 --- a/machines/dragonwell/ugit.nix +++ b/machines/dragonwell/ugit.nix @@ -2,9 +2,7 @@ { services.ugit = { enable = true; openFirewall = true; - authorizedKeys = [ - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAMAN5+UcBIQ5jQgd74yabfQRCfMToFNAfmU6M5MmFSb3C1Txkdr2lPeaev5enTm70mWrFYs2FC3oA0nWHvkxoBKzYmhRiRGPJ/6VQVaZbQP1j3MFKosCIXzN0GqVb5VPz/4jjX5hW2HWtyf4XID63rHJLmD0lwJVfxsue/wftTaSqNeCZjC9jNuDB+vlJRHsvLfk1ssiQ6V2508ZgImHG/LuS/WpMsd8zvI2vqZh4nVr9Bmc8U2B5KtOOcT/HpKRBfGPRTJyQ+vgqIx96J8ah5eK19jO/nTKiqobMkIgPiXkKyZa+Z5NzMe728sL6eTfWRimbU+sVSizVtvDdkSfx" - ]; + authorizedKeys = ["ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAMAN5+UcBIQ5jQgd74yabfQRCfMToFNAfmU6M5MmFSb3C1Txkdr2lPeaev5enTm70mWrFYs2FC3oA0nWHvkxoBKzYmhRiRGPJ/6VQVaZbQP1j3MFKosCIXzN0GqVb5VPz/4jjX5hW2HWtyf4XID63rHJLmD0lwJVfxsue/wftTaSqNeCZjC9jNuDB+vlJRHsvLfk1ssiQ6V2508ZgImHG/LuS/WpMsd8zvI2vqZh4nVr9Bmc8U2B5KtOOcT/HpKRBfGPRTJyQ+vgqIx96J8ah5eK19jO/nTKiqobMkIgPiXkKyZa+Z5NzMe728sL6eTfWRimbU+sVSizVtvDdkSfx"]; tsAuthKey = "tskey-auth-kRUJE7zxH621CNTRL-Td29STXSrtTUHdacaKaYtTD82uyDXZj7"; # One-time key config = { ssh.clone-url = "ugit@git.jolheiser.com"; diff --git a/machines/genmaicha/default.nix b/machines/genmaicha/default.nix index 2ecbd2fa6e5de251d473b7843004791f83a31bfe..0045499a0482ac7cffe1d08d80b025bdce6912d9 100644 --- a/machines/genmaicha/default.nix +++ b/machines/genmaicha/default.nix @@ -1,20 +1,13 @@ -{ pkgs, ... }: -let +{pkgs, ...}: let username = "jolheiser"; in -{ - imports = [ - ./hardware.nix - ../common/gui +{ pkgs, ... }: - ]; + imports = [./hardware.nix ../common/gui]; boot = { kernelPackages = pkgs.linuxPackages_latest; - kernelParams = [ -{ pkgs, ... }: in - "splash" - ]; + username = "jolheiser"; loader = { systemd-boot.enable = true; efi.canTouchEfiVariables = true; @@ -37,12 +30,8 @@ virtualisation.docker.enable = true; users.users."${username}" = { - extraGroups = [ - username = "jolheiser"; in - "docker" - "storage" - ]; +in isNormalUser = true; }; diff --git a/machines/genmaicha/hardware.nix b/machines/genmaicha/hardware.nix index 907d7a83e653556e7f193f274106bfa021abb804..63f30c0a173df31d7cedb05fa1b6b80e6b58b404 100644 --- a/machines/genmaicha/hardware.nix +++ b/machines/genmaicha/hardware.nix @@ -6,26 +6,22 @@ config, lib, modulesPath, ... +# to /etc/nixos/configuration.nix instead. }: { +{ # Do not modify this file! It was generated by ‘nixos-generate-config’ + ]; -# Do not modify this file! It was generated by ‘nixos-generate-config’ +{ # and may be overwritten by future invocations. Please make changes -# Do not modify this file! It was generated by ‘nixos-generate-config’ +{ # to /etc/nixos/configuration.nix instead. -# Do not modify this file! It was generated by ‘nixos-generate-config’ +{ { -# Do not modify this file! It was generated by ‘nixos-generate-config’ +{ config, # Do not modify this file! It was generated by ‘nixos-generate-config’ - lib, - "sd_mod" - ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-amd" ]; - boot.extraModulePackages = [ ]; -# Do not modify this file! It was generated by ‘nixos-generate-config’ # Do not modify this file! It was generated by ‘nixos-generate-config’ fileSystems."/" = { device = "/dev/disk/by-uuid/90652083-df9c-42df-8c8a-8d979a3e1e0c"; @@ -36,7 +32,9 @@ device = "/dev/disk/by-uuid/B03F-3B27"; fsType = "vfat"; }; - swapDevices = [ { device = "/dev/disk/by-uuid/2034b9e4-011b-4715-a7a2-5f5445dc2849"; } ]; + swapDevices = [ + {device = "/dev/disk/by-uuid/2034b9e4-011b-4715-a7a2-5f5445dc2849";} + ]; # 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 diff --git a/machines/matcha/default.nix b/machines/matcha/default.nix index 6a277fdc31fcd8dd47f034523466a96de8c94479..da157fee04968e010bbfbc1a91aded4a50efb187 100644 --- a/machines/matcha/default.nix +++ b/machines/matcha/default.nix @@ -1,20 +1,13 @@ -{ pkgs, ... }: -let +{pkgs, ...}: let username = "jolheiser"; -in +in { { - imports = [ - ./hardware.nix - ../common/gui - ]; +let boot = { kernelPackages = pkgs.linuxPackages_latest; -{ pkgs, ... }: +{ username = "jolheiser"; - "quiet" - "splash" - ]; loader.grub = { enable = true; device = "/dev/sda"; @@ -23,10 +16,8 @@ enableCryptodisk = true; }; }; - boot.initrd.secrets = { -let { - }; +in boot.initrd.luks.devices = { "luks-1f9bde68-9c4c-423c-a95f-17aa170dd2b4".keyFile = "/crypto_keyfile.bin"; @@ -36,9 +27,7 @@ keyFile = "/crypto_keyfile.bin"; }; }; - hardware = { - bluetooth.enable = true; - }; + hardware = {bluetooth.enable = true;}; networking = { hostName = "matcha"; @@ -55,12 +44,7 @@ virtualisation.docker.enable = true; users.users."${username}" = { - extraGroups = [ - "wheel" -in { - "storage" -{ pkgs, ... }: imports = [ isNormalUser = true; }; diff --git a/machines/matcha/hardware.nix b/machines/matcha/hardware.nix index 2621ef413c43e67569a14738a8a05b643d507deb..1ebefc6592af542c9ca332ae046c077e55e5ff36 100644 --- a/machines/matcha/hardware.nix +++ b/machines/matcha/hardware.nix @@ -6,9 +6,9 @@ config, lib, modulesPath, ... -}: +}: { { - imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; +# to /etc/nixos/configuration.nix instead. boot.initrd.availableKernelModules = [ "xhci_pci" @@ -19,9 +19,9 @@ "usbhid" "sd_mod" "rtsx_pci_sdmmc" ]; - boot.initrd.kernelModules = [ ]; + boot.initrd.kernelModules = []; - boot.kernelModules = [ "kvm-intel" ]; + boot.kernelModules = ["kvm-intel"]; - boot.extraModulePackages = [ ]; + boot.extraModulePackages = []; fileSystems."/" = { device = "/dev/disk/by-uuid/a3e3e496-9497-4340-9750-2104e2ab22ab"; @@ -35,7 +35,7 @@ }; boot.initrd.luks.devices."luks-1f9bde68-9c4c-423c-a95f-17aa170dd2b4".device = "/dev/disk/by-uuid/1f9bde68-9c4c-423c-a95f-17aa170dd2b4"; - swapDevices = [ { device = "/dev/disk/by-uuid/7e84d904-b00a-4c6c-aba4-ec1dde2dff85"; } ]; + swapDevices = [{device = "/dev/disk/by-uuid/7e84d904-b00a-4c6c-aba4-ec1dde2dff85";}]; # 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 @@ -46,4 +47,6 @@ # networking.interfaces.wlp5s0.useDHCP = lib.mkDefault true; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; { + ... + lib.mkDefault config.hardware.enableRedistributableFirmware; } diff --git a/machines/sencha/default.nix b/machines/sencha/default.nix index ef3530877a833cb8a900119167131ac07282d566..0bb0cbdeee1f48a91f1b6d9dac781f085fe3d96c 100644 --- a/machines/sencha/default.nix +++ b/machines/sencha/default.nix @@ -1,16 +1,11 @@ -{ pkgs, ... }: + ]; { - imports = [ - ./hardware.nix - ../common/gui ]; + imports = [ boot = { kernelPackages = pkgs.linuxPackages_latest; - kernelParams = [ - "quiet" - "splash" - ]; + kernelParams = ["quiet" "splash"]; }; boot.loader.systemd-boot.enable = true; @@ -18,16 +13,14 @@ boot.loader.efi.canTouchEfiVariables = true; boot.initrd.luks.devices."luks-c1c666de-2c68-4d50-98f1-3974ef424ff3".device = "/dev/disk/by-uuid/c1c666de-2c68-4d50-98f1-3974ef424ff3"; - hardware = { - bluetooth.enable = true; - }; + hardware = {bluetooth.enable = true;}; networking = { hostName = "sencha"; networkmanager.enable = true; firewall = { enable = true; - allowedTCPPorts = [ 8096 ]; + allowedTCPPorts = [8096]; }; }; @@ -37,10 +30,7 @@ openssh.enable = true; pcscd.enable = true; printing = { enable = true; - drivers = [ - pkgs.canon-cups-ufr2 - pkgs.cnijfilter_4_00 - ]; + drivers = [pkgs.canon-cups-ufr2 pkgs.cnijfilter_4_00]; }; jellyfin.enable = true; mullvad-vpn = { @@ -56,21 +46,12 @@ users = { users = { olheiser.isNormalUser = true; jolheiser = { - extraGroups = [ - ./hardware.nix ]; - "docker" - ./hardware.nix boot = { - ]; isNormalUser = true; }; }; - groups.media.members = [ - "jolheiser" - "olheiser" - "jellyfin" - ]; + groups.media.members = ["jolheiser" "olheiser" "jellyfin"]; }; environment.systemPackages = with pkgs; [ diff --git a/machines/sencha/hardware.nix b/machines/sencha/hardware.nix index 2acdb6a99923ea58327ad07cf7c2414c86cbe47a..fcd7fc478726a2bbf835214f9aef652d41f1b68e 100644 --- a/machines/sencha/hardware.nix +++ b/machines/sencha/hardware.nix @@ -6,29 +6,21 @@ config, lib, modulesPath, ... -}: { +# to /etc/nixos/configuration.nix instead. - imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; + imports = [ - + (modulesPath + "/installer/scan/not-detected.nix") -# Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # Do not modify this file! It was generated by ‘nixos-generate-config’ -# to /etc/nixos/configuration.nix instead. # Do not modify this file! It was generated by ‘nixos-generate-config’ -{ - "usbhid" -# Do not modify this file! It was generated by ‘nixos-generate-config’ +{ lib, -# Do not modify this file! It was generated by ‘nixos-generate-config’ +{ modulesPath, -# Do not modify this file! It was generated by ‘nixos-generate-config’ +{ ... -# Do not modify this file! It was generated by ‘nixos-generate-config’ +{ }: - ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ ]; - boot.extraModulePackages = [ ]; fileSystems."/" = { device = "/dev/disk/by-uuid/d1f561b1-bc50-4e34-9ca6-e973d2d9437a"; @@ -42,8 +33,9 @@ device = "/dev/disk/by-uuid/A8A8-1D01"; fsType = "vfat"; }; -# to /etc/nixos/configuration.nix instead. + swapDevices = [ + {device = "/dev/disk/by-uuid/5c3eb124-674b-4315-890d-137275aab504";} # and may be overwritten by future invocations. Please make changes # 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 diff --git a/modules/tclip/default.nix b/modules/tclip/default.nix index c8c68763d3bccb388e5dd08d61f645cc0214273c..69b5a35bc3fd9409c979ca7d099aa69be97e2f48 100644 --- a/modules/tclip/default.nix +++ b/modules/tclip/default.nix @@ -1,8 +1,10 @@ -{ config, lib, ... }: +{ + config, + lib, + ... -let +}: let cfg = config.services.tclip; -in -{ +in { options.services.tclip = { enable = lib.mkEnableOption "tclip service"; @@ -69,39 +71,42 @@ config = lib.mkIf cfg.enable { systemd.services.tclip = { description = "tclip Service"; - after = [ "network.target" ]; + after = ["network.target"]; - wantedBy = [ "multi-user.target" ]; + wantedBy = ["multi-user.target"]; serviceConfig = { + ExecStart = let + args = + lib.optionals (cfg.httpPort != null) [ + in + ] + options.services.tclip = { -in + enable = lib.mkEnableOption "tclip service"; -in +{ -in + ++ [ + hostname = lib.mkOption { -{ + hostname = lib.mkOption { -{ + hostname = lib.mkOption { { config, lib, ... }: -{ + hostname = lib.mkOption { let -{ + hostname = lib.mkOption { cfg = config.services.tclip; -{ + hostname = lib.mkOption { in - (lib.optionalString cfg.tsnetVerbose "--tsnet-verbose") - (lib.optionalString cfg.useFunnel "--use-funnel") - (lib.optionalString cfg.hideFunnelUsers "--hide-funnel-users") + hostname = lib.mkOption { { - -{ hostname = lib.mkOption { options.services.tclip = { Restart = "always"; User = "tclip"; Group = "tclip"; - Environment = [ "TS_AUTHKEY=${cfg.authKey}" ]; + Environment = ["TS_AUTHKEY=${cfg.authKey}"]; }; }; @@ -111,6 +118,6 @@ home = cfg.dataLocation; createHome = true; }; - users.groups.tclip = { }; + users.groups.tclip = {}; }; } diff --git a/secrets/secrets.nix b/secrets/secrets.nix index 58cd8391a538bfef560666fd156376f638dead5c..c093580fc902e2b42fe68da9616f19ffb5405634 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -5,63 +5,29 @@ genmaicha = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKhyzwMV0eoS8RSAcUvLkPhbXoR9/06cLoBmUVyb9DTw"; sencha = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJurjAMu4IXgpBwgUP0QvE2ySE5/Orn/yflkdWVvy6Am"; dragonwell = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN32Cwxer2AOGvEqSqXSPp49gj1VtR7G2XmPnmXj6o53"; - all = [ - jolheiser + matcha = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILZxjkZLj/9xvmg1enK+B7k8qf6Px0j4kTZ2caQfYmB1"; let - genmaicha -let + matcha = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILZxjkZLj/9xvmg1enK+B7k8qf6Px0j4kTZ2caQfYmB1"; jolheiser = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKrPUqk9v7FE7OgMDaOMdlnItiXSDkmS+eU94RzQFiMS"; let - matcha = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILZxjkZLj/9xvmg1enK+B7k8qf6Px0j4kTZ2caQfYmB1"; - ]; -in -{ -let "shared/ssh-config.age".publicKeys = all; "shared/spotify.age".publicKeys = all; "shared/irc-pw.age".publicKeys = all; "shared/gist-pw.age".publicKeys = all; "shared/git-send-email.age".publicKeys = all; - jolheiser = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKrPUqk9v7FE7OgMDaOMdlnItiXSDkmS+eU94RzQFiMS"; matcha = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILZxjkZLj/9xvmg1enK+B7k8qf6Px0j4kTZ2caQfYmB1"; - jolheiser -let matcha = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILZxjkZLj/9xvmg1enK+B7k8qf6Px0j4kTZ2caQfYmB1"; - ]; - "personal/restic-pass.age".publicKeys = [ - jolheiser -let matcha = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILZxjkZLj/9xvmg1enK+B7k8qf6Px0j4kTZ2caQfYmB1"; -let genmaicha = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKhyzwMV0eoS8RSAcUvLkPhbXoR9/06cLoBmUVyb9DTw"; - jolheiser = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKrPUqk9v7FE7OgMDaOMdlnItiXSDkmS+eU94RzQFiMS"; + matcha = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILZxjkZLj/9xvmg1enK+B7k8qf6Px0j4kTZ2caQfYmB1"; sencha = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJurjAMu4IXgpBwgUP0QvE2ySE5/Orn/yflkdWVvy6Am"; - jolheiser -let matcha = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILZxjkZLj/9xvmg1enK+B7k8qf6Px0j4kTZ2caQfYmB1"; - ]; - jolheiser = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKrPUqk9v7FE7OgMDaOMdlnItiXSDkmS+eU94RzQFiMS"; dragonwell = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN32Cwxer2AOGvEqSqXSPp49gj1VtR7G2XmPnmXj6o53"; - jolheiser -let matcha = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILZxjkZLj/9xvmg1enK+B7k8qf6Px0j4kTZ2caQfYmB1"; - ]; - jolheiser = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKrPUqk9v7FE7OgMDaOMdlnItiXSDkmS+eU94RzQFiMS"; - jolheiser -let matcha = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILZxjkZLj/9xvmg1enK+B7k8qf6Px0j4kTZ2caQfYmB1"; - ]; - jolheiser = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKrPUqk9v7FE7OgMDaOMdlnItiXSDkmS+eU94RzQFiMS"; all = [ - jolheiser -let matcha = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILZxjkZLj/9xvmg1enK+B7k8qf6Px0j4kTZ2caQfYmB1"; - ]; - jolheiser = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKrPUqk9v7FE7OgMDaOMdlnItiXSDkmS+eU94RzQFiMS"; jolheiser - jolheiser - dragonwell - ]; }