diff --git a/flake.lock b/flake.lock index 1c6b5ebc..b4a6f7e2 100644 --- a/flake.lock +++ b/flake.lock @@ -3,11 +3,11 @@ "arcexprs": { "flake": false, "locked": { - "lastModified": 1699725317, - "narHash": "sha256-o+G571XJxSLrPrlYY808RjSs+Rtt9Z32H1pa2ihl/o0=", + "lastModified": 1704566766, + "narHash": "sha256-siDifNnxNDasICxpk5EiirzkeMybsU87EME/du/07mU=", "owner": "arcnmx", "repo": "nixexprs", - "rev": "d4941d4902407f0031fafb6db32da0f9da767781", + "rev": "430ea6ab7e12b43ebeb4bcee33c26808102cf423", "type": "github" }, "original": { @@ -72,6 +72,53 @@ "url": "ssh://git@github.com/Glamorous-ai/metaflow-core-plugin.git" } }, + "base16": { + "inputs": { + "flakelib": "flakelib", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1700768693, + "narHash": "sha256-HuaniSdF1jCD86rE5WAvK39fAyGKBPPriVrsHxd5n+k=", + "owner": "arcnmx", + "repo": "base16.nix", + "rev": "0d01fbdf72d5184bee401c380abe17fe725863fb", + "type": "github" + }, + "original": { + "owner": "arcnmx", + "ref": "flake", + "repo": "base16.nix", + "type": "github" + } + }, + "base16-data": { + "inputs": { + "base16": [ + "base16" + ], + "flakelib": "flakelib_2", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1700769393, + "narHash": "sha256-45B4+NIjDCjKadNcgOXdUKQDJH3Ss9O6bHT/muwGBCs=", + "owner": "arcnmx", + "repo": "base16.nix", + "rev": "d95a3a49011e2e3c945e15feceaa973fa297cff8", + "type": "github" + }, + "original": { + "owner": "arcnmx", + "ref": "data", + "repo": "base16.nix", + "type": "github" + } + }, "darwin": { "inputs": { "nixpkgs": [ @@ -79,11 +126,11 @@ ] }, "locked": { - "lastModified": 1699867978, - "narHash": "sha256-+arl45HUOcBdKiRGrKXZYXDyBQ6MQGkYPZa/28f6Yzo=", + "lastModified": 1704277720, + "narHash": "sha256-meAKNgmh3goankLGWqqpw73pm9IvXjEENJloF0coskE=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "e67f2bf515343da378c3f82f098df8ca01bccc5f", + "rev": "0dd382b70c351f528561f71a0a7df82c9d2be9a4", "type": "github" }, "original": { @@ -106,11 +153,11 @@ ] }, "locked": { - "lastModified": 1698921442, - "narHash": "sha256-7KmvhQ7FuXlT/wG4zjTssap6maVqeAMBdtel+VjClSM=", + "lastModified": 1703087360, + "narHash": "sha256-0VUbWBW8VyiDRuimMuLsEO4elGuUw/nc2WDeuO1eN1M=", "owner": "serokell", "repo": "deploy-rs", - "rev": "660180bbbeae7d60dad5a92b30858306945fd427", + "rev": "b709d63debafce9f5645a5ba550c9e0983b3d1f7", "type": "github" }, "original": { @@ -135,6 +182,38 @@ "type": "github" } }, + "fl-config": { + "locked": { + "lastModified": 1653159448, + "narHash": "sha256-PvB9ha0r4w6p412MBPP71kS/ZTBnOjxL0brlmyucPBA=", + "owner": "flakelib", + "repo": "fl", + "rev": "fcefb9738d5995308a24cda018a083ccb6b0f460", + "type": "github" + }, + "original": { + "owner": "flakelib", + "ref": "config", + "repo": "fl", + "type": "github" + } + }, + "fl-config_2": { + "locked": { + "lastModified": 1653159448, + "narHash": "sha256-PvB9ha0r4w6p412MBPP71kS/ZTBnOjxL0brlmyucPBA=", + "owner": "flakelib", + "repo": "fl", + "rev": "fcefb9738d5995308a24cda018a083ccb6b0f460", + "type": "github" + }, + "original": { + "owner": "flakelib", + "ref": "config", + "repo": "fl", + "type": "github" + } + }, "flake-compat": { "flake": false, "locked": { @@ -187,6 +266,44 @@ "type": "github" } }, + "flakelib": { + "inputs": { + "fl-config": "fl-config", + "std": "std" + }, + "locked": { + "lastModified": 1683326042, + "narHash": "sha256-PRjFKmEzzoE0BeDM8zRdwMcUkMq4Ue340O4jv71PzBw=", + "owner": "flakelib", + "repo": "fl", + "rev": "d4be0a0007aeae09b8faced2e297b1062dc05b1e", + "type": "github" + }, + "original": { + "owner": "flakelib", + "repo": "fl", + "type": "github" + } + }, + "flakelib_2": { + "inputs": { + "fl-config": "fl-config_2", + "std": "std_2" + }, + "locked": { + "lastModified": 1683326042, + "narHash": "sha256-PRjFKmEzzoE0BeDM8zRdwMcUkMq4Ue340O4jv71PzBw=", + "owner": "flakelib", + "repo": "fl", + "rev": "d4be0a0007aeae09b8faced2e297b1062dc05b1e", + "type": "github" + }, + "original": { + "owner": "flakelib", + "repo": "fl", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -194,11 +311,11 @@ ] }, "locked": { - "lastModified": 1700087144, - "narHash": "sha256-LJP1RW0hKNWmv2yRhnjkUptMXInKpn/rV6V6ofuZkHU=", + "lastModified": 1704498488, + "narHash": "sha256-yINKdShHrtjdiJhov+q0s3Y3B830ujRoSbHduUNyKag=", "owner": "nix-community", "repo": "home-manager", - "rev": "ab1459a1fb646c40419c732d05ec0bf2416d4506", + "rev": "51e44a13acea71b36245e8bd8c7db53e0a3e61ee", "type": "github" }, "original": { @@ -270,11 +387,11 @@ ] }, "locked": { - "lastModified": 1699924656, - "narHash": "sha256-w1L/6pxu2wWSQD/mB8JNUi/BOwDwmg5C30k7bFK1kt0=", + "lastModified": 1704503938, + "narHash": "sha256-CWLVbRQJksiyTvPyks3bylwYjvx7KsaG1WUX1OfbAwc=", "owner": "Infinidoge", "repo": "nix-minecraft", - "rev": "218d8a6c07f0cb9fa26cc66f369bbf62ca3a6872", + "rev": "932a025182e736383e26b6c7f9dddeaa184c2e5a", "type": "github" }, "original": { @@ -334,11 +451,11 @@ ] }, "locked": { - "lastModified": 1699760693, - "narHash": "sha256-u/gkNUHQR/q23voqE5J4xmEWQIAqR+g3lUnCtzn0k7Y=", + "lastModified": 1703992163, + "narHash": "sha256-709CGmwU34dxv8DjSpRBZ+HibVJIVaFcA4JH+GFnhyM=", "owner": "Mic92", "repo": "nix-index-database", - "rev": "8aff4ca3dee60d1422489fe8d52c2f837b3ad113", + "rev": "d6510ce144f5da7dd9bac667ba3d5a4946c00d11", "type": "github" }, "original": { @@ -347,13 +464,43 @@ "type": "github" } }, + "nix-std": { + "locked": { + "lastModified": 1671170529, + "narHash": "sha256-015C6x3tZMEd83Vd2rpfLC86PSRJrbUca1U3Rysranw=", + "owner": "chessai", + "repo": "nix-std", + "rev": "3b307d64ef7d7e8769d36b8c8bf33983efd1415a", + "type": "github" + }, + "original": { + "owner": "chessai", + "repo": "nix-std", + "type": "github" + } + }, + "nix-std_2": { + "locked": { + "lastModified": 1671170529, + "narHash": "sha256-015C6x3tZMEd83Vd2rpfLC86PSRJrbUca1U3Rysranw=", + "owner": "chessai", + "repo": "nix-std", + "rev": "3b307d64ef7d7e8769d36b8c8bf33983efd1415a", + "type": "github" + }, + "original": { + "owner": "chessai", + "repo": "nix-std", + "type": "github" + } + }, "nixos-hardware": { "locked": { - "lastModified": 1699997707, - "narHash": "sha256-ugb+1TGoOqqiy3axyEZpfF6T4DQUGjfWZ3Htry1EfvI=", + "lastModified": 1704458188, + "narHash": "sha256-f6BYEuIqnbrs6J/9m1/1VdkJ6d63hO9kUC09kTPuOqE=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "5689f3ebf899f644a1aabe8774d4f37eb2f6c2f9", + "rev": "172385318068519900a7d71c1024242fa6af75f0", "type": "github" }, "original": { @@ -364,11 +511,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1699781429, - "narHash": "sha256-UYefjidASiLORAjIvVsUHG6WBtRhM67kTjEY4XfZOFs=", + "lastModified": 1704194953, + "narHash": "sha256-RtDKd8Mynhe5CFnVT8s0/0yqtWFMM9LmCzXv/YKxnq4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e44462d6021bfe23dfb24b775cc7c390844f773d", + "rev": "bd645e8668ec6612439a9ee7e71f7eac4099d4f6", "type": "github" }, "original": { @@ -380,11 +527,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1699756042, - "narHash": "sha256-bHHjQQBsEPOxLL+klYU2lYshDnnWY12SewzQ7n5ab2M=", + "lastModified": 1703950681, + "narHash": "sha256-veU5bE4eLOmi7aOzhE7LfZXcSOONRMay0BKv01WHojo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9502d0245983bb233da8083b55d60d96fd3c29ff", + "rev": "0aad9113182747452dbfc68b93c86e168811fa6c", "type": "github" }, "original": { @@ -404,11 +551,11 @@ ] }, "locked": { - "lastModified": 1699974118, - "narHash": "sha256-gnJAGIQb8c+DRYBh1BB04VuaR3LeA2MDt1HoOPu2CYc=", + "lastModified": 1704383901, + "narHash": "sha256-i2+yzhc13omN+z9K8W3/+23g7D6yWfLb5Qn5f8VVvZI=", "owner": "pjones", "repo": "plasma-manager", - "rev": "709f01ba922d3b81890ab76aeb916e051f88ea49", + "rev": "f11fd526015b5e6b3622c660eda4c4a13d7592bc", "type": "github" }, "original": { @@ -484,6 +631,8 @@ "arcexprs": "arcexprs", "artemiscli": "artemiscli", "artemiscore": "artemiscore", + "base16": "base16", + "base16-data": "base16-data", "darwin": "darwin", "deploy-rs": "deploy-rs", "empty": "empty", @@ -500,7 +649,7 @@ "scalpel": "scalpel", "sops-nix": "sops-nix", "spacebar": "spacebar", - "std": "std", + "std": "std_3", "tree": "tree", "utils": "utils", "wsl": "wsl" @@ -537,11 +686,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1699951338, - "narHash": "sha256-1GeczM7XfgHcYGYiYNcdwSFu3E62vmh4d7mffWZvyzE=", + "lastModified": 1703991717, + "narHash": "sha256-XfBg2dmDJXPQEB8EdNBnzybvnhswaiAkUeeDj7fa/hQ=", "owner": "Mic92", "repo": "sops-nix", - "rev": "0e3a94167dcd10a47b89141f35b2ff9e04b34c46", + "rev": "cfdbaf68d00bc2f9e071f17ae77be4b27ff72fa6", "type": "github" }, "original": { @@ -575,12 +724,48 @@ } }, "std": { + "inputs": { + "nix-std": "nix-std" + }, "locked": { - "lastModified": 1685917625, - "narHash": "sha256-2manVKofCZrCToVDnDYNvtYUFBYOM5JhdDoNGVY4fq4=", + "lastModified": 1671225084, + "narHash": "sha256-EzqxFHRifPyjUXQY4B8GJH75fTmWqFnQdj10Q984bR8=", + "owner": "flakelib", + "repo": "std", + "rev": "8546115941a5498ddb03a239aacdba151d433f09", + "type": "github" + }, + "original": { + "owner": "flakelib", + "repo": "std", + "type": "github" + } + }, + "std_2": { + "inputs": { + "nix-std": "nix-std_2" + }, + "locked": { + "lastModified": 1671225084, + "narHash": "sha256-EzqxFHRifPyjUXQY4B8GJH75fTmWqFnQdj10Q984bR8=", + "owner": "flakelib", + "repo": "std", + "rev": "8546115941a5498ddb03a239aacdba151d433f09", + "type": "github" + }, + "original": { + "owner": "flakelib", + "repo": "std", + "type": "github" + } + }, + "std_3": { + "locked": { + "lastModified": 1701658249, + "narHash": "sha256-KIt1TUuBvldhaVRta010MI5FeQlB8WadjqljybjesN0=", "owner": "chessai", "repo": "nix-std", - "rev": "e20af8822b5739434b875643bfc61fe0195ea2fb", + "rev": "715db541ffff4194620e48d210b76f73a74b5b5d", "type": "github" }, "original": { @@ -662,11 +847,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1694529238, - "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", + "lastModified": 1701680307, + "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", "owner": "numtide", "repo": "flake-utils", - "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", + "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", "type": "github" }, "original": { @@ -688,11 +873,11 @@ ] }, "locked": { - "lastModified": 1700096639, - "narHash": "sha256-FVOTqjwjLX4El7n3jErrWWQ4gR5NVcL7B8cvGRGFQSo=", + "lastModified": 1704496463, + "narHash": "sha256-/LOWVVLccTJyNoS06bWAoTe+dtFfgM19uqpN0vjsBoc=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "83ce0dbe362b9b866414bbc31a2dc9f1d41be649", + "rev": "d2fd320bab0aa486383bbf5f13d5d8120700f911", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index a2bbcfd3..5346537b 100644 --- a/flake.nix +++ b/flake.nix @@ -118,6 +118,19 @@ url = "github:arcnmx/nixexprs/master"; flake = false; }; + base16 = { + url = "github:arcnmx/base16.nix/flake"; + inputs = { + nixpkgs.follows = "nixpkgs"; + }; + }; + base16-data = { + url = "github:arcnmx/base16.nix/data"; + inputs = { + base16.follows = "base16"; + nixpkgs.follows = "nixpkgs"; + }; + }; # plasma manager plasma-manager = { url = "github:pjones/plasma-manager"; diff --git a/home/profiles/common/base16.nix b/home/profiles/common/base16.nix index b5c01d86..c851c228 100644 --- a/home/profiles/common/base16.nix +++ b/home/profiles/common/base16.nix @@ -1,19 +1,28 @@ -{lib, ...}: let +{ + lib, + pkgs, + inputs, + ... +}: let inherit (lib.modules) mkMerge; + inherit (inputs.base16-data.lib.base16-data) schemeSources; in { base16 = { - vim.enable = false; + vim = { + enable = false; + template = inputs.base16-data.legacyPackages.${pkgs.system}.base16-templates.vim.withTemplateData; + }; shell.enable = true; - schemes = mkMerge [ - { - light = "atelier.atelier-cave-light"; - dark = "atelier.atelier-cave"; - } - { - dark.ansi.palette.background.alpha = "ee00"; - light.ansi.palette.background.alpha = "d000"; - } - ]; + schemes = { + light = { + schemeData = schemeSources.atelier.schemes.atelier-sulphurpool-light; + ansi.palette.background.alpha = "d000"; + }; + dark = { + schemeData = schemeSources.atelier.schemes.atelier-cave; + ansi.palette.background.alpha = "ee00"; + }; + }; defaultSchemeName = "light"; }; } diff --git a/home/profiles/neovim/default.nix b/home/profiles/neovim/default.nix index 64d25696..dd52b1fb 100644 --- a/home/profiles/neovim/default.nix +++ b/home/profiles/neovim/default.nix @@ -76,7 +76,7 @@ in { tree-sitter-scss ])) # Treesitter Plugins - nvim-ts-rainbow + rainbow-delimiters-nvim nvim-treesitter-context twilight-nvim ]; diff --git a/home/profiles/shell/tmux.nix b/home/profiles/shell/tmux.nix index 6afb092d..347b6887 100644 --- a/home/profiles/shell/tmux.nix +++ b/home/profiles/shell/tmux.nix @@ -1,9 +1,9 @@ { std, - pkgs, + inputs, ... }: let - inherit (std) set; + inherit (std) set list; in { programs.zsh.shellAliases = { tt = "tmux new -AD -s"; @@ -13,7 +13,7 @@ in { terminal = "tmux-256color"; keyMode = "vi"; baseIndex = 1; - extraConfig = with set.map (_: v: "colour${builtins.toString v}") pkgs.base16.shell.shell256; '' + extraConfig = with set.map (_: v: "colour${builtins.toString (list.unsafeHead v)}") inputs.base16.lib.base16.shell.mapping256; '' # proper title handling set -g set-titles on set -g set-titles-string "#T" diff --git a/home/user/nixos.nix b/home/user/nixos.nix index 7369fc7c..63e04578 100644 --- a/home/user/nixos.nix +++ b/home/user/nixos.nix @@ -2,6 +2,7 @@ users.users.kat = { uid = 1000; isNormalUser = true; + linger = true; openssh.authorizedKeys = { inherit (tree.home.user.data) keys; }; @@ -13,6 +14,7 @@ "plugdev" "input" "uinput" + "adbusers" ]; }; } diff --git a/nixos/profiles/bootable/grub.nix b/nixos/profiles/bootable/grub.nix index 2e813b1a..b421eb89 100644 --- a/nixos/profiles/bootable/grub.nix +++ b/nixos/profiles/bootable/grub.nix @@ -1,3 +1,30 @@ _: { - boot.loader.grub.splashImage = ./splash.jpg; + boot.loader = { + timeout = -1; + grub = { + # theme = pkgs.nixos-grub2-theme; # so like, this turbo-breaks the fuck out of GRUB, i have no clue why? + splashImage = ./splash.jpg; + extraConfig = '' + set color_normal=black/black + set menu_color_normal=black/black + set menu_color_highlight=magenta/cyan + ''; + memtest86.enable = true; + extraEntries = '' + if [ ''${grub_platform} == "efi" ]; then + menuentry 'UEFI Firmware Settings' --id 'uefi-firmware' { + fwsetup + } + fi + menuentry "System restart" { + echo "System rebooting..." + reboot + } + menuentry "System shutdown" { + echo "System shutting down..." + halt + } + ''; + }; + }; } diff --git a/nixos/profiles/gaming/quest.nix b/nixos/profiles/gaming/quest.nix new file mode 100644 index 00000000..fe7f153c --- /dev/null +++ b/nixos/profiles/gaming/quest.nix @@ -0,0 +1,7 @@ +{pkgs, ...}: { + environment.systemPackages = with pkgs; [ + questpatcher + sidequest + ]; + programs.adb.enable = true; +} diff --git a/nixos/profiles/graphical/packages.nix b/nixos/profiles/graphical/packages.nix index eb48e680..df954d0c 100644 --- a/nixos/profiles/graphical/packages.nix +++ b/nixos/profiles/graphical/packages.nix @@ -4,11 +4,13 @@ ... }: { environment.systemPackages = with pkgs; [ - android-udev-rules jmtpfs dnsutils firefox usbutils inputs.konawall-py.packages.${pkgs.system}.konawall-py ]; + services.udev.packages = [ + pkgs.android-udev-rules + ]; } diff --git a/nixos/profiles/server/linger.nix b/nixos/profiles/server/linger.nix deleted file mode 100644 index 9f105cbc..00000000 --- a/nixos/profiles/server/linger.nix +++ /dev/null @@ -1,4 +0,0 @@ -{config, ...}: { - # Allow services to persist for a user after their sessions have ran out - systemd.tmpfiles.rules = set.mapToValues (username: _: "f /var/lib/systemd/linger/${username}") config.users.users; -} diff --git a/nixos/servers/vaultwarden/postgres.nix b/nixos/servers/vaultwarden/postgres.nix index 083c102b..4ce9cbec 100644 --- a/nixos/servers/vaultwarden/postgres.nix +++ b/nixos/servers/vaultwarden/postgres.nix @@ -4,7 +4,7 @@ _: { ensureUsers = [ { name = "bitwarden_rs"; - ensurePermissions = {"DATABASE bitwarden_rs" = "ALL PRIVILEGES";}; + ensureDBOwnership = true; } ]; }; diff --git a/systems/default.nix b/systems/default.nix index 773959cf..3cbedee3 100644 --- a/systems/default.nix +++ b/systems/default.nix @@ -141,8 +141,8 @@ user = "root"; path = inputs.deploy-rs.lib.x86_64-linux.activate.nixos inputs.self.nixosConfigurations.${name}; }; - autoRollback = true; - magicRollback = true; + autoRollback = false; + magicRollback = false; }; }) (set.optional (name != "renko" && host.folder == "nixos") { diff --git a/systems/goliath.nix b/systems/goliath.nix index a03bec8b..e86a68fa 100644 --- a/systems/goliath.nix +++ b/systems/goliath.nix @@ -57,12 +57,6 @@ _: let useOSProber = true; gfxmodeBios = "1920x1080"; gfxmodeEfi = "1920x1080"; - memtest86.enable = true; - extraConfig = '' - set color_normal=black/black - set menu_color_normal=black/black - set menu_color_highlight=magenta/cyan - ''; }; efi = { canTouchEfiVariables = true; diff --git a/systems/yukari.nix b/systems/yukari.nix index 3c933d5e..eeecdc97 100644 --- a/systems/yukari.nix +++ b/systems/yukari.nix @@ -11,7 +11,7 @@ _: let [ (modulesPath + "/profiles/qemu-guest.nix") ] - ++ (with tree.nixos.roles; [ + ++ (with tree.nixos.profiles; [ server ]) ++ (with tree.nixos.servers; [ @@ -19,7 +19,6 @@ _: let postgres matrix vaultwarden - minecraft grafana-stack public-directory web-irc-client diff --git a/tree.nix b/tree.nix index 52751fee..33ac003e 100644 --- a/tree.nix +++ b/tree.nix @@ -41,6 +41,12 @@ "scalpel" ]; }; + "nixos/servers/*".functor = { + enable = true; + excludes = [ + "scalpel" + ]; + }; "darwin/*".functor.enable = true; @@ -61,17 +67,13 @@ "modules/nixos" = { functor = { enable = true; - external = with inputs; - [ - nix-index-database.nixosModules.nix-index - home-manager.nixosModules.home-manager - minecraft.nixosModules.minecraft-servers - sops-nix.nixosModules.sops - ] - ++ (with (import (inputs.arcexprs + "/modules")).nixos; [ - base16 - base16-shared - ]); + external = with inputs; [ + nix-index-database.nixosModules.nix-index + home-manager.nixosModules.home-manager + minecraft.nixosModules.minecraft-servers + sops-nix.nixosModules.sops + base16.nixosModules.base16 + ]; }; }; "modules/darwin" = { @@ -89,9 +91,9 @@ [ nix-index-database.hmModules.nix-index plasma-manager.homeManagerModules.plasma-manager + base16.homeModules.base16 ] ++ (with (import (inputs.arcexprs + "/modules")).home-manager; [ - base16 i3gopher ]); };