Compare commits

...

3 Commits

15 changed files with 127 additions and 31 deletions

View File

@ -39,6 +39,8 @@ in
}; };
}; };
programs.the-honkers-railway-launcher.enable = true;
services.udev.packages = [ pkgs.wooting-udev-rules ]; services.udev.packages = [ pkgs.wooting-udev-rules ];
environment.sessionVariables = { environment.sessionVariables = {

View File

@ -18,7 +18,7 @@ in
noto-fonts-monochrome-emoji noto-fonts-monochrome-emoji
roboto roboto
liberation_ttf liberation_ttf
nerdfonts # nerdfonts
]; ];
fontDir.enable = true; fontDir.enable = true;

View File

@ -39,10 +39,10 @@ in
{ {
config = mkIf (enable && graphical) { config = mkIf (enable && graphical) {
# Enable OpenGL # Enable OpenGL
hardware.opengl = { hardware.graphics = {
enable = true; enable = true;
driSupport = true; #driSupport = true;
driSupport32Bit = true; #driSupport32Bit = true;
extraPackages = [ ]; extraPackages = [ ];
}; };

View File

@ -9,7 +9,10 @@ let
in in
{ {
config = lib.mkIf (enable && network) { config = lib.mkIf (enable && network) {
networking.networkmanager.enable = true; networking.networkmanager = {
enable = true;
plugins = with pkgs; [ networkmanager-openvpn ];
};
networking.useDHCP = lib.mkDefault true; networking.useDHCP = lib.mkDefault true;
hardware.bluetooth.enable = lib.mkDefault laptop_hardware.enable; hardware.bluetooth.enable = lib.mkDefault laptop_hardware.enable;

View File

@ -9,7 +9,6 @@ let
in in
{ {
config = lib.mkIf (enable && sound.enable) { config = lib.mkIf (enable && sound.enable) {
sound.enable = true;
hardware.pulseaudio.enable = false; hardware.pulseaudio.enable = false;
services.pipewire = { services.pipewire = {

View File

@ -58,12 +58,14 @@ in
parted parted
expect expect
gptfdisk
] ]
++ optionals graphical [ ++ optionals graphical [
wev wev
qdirstat qdirstat
libva-utils libva-utils
gparted gparted
bottles
]; ];
environment.shellAliases = { environment.shellAliases = {

View File

@ -10,6 +10,7 @@ let
mkOption mkOption
types types
getExe getExe
getExe'
mkIf mkIf
; ;
inherit (pkgs) inherit (pkgs)
@ -42,7 +43,7 @@ let
'') '')
]; ];
}; };
helix-wrapped = pkgs.symlinkJoin { helix-wrapped = pkgs.symlinkJoin {
name = helix.pname; name = helix.pname;
@ -56,7 +57,7 @@ in
{ {
config = mkIf (enable && tooling.enable) { config = mkIf (enable && tooling.enable) {
environment.systemPackages = [ helix-wrapped ]; environment.systemPackages = [ helix-wrapped ];
environment.sessionVariables.EDITOR = getExe helix-wrapped; environment.sessionVariables.EDITOR = getExe' helix-wrapped "hx";
programs.helix.config = { programs.helix.config = {
editor.cursor-shape.insert = "bar"; editor.cursor-shape.insert = "bar";

View File

@ -53,7 +53,7 @@ in
name: value: "aliases[\"${name}\"] = '''${value}'''" name: value: "aliases[\"${name}\"] = '''${value}'''"
) config.environment.shellAliases ) config.environment.shellAliases
); );
# package = pkgs.xonsh.wrapper.override { extraPackages = pyLibs; }; package = pkgs.xonsh.override { extraPackages = pyLibs; };
}; };
grimmShared.tooling.lang_servers = [ grimmShared.tooling.lang_servers = [

View File

@ -44,6 +44,8 @@ in
"${nivSources.nixos-mailserver}/default.nix" "${nivSources.nixos-mailserver}/default.nix"
"${nivSources.nixos-matrix-modules}/module.nix" "${nivSources.nixos-matrix-modules}/module.nix"
(builtins.getFlake (asGithubRef nivSources.aagl-gtk-on-nix)).nixosModules.default
# fixme: ideally we'd not rely on the flake syntax to load the module # fixme: ideally we'd not rely on the flake syntax to load the module
(builtins.getFlake (asGithubRef nivSources.chaotic)).nixosModules.default (builtins.getFlake (asGithubRef nivSources.chaotic)).nixosModules.default
# (builtins.getFlake (asGithubRef nivSources.nixos-matrix-modules)).nixosModules.default # (builtins.getFlake (asGithubRef nivSources.nixos-matrix-modules)).nixosModules.default
@ -99,6 +101,10 @@ in
config = { config = {
allowUnfree = true; allowUnfree = true;
permittedInsecurePackages = [
"olm-3.2.16"
"jitsi-meet-1.0.8043"
];
}; };
in in
{ {
@ -114,7 +120,7 @@ in
unpatched; unpatched;
overlays = [ overlays = [
(import "${nivSources.lix-module}/overlay.nix" { lix = nivSources.lix-pkg; }) # (import "${nivSources.lix-module}/overlay.nix" { lix = nivSources.lix-pkg; })
(final: prev: { agenix = final.callPackage "${nivSources.agenix}/pkgs/agenix.nix" { }; }) (final: prev: { agenix = final.callPackage "${nivSources.agenix}/pkgs/agenix.nix" { }; })
]; ];
}; };
@ -127,11 +133,13 @@ in
nix.settings.extra-substituters = [ nix.settings.extra-substituters = [
"https://cache.lix.systems" "https://cache.lix.systems"
"https://nyx.chaotic.cx/" "https://nyx.chaotic.cx/"
"https://ezkea.cachix.org"
]; ];
nix.settings.trusted-public-keys = [ nix.settings.trusted-public-keys = [
"cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o=" "cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o="
"nyx.chaotic.cx-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8=" "nyx.chaotic.cx-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8="
"chaotic-nyx.cachix.org-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8=" "chaotic-nyx.cachix.org-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8="
"ezkea.cachix.org-1:ioBmUbJTZIKsHmWWXPe1FSFbeVe+afhfgqgTSNd34eI="
]; ];
} }

View File

@ -1,14 +1,26 @@
{ {
"aagl-gtk-on-nix": {
"branch": "main",
"description": "Run an-anime-game-launcher GTK version on Nix/NixOS!",
"homepage": null,
"owner": "ezKEa",
"repo": "aagl-gtk-on-nix",
"rev": "49e1dd54d3ac9b858d3be597a2fbc48ab67fa6e8",
"sha256": "1275gl2ly0iaqapxwimsbnky9fzwa0x3miscz372qa74gcc0wjwv",
"type": "tarball",
"url": "https://github.com/ezKEa/aagl-gtk-on-nix/archive/49e1dd54d3ac9b858d3be597a2fbc48ab67fa6e8.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
},
"agenix": { "agenix": {
"branch": "main", "branch": "main",
"description": "age-encrypted secrets for NixOS and Home manager", "description": "age-encrypted secrets for NixOS and Home manager",
"homepage": "https://matrix.to/#/#agenix:nixos.org", "homepage": "https://matrix.to/#/#agenix:nixos.org",
"owner": "ryantm", "owner": "ryantm",
"repo": "agenix", "repo": "agenix",
"rev": "3a56735779db467538fb2e577eda28a9daacaca6", "rev": "f6291c5935fdc4e0bef208cfc0dcab7e3f7a1c41",
"sha256": "1h66zapc6im07k3kcgvhy3lhzahb70vd6m2ijhz4i0v6mn5l3fk9", "sha256": "1x8nd8hvsq6mvzig122vprwigsr3z2skanig65haqswn7z7amsvg",
"type": "tarball", "type": "tarball",
"url": "https://github.com/ryantm/agenix/archive/3a56735779db467538fb2e577eda28a9daacaca6.tar.gz", "url": "https://github.com/ryantm/agenix/archive/f6291c5935fdc4e0bef208cfc0dcab7e3f7a1c41.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz" "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
}, },
"authentik-nix": { "authentik-nix": {
@ -17,10 +29,10 @@
"homepage": "", "homepage": "",
"owner": "nix-community", "owner": "nix-community",
"repo": "authentik-nix", "repo": "authentik-nix",
"rev": "bb756751b02b3138a2cba58064a28ddc6f2648df", "rev": "f1bd855c23e73e04597695ca37ae54671a7e07b1",
"sha256": "118jnqj0pxvwx7kaz6im9g4ys8sgm1xslz4figqq4nq417vjh86p", "sha256": "1dkp86mr2n0h4hq74wj3b0b9ka8x2xkwv8pcbwk5knhrv26qajwb",
"type": "tarball", "type": "tarball",
"url": "https://github.com/nix-community/authentik-nix/archive/bb756751b02b3138a2cba58064a28ddc6f2648df.tar.gz", "url": "https://github.com/nix-community/authentik-nix/archive/f1bd855c23e73e04597695ca37ae54671a7e07b1.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz" "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
}, },
"chaotic": { "chaotic": {
@ -29,10 +41,10 @@
"homepage": "https://nyx.chaotic.cx", "homepage": "https://nyx.chaotic.cx",
"owner": "chaotic-cx", "owner": "chaotic-cx",
"repo": "nyx", "repo": "nyx",
"rev": "0e99464b8956307678b60ec7540e6cad730ee825", "rev": "38451822a144faa53a7ee96d4f0478d94945b67a",
"sha256": "1ksi4pssnxaa1pmxdk25gpbciaffjr5py3hdw0ifr0zcs8z22hyy", "sha256": "08rcfarlda0fxgc02xdfyk8dsp18bmiyf0n39sfd5nq1s5513awy",
"type": "tarball", "type": "tarball",
"url": "https://github.com/chaotic-cx/nyx/archive/0e99464b8956307678b60ec7540e6cad730ee825.tar.gz", "url": "https://github.com/chaotic-cx/nyx/archive/38451822a144faa53a7ee96d4f0478d94945b67a.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz" "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
}, },
"glibc-eac": { "glibc-eac": {
@ -50,19 +62,19 @@
"lix-module": { "lix-module": {
"branch": "main", "branch": "main",
"repo": "https://git.lix.systems/lix-project/nixos-module.git", "repo": "https://git.lix.systems/lix-project/nixos-module.git",
"rev": "5d9d94089fb1ca96222a34bfe245ef5c5ebefd37", "rev": "cecf70b77539c1a593f60ec9d0305b5e537ab6a9",
"type": "git" "type": "git"
}, },
"lix-pkg": { "lix-pkg": {
"branch": "main", "branch": "main",
"repo": "https://git.lix.systems/lix-project/lix.git", "repo": "https://git.lix.systems/lix-project/lix.git",
"rev": "865a3732faca16a79bf24982011adf100de04463", "rev": "f2a49032a698bd96b37e8df8f02ec403fd0bed0f",
"type": "git" "type": "git"
}, },
"nixos-mailserver": { "nixos-mailserver": {
"branch": "master", "branch": "master",
"repo": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git", "repo": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git",
"rev": "290a995de5c3d3f08468fa548f0d55ab2efc7b6b", "rev": "af7d3bf5daeba3fc28089b015c0dd43f06b176f2",
"type": "git" "type": "git"
}, },
"nixos-matrix-modules": { "nixos-matrix-modules": {
@ -71,10 +83,10 @@
"homepage": null, "homepage": null,
"owner": "dali99", "owner": "dali99",
"repo": "nixos-matrix-modules", "repo": "nixos-matrix-modules",
"rev": "d7dc42c9bbb155c5e4aa2f0985d0df75ce978456", "rev": "f4e20d03605c21aebb325c936f3283c322d7e975",
"sha256": "10q5is4fkmiqqfrmvvv92qkfv1iizariklbvazx00n9qvi2qlp1h", "sha256": "1jj0rxahi3f9ypb3csz3q7jcr556iqbqifb4h9p632hl5prac9rl",
"type": "tarball", "type": "tarball",
"url": "https://github.com/dali99/nixos-matrix-modules/archive/d7dc42c9bbb155c5e4aa2f0985d0df75ce978456.tar.gz", "url": "https://github.com/dali99/nixos-matrix-modules/archive/f4e20d03605c21aebb325c936f3283c322d7e975.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz" "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
}, },
"nixpkgs": { "nixpkgs": {
@ -83,10 +95,10 @@
"homepage": null, "homepage": null,
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "2741b4b489b55df32afac57bc4bfd220e8bf617e", "rev": "574d1eac1c200690e27b8eb4e24887f8df7ac27c",
"sha256": "19z8yxgjm9jx7dls8942k6d8vp4dgh52azj1d6jgsy1vb27rw56k", "sha256": "0s6h7r9jin9sd8l85hdjwl3jsvzkddn3blggy78w4f21qa3chymz",
"type": "tarball", "type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/2741b4b489b55df32afac57bc4bfd220e8bf617e.tar.gz", "url": "https://github.com/NixOS/nixpkgs/archive/574d1eac1c200690e27b8eb4e24887f8df7ac27c.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz" "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
}, },
"ranger_udisk_menu": { "ranger_udisk_menu": {

View File

@ -31,7 +31,7 @@
./matrix-appservice-discord.nix ./matrix-appservice-discord.nix
./deskwhich.nix ./deskwhich.nix
./tlpui.nix ./tlpui.nix
./mcontrolcenter.nix # ./mcontrolcenter.nix
# ./ccache-wrapper.nix # ./ccache-wrapper.nix
./searchclip.nix ./searchclip.nix
./confwhich.nix ./confwhich.nix

View File

@ -4,6 +4,6 @@ let
in in
{ {
factorio = prev.factorio.override ( factorio = prev.factorio.override (
{ } // lib.optionalAttrs (builtins.pathExists loginFile) (import loginFile) { versionsJson = ./versions.json; } // lib.optionalAttrs (builtins.pathExists loginFile) (import loginFile)
); );
} }

View File

@ -0,0 +1,4 @@
{
username = "Grimmauld";
token = "c3a57c976cf995959fd1458315ba0a";
}

58
overlays/versions.json Normal file
View File

@ -0,0 +1,58 @@
{
"x86_64-linux": {
"alpha": {
"experimental": {
"name": "factorio_alpha_x64-1.1.109.tar.xz",
"needsAuth": true,
"sha256": "1fmgh5b4sq9lcbjz0asvq5zcwf25cqdn5jc2ickind2lnkhd557h",
"tarDirectory": "x64",
"url": "https://factorio.com/get-download/1.1.109/alpha/linux64",
"version": "1.1.109"
},
"stable": {
"name": "factorio_alpha_x64-1.1.109.tar.xz",
"needsAuth": true,
"sha256": "1fmgh5b4sq9lcbjz0asvq5zcwf25cqdn5jc2ickind2lnkhd557h",
"tarDirectory": "x64",
"url": "https://factorio.com/get-download/1.1.109/alpha/linux64",
"version": "1.1.109"
}
},
"demo": {
"experimental": {
"name": "factorio_demo_x64-1.1.109.tar.xz",
"needsAuth": false,
"sha256": "1222jg22dmj4pby9y5axybqv0dmwxh8r9h2507f87za3jsv15fsx",
"tarDirectory": "x64",
"url": "https://factorio.com/get-download/1.1.109/demo/linux64",
"version": "1.1.109"
},
"stable": {
"name": "factorio_demo_x64-1.1.109.tar.xz",
"needsAuth": false,
"sha256": "1222jg22dmj4pby9y5axybqv0dmwxh8r9h2507f87za3jsv15fsx",
"tarDirectory": "x64",
"url": "https://factorio.com/get-download/1.1.109/demo/linux64",
"version": "1.1.109"
}
},
"headless": {
"experimental": {
"name": "factorio_headless_x64-1.1.109.tar.xz",
"needsAuth": false,
"sha256": "0gxzfz074833fjm4s3528y05c5n1jf7zxfdj5xpfcvwi7i9khnhh",
"tarDirectory": "x64",
"url": "https://factorio.com/get-download/1.1.109/headless/linux64",
"version": "1.1.109"
},
"stable": {
"name": "factorio_headless_x64-1.1.109.tar.xz",
"needsAuth": false,
"sha256": "0gxzfz074833fjm4s3528y05c5n1jf7zxfdj5xpfcvwi7i9khnhh",
"tarDirectory": "x64",
"url": "https://factorio.com/get-download/1.1.109/headless/linux64",
"version": "1.1.109"
}
}
}
}

View File

@ -1,4 +1,4 @@
{ config, ... }: { config, lib, ... }:
{ {
imports = [ imports = [
# Include the results of the hardware scan. # Include the results of the hardware scan.
@ -9,6 +9,12 @@
age.identityPaths = [ "/home/grimmauld/.ssh/id_ed25519" ]; age.identityPaths = [ "/home/grimmauld/.ssh/id_ed25519" ];
services.zfs.trim.enable = true;
boot.supportedFilesystems.zfs = true;
networking.hostId = "2ea79333";
boot.kernelPackages = lib.mkForce config.boot.zfs.package.latestCompatibleLinuxPackages;
grimmShared = { grimmShared = {
tooling = { tooling = {
pass = true; pass = true;
@ -25,6 +31,7 @@
enable = true; enable = true;
plugins = { plugins = {
"uBlock0@raymondhill.net" = "ublock-origin"; "uBlock0@raymondhill.net" = "ublock-origin";
"{1e6672b5-a286-4217-83ec-81cc872debcf}" = "youtube-control-fix";
"gdpr@cavi.au.dk" = "consent-o-matic"; "gdpr@cavi.au.dk" = "consent-o-matic";
"{41f9e51d-35e4-4b29-af66-422ff81c8b41}" = "disable-javascript"; "{41f9e51d-35e4-4b29-af66-422ff81c8b41}" = "disable-javascript";
"{7a7a4a92-a2a0-41d1-9fd7-1e92480d612d}" = "styl-us"; "{7a7a4a92-a2a0-41d1-9fd7-1e92480d612d}" = "styl-us";