Compare commits
39 Commits
8ffd3c0de4
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c3f1f0bfb1 | ||
|
|
9eddcb81db | ||
|
|
f475232dd4 | ||
|
|
a60f8e3412 | ||
|
|
170fe3a1dc | ||
|
|
bf25d47f15 | ||
|
|
f14771fe14 | ||
|
|
ef753f2450 | ||
|
|
b4055e9364 | ||
|
|
53f8093cdb | ||
|
|
cef4d8654a | ||
|
|
6fd520839b | ||
|
|
11de4c2054 | ||
|
|
b2b8ee0699 | ||
|
|
748accf147 | ||
|
|
2ee0e60f05 | ||
|
|
a04a60543d | ||
|
|
1702260451 | ||
|
|
a9b49ffbfb | ||
|
|
e48c699eeb | ||
|
|
76ccbfb451 | ||
|
|
a9338cb8b5 | ||
|
|
746f6b6402 | ||
|
|
cd2f9db375 | ||
|
|
c0af1940a3 | ||
|
|
f4aeaa9f12 | ||
|
|
d61db2ded8 | ||
|
|
dd0df124f9 | ||
|
|
d68035d1ba | ||
|
|
cf89db66c5 | ||
|
|
bdd457512a | ||
|
|
01a1c7089a | ||
|
|
39031aab84 | ||
|
|
62dd32207d | ||
|
|
807500b2ec | ||
|
|
d982906c39 | ||
|
|
cab5cebdad | ||
|
|
1ea4d41852 | ||
|
|
9c26cd9dc5 |
@@ -3,12 +3,21 @@ keys:
|
|||||||
- &admin_alpheratz age1gdtjn3jgvvvspa86q3lnklflnvyf3s75y2rw23l7nk7hwcsfpg7qkq7msr
|
- &admin_alpheratz age1gdtjn3jgvvvspa86q3lnklflnvyf3s75y2rw23l7nk7hwcsfpg7qkq7msr
|
||||||
- &diphda age1rxqyz6watg05r3rzlme7grpgfgezhlt535gdl7psqys2ec8eegmqchfk4d
|
- &diphda age1rxqyz6watg05r3rzlme7grpgfgezhlt535gdl7psqys2ec8eegmqchfk4d
|
||||||
- &alpheratz age1cla0k3yffcelphkrmgz5upc0chgtdef25ne833jeqtapceux59rqkmhxf7
|
- &alpheratz age1cla0k3yffcelphkrmgz5upc0chgtdef25ne833jeqtapceux59rqkmhxf7
|
||||||
|
- &ankaa age15z4s7nts7ls5h3tu5zesghvnm3kj2qk3dsr004g8rwy578mq4q4qew7wl7
|
||||||
creation_rules:
|
creation_rules:
|
||||||
- path_regex: secrets/[^/]+\.yaml$
|
- path_regex: secrets/[^/]+\.yaml$
|
||||||
key_groups:
|
key_groups:
|
||||||
- age:
|
- age:
|
||||||
- *admin_ankaa
|
- *admin_ankaa
|
||||||
- *admin_alpheratz
|
- *admin_alpheratz
|
||||||
|
- path_regex: secrets/shared/[^/]+\.(yaml|otf)$
|
||||||
|
key_groups:
|
||||||
|
- age:
|
||||||
|
- *admin_ankaa
|
||||||
|
- *admin_alpheratz
|
||||||
|
- *alpheratz
|
||||||
|
- *ankaa
|
||||||
|
- *diphda
|
||||||
- path_regex: secrets/ankaa/[^/]+\.yaml$
|
- path_regex: secrets/ankaa/[^/]+\.yaml$
|
||||||
key_groups:
|
key_groups:
|
||||||
- age:
|
- age:
|
||||||
|
|||||||
94
flake.lock
generated
94
flake.lock
generated
@@ -1,5 +1,21 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
|
"flake-compat": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1747046372,
|
||||||
|
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"flake-parts": {
|
"flake-parts": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": "nixpkgs-lib"
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
@@ -43,11 +59,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1736373539,
|
"lastModified": 1747688870,
|
||||||
"narHash": "sha256-dinzAqCjenWDxuy+MqUQq0I4zUSfaCvN9rzuCmgMZJY=",
|
"narHash": "sha256-ypL9WAZfmJr5V70jEVzqGjjQzF0uCkz+AFQF7n9NmNc=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "bd65bc3cde04c16755955630b344bc9e35272c56",
|
"rev": "d5f1f641b289553927b3801580598d200a501863",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -64,11 +80,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1738448366,
|
"lastModified": 1761845621,
|
||||||
"narHash": "sha256-4ATtQqBlgsGqkHTemta0ydY6f7JBRXz4Hf574NHQpkg=",
|
"narHash": "sha256-d+R4MHsGmdebvSMsYUFWONsZSlUbOo8Zq/wjMdMiIac=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "18fa9f323d8adbb0b7b8b98a8488db308210ed93",
|
"rev": "97e3022a8d2c09313fa49847f6da4d76abcfc72d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -83,11 +99,11 @@
|
|||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1738434158,
|
"lastModified": 1761867267,
|
||||||
"narHash": "sha256-YxrLyH56QI5p14F2GWhkt1kKbuhmXchboOI7/C97JZE=",
|
"narHash": "sha256-b2vU6HzMR26JnHmnkvNZgefyfzAZOi9wLZdA+WOymHU=",
|
||||||
"owner": "ggerganov",
|
"owner": "ggerganov",
|
||||||
"repo": "llama.cpp",
|
"repo": "llama.cpp",
|
||||||
"rev": "53debe6f3c9cca87e9520a83ee8c14d88977afa4",
|
"rev": "6eb208d17ea29bb60295d9a2b5e7122dfb8f4b55",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -96,6 +112,25 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nix-matlab": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": "flake-compat",
|
||||||
|
"nixpkgs": "nixpkgs_2"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1754476755,
|
||||||
|
"narHash": "sha256-vSF0VMEmPMzwNkrXIZwkhOSYmKES9BaDK/LlEe7/q8E=",
|
||||||
|
"owner": "doronbehar",
|
||||||
|
"repo": "nix-matlab",
|
||||||
|
"rev": "0e9c9fb660f9e1a1e4d59fd083e0212a15b513e2",
|
||||||
|
"type": "gitlab"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "doronbehar",
|
||||||
|
"repo": "nix-matlab",
|
||||||
|
"type": "gitlab"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1732014248,
|
"lastModified": 1732014248,
|
||||||
@@ -126,11 +161,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1738277201,
|
"lastModified": 1751274312,
|
||||||
"narHash": "sha256-6L+WXKCw5mqnUIExvqkD99pJQ41xgyCk6z/H9snClwk=",
|
"narHash": "sha256-/bVBlRpECLVzjV19t5KMdMFWSwKLtb5RyXdjz3LJT+g=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "666e1b3f09c267afd66addebe80fb05a5ef2b554",
|
"rev": "50ab793786d9de88ee30ec4e4c24fb4236fc2674",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -142,11 +177,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1738410390,
|
"lastModified": 1761672384,
|
||||||
"narHash": "sha256-xvTo0Aw0+veek7hvEVLzErmJyQkEcRk6PSR4zsRQFEc=",
|
"narHash": "sha256-o9KF3DJL7g7iYMZq9SWgfS1BFlNbsm6xplRjVlOCkXI=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "3a228057f5b619feb3186e986dbe76278d707b6e",
|
"rev": "08dacfca559e1d7da38f3cf05f1f45ee9bfd213c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -158,11 +193,25 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731763621,
|
"lastModified": 1754340878,
|
||||||
"narHash": "sha256-ddcX4lQL0X05AYkrkV2LMFgGdRvgap7Ho8kgon3iWZk=",
|
"narHash": "sha256-lgmUyVQL9tSnvvIvBp7x1euhkkCho7n3TMzgjdvgPoU=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "c69a9bffbecde46b4b939465422ddc59493d3e4d",
|
"rev": "cab778239e705082fe97bb4990e0d24c50924c04",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"id": "nixpkgs",
|
||||||
|
"type": "indirect"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_3": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1760596604,
|
||||||
|
"narHash": "sha256-J/i5K6AAz/y5dBePHQOuzC7MbhyTOKsd/GLezSbEFiM=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "3cbe716e2346710d6e1f7c559363d14e11c32a43",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -178,6 +227,7 @@
|
|||||||
"home-manager-stable": "home-manager-stable",
|
"home-manager-stable": "home-manager-stable",
|
||||||
"home-manager-unstable": "home-manager-unstable",
|
"home-manager-unstable": "home-manager-unstable",
|
||||||
"llama-cpp": "llama-cpp",
|
"llama-cpp": "llama-cpp",
|
||||||
|
"nix-matlab": "nix-matlab",
|
||||||
"nixpkgs-stable": "nixpkgs-stable",
|
"nixpkgs-stable": "nixpkgs-stable",
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||||
"sops-nix": "sops-nix"
|
"sops-nix": "sops-nix"
|
||||||
@@ -185,14 +235,14 @@
|
|||||||
},
|
},
|
||||||
"sops-nix": {
|
"sops-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_2"
|
"nixpkgs": "nixpkgs_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1738291974,
|
"lastModified": 1760998189,
|
||||||
"narHash": "sha256-wkwYJc8cKmmQWUloyS9KwttBnja2ONRuJQDEsmef320=",
|
"narHash": "sha256-ee2e1/AeGL5X8oy/HXsZQvZnae6XfEVdstGopKucYLY=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "4c1251904d8a08c86ac6bc0d72cc09975e89aef7",
|
"rev": "5a7d18b5c55642df5c432aadb757140edfeb70b3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
63
flake.nix
63
flake.nix
@@ -18,6 +18,8 @@
|
|||||||
|
|
||||||
llama-cpp.url = "github:ggerganov/llama.cpp";
|
llama-cpp.url = "github:ggerganov/llama.cpp";
|
||||||
|
|
||||||
|
nix-matlab.url = "gitlab:doronbehar/nix-matlab";
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs@{ self
|
outputs = inputs@{ self
|
||||||
@@ -28,6 +30,7 @@
|
|||||||
, flake-utils
|
, flake-utils
|
||||||
, sops-nix
|
, sops-nix
|
||||||
, llama-cpp
|
, llama-cpp
|
||||||
|
, nix-matlab
|
||||||
, ...
|
, ...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
@@ -58,6 +61,10 @@
|
|||||||
excludes = [
|
excludes = [
|
||||||
"/home/eesim/.local/share/Steam/steamapps/common"
|
"/home/eesim/.local/share/Steam/steamapps/common"
|
||||||
"/home/eesim/.cache"
|
"/home/eesim/.cache"
|
||||||
|
"/home/eesim/llama/models"
|
||||||
|
"/home/eesim/.local/share/Trash"
|
||||||
|
"/home/eesim/Games"
|
||||||
|
"/home/eesim/nixpkgs"
|
||||||
];
|
];
|
||||||
passphrase = "/home/eesim/.ssh/borgbase_passphrase";
|
passphrase = "/home/eesim/.ssh/borgbase_passphrase";
|
||||||
key = "/home/eesim/.ssh/id_ed25519_borgbase";
|
key = "/home/eesim/.ssh/id_ed25519_borgbase";
|
||||||
@@ -73,9 +80,15 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
term = {
|
||||||
|
terminal = "kitty";
|
||||||
|
font = "codelia";
|
||||||
|
};
|
||||||
|
|
||||||
gui = {
|
gui = {
|
||||||
enable = true;
|
enable = true;
|
||||||
protonmail = true;
|
protonmail = true;
|
||||||
|
secrets = true;
|
||||||
gtk = false;
|
gtk = false;
|
||||||
|
|
||||||
sway = {
|
sway = {
|
||||||
@@ -109,6 +122,7 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
lutris.enable = true;
|
lutris.enable = true;
|
||||||
minecraft.enable = true;
|
minecraft.enable = true;
|
||||||
|
vintagestory.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
common.nil.enable = true;
|
common.nil.enable = true;
|
||||||
@@ -153,24 +167,29 @@
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
backup = {
|
school = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
citrix = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
games = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
backup = {
|
||||||
user = "eesim";
|
user = "eesim";
|
||||||
paths = [ "/home/eesim" ];
|
paths = [ "/home/eesim" ];
|
||||||
repo = "t643s856@t643s856.repo.borgbase.com:repo";
|
repo = "t643s856@t643s856.repo.borgbase.com:repo";
|
||||||
excludes = [
|
excludes = [
|
||||||
"/home/eesim/.cache/"
|
"/home/eesim/.cache/"
|
||||||
|
"/home/eesim/configs/mc-distant-horizons"
|
||||||
|
"/home/eesim/configs/mc-arcadia"
|
||||||
];
|
];
|
||||||
key = "/home/eesim/.ssh/id_ed25519";
|
key = "/home/eesim/.ssh/id_ed25519";
|
||||||
passphrase = "/run/secrets/borgbase/nix-alpheratz";
|
passphrase = "/run/secrets/borgbase/nix-alpheratz";
|
||||||
repeat = "daily";
|
repeat = "daily";
|
||||||
};
|
};
|
||||||
|
|
||||||
school = {
|
|
||||||
enable = true;
|
|
||||||
citrix = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
common.nil.enable = true;
|
common.nil.enable = true;
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
@@ -189,9 +208,22 @@
|
|||||||
options = {
|
options = {
|
||||||
openssh.enable = true;
|
openssh.enable = true;
|
||||||
|
|
||||||
|
backup = {
|
||||||
|
enable = true;
|
||||||
|
user = "eesim";
|
||||||
|
paths = [ "/home/eesim" ];
|
||||||
|
repo = "ssh://p9h977h3@p9h977h3.repo.borgbase.com/./repo";
|
||||||
|
excludes = [
|
||||||
|
"/home/eesim/.cache"
|
||||||
|
];
|
||||||
|
passphrase = "/run/secrets/backup/repo_password";
|
||||||
|
key = "/home/eesim/.ssh/id_ed25519_borgbase";
|
||||||
|
repeat = "daily";
|
||||||
|
};
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
firewall = {
|
firewall = {
|
||||||
allowedTCPPorts = [ 80 443 3000 3843 4533 6600 6722 7474 7878 8000 8080 8081 8083 8089 8096 8120 8181 8443 8787 8889 8902 8989 8998 9000 9091 9696 11112 13378 24454 25565 25600 ];
|
allowedTCPPorts = [ 80 443 3000 3843 4533 5030 6600 6722 7474 7878 8000 8080 8081 8083 8089 8096 8120 8181 8443 8787 8889 8902 8989 8998 9000 9091 9696 11112 13378 24454 25565 25600 50300 ];
|
||||||
allowedUDPPorts = [ 3478 10001 ];
|
allowedUDPPorts = [ 3478 10001 ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -206,19 +238,32 @@
|
|||||||
|
|
||||||
pkgs = import nixpkgs {
|
pkgs = import nixpkgs {
|
||||||
inherit system;
|
inherit system;
|
||||||
overlays = with overlays; [ printrun citrix ];
|
overlays = with overlays; [ printrun shadps4 nix-matlab.overlay ];
|
||||||
config = {
|
config = {
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
permittedInsecurePackages = [
|
permittedInsecurePackages = [
|
||||||
"electron-31.7.7"
|
"electron-31.7.7"
|
||||||
|
# TODO: Remove when fixed https://github.com/NixOS/nixpkgs/issues/433004
|
||||||
|
"libsoup-2.74.3"
|
||||||
|
"libxml2-2.13.8"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# TODO: Remove when Citrix is fixed
|
||||||
|
pkgs_stable_tmp = import nixpkgs-stable {
|
||||||
|
inherit system;
|
||||||
|
config = {
|
||||||
|
allowUnfree = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
localPackages = pkgs.lib.genAttrs flake-utils.lib.defaultSystems (system: {
|
localPackages = pkgs.lib.genAttrs flake-utils.lib.defaultSystems (system: {
|
||||||
kickoff-dot-desktop = pkgs.callPackage ./pkgs/kickoff-dot-desktop.nix {};
|
kickoff-dot-desktop = pkgs.callPackage ./pkgs/kickoff-dot-desktop.nix {};
|
||||||
jhelioviewer = pkgs.callPackage ./pkgs/jhelioviewer.nix {};
|
jhelioviewer = pkgs.callPackage ./pkgs/jhelioviewer.nix {};
|
||||||
llama-cpp = llama-cpp.packages.${system}.rocm;
|
llama-cpp = llama-cpp.packages.${system}.rocm;
|
||||||
|
shadps4 = pkgs.callPackage ./pkgs/shadps4.nix {};
|
||||||
|
gazou = pkgs.callPackage ./pkgs/gazou.nix {};
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -238,6 +283,7 @@
|
|||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit localPackages;
|
inherit localPackages;
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
|
inherit pkgs_stable_tmp;
|
||||||
};
|
};
|
||||||
modules = [
|
modules = [
|
||||||
{
|
{
|
||||||
@@ -256,6 +302,7 @@
|
|||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = true;
|
||||||
home-manager.extraSpecialArgs = {
|
home-manager.extraSpecialArgs = {
|
||||||
inherit utils;
|
inherit utils;
|
||||||
|
inherit localPackages;
|
||||||
systemConfig = config.options;
|
systemConfig = config.options;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -31,6 +31,13 @@
|
|||||||
options = [ "subvol=nix" ];
|
options = [ "subvol=nix" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Remove comments for optical drive in wine
|
||||||
|
# fileSystems."/mnt/drive0" =
|
||||||
|
# { device = "/dev/sr0";
|
||||||
|
# fsType = "auto";
|
||||||
|
# options = [ "ro" "user" "noauto" "unhide" ];
|
||||||
|
# };
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [ ];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
|||||||
@@ -29,12 +29,46 @@
|
|||||||
|
|
||||||
secrets."wireguard/private" = {};
|
secrets."wireguard/private" = {};
|
||||||
secrets."wireguard/preshared" = {};
|
secrets."wireguard/preshared" = {};
|
||||||
secrets."borgbase/nix-alpheratz" = {};
|
secrets."borgbase/nix-alpheratz" = {
|
||||||
|
owner = "eesim";
|
||||||
|
};
|
||||||
|
|
||||||
|
secrets."Codelia-Regular.otf" = {
|
||||||
|
format = "binary";
|
||||||
|
sopsFile = ../../secrets/shared/Codelia-Regular;
|
||||||
|
owner = "eesim";
|
||||||
|
path = "/home/eesim/.local/share/fonts/Codelia Regular.otf";
|
||||||
|
};
|
||||||
|
|
||||||
|
secrets."Codelia-Bold.otf" = {
|
||||||
|
format = "binary";
|
||||||
|
sopsFile = ../../secrets/shared/Codelia-Bold;
|
||||||
|
owner = "eesim";
|
||||||
|
path = "/home/eesim/.local/share/fonts/Codelia Bold.otf";
|
||||||
|
};
|
||||||
|
|
||||||
|
secrets."Codelia-Italic.otf" = {
|
||||||
|
format = "binary";
|
||||||
|
sopsFile = ../../secrets/shared/Codelia-Italic;
|
||||||
|
owner = "eesim";
|
||||||
|
path = "/home/eesim/.local/share/fonts/Codelia Italic.otf";
|
||||||
|
};
|
||||||
|
|
||||||
|
secrets."Codelia-BoldItalic.otf" = {
|
||||||
|
format = "binary";
|
||||||
|
sopsFile = ../../secrets/shared/Codelia-BoldItalic;
|
||||||
|
owner = "eesim";
|
||||||
|
path = "/home/eesim/.local/share/fonts/Codelia BoldItalic.ttf";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
localPackages.x86_64-linux.jhelioviewer
|
localPackages.x86_64-linux.jhelioviewer
|
||||||
bottles
|
bottles
|
||||||
|
matlab
|
||||||
|
discord
|
||||||
|
wine
|
||||||
|
matlab-language-server
|
||||||
];
|
];
|
||||||
|
|
||||||
services.printing.enable = false;
|
services.printing.enable = false;
|
||||||
@@ -61,18 +95,17 @@
|
|||||||
|
|
||||||
networking.wg-quick.interfaces = {
|
networking.wg-quick.interfaces = {
|
||||||
wg0 = {
|
wg0 = {
|
||||||
address = [ "10.0.0.2/32" ];
|
address = [ "10.137.175.3/32" ];
|
||||||
listenPort = 51820;
|
listenPort = 51820;
|
||||||
privateKeyFile = "/run/secrets/wireguard/private";
|
privateKeyFile = "/run/secrets/wireguard/private";
|
||||||
dns = [ "10.0.0.1" ];
|
dns = [ "10.137.175.1" ];
|
||||||
autostart = true;
|
autostart = true;
|
||||||
|
|
||||||
peers = [
|
peers = [
|
||||||
{
|
{
|
||||||
publicKey = "sWdXHlBqH+tAgSl0Tqr46sfKvgFN/vMDiuN08HjzaSg=";
|
publicKey = "sWdXHlBqH+tAgSl0Tqr46sfKvgFN/vMDiuN08HjzaSg=";
|
||||||
presharedKeyFile = "/run/secrets/wireguard/preshared";
|
|
||||||
allowedIPs = [ "0.0.0.0/0" "::/0" ];
|
allowedIPs = [ "0.0.0.0/0" "::/0" ];
|
||||||
endpoint = "jellyfin.simmer505.com:51820";
|
endpoint = "mc.simmer505.com:51820";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
@@ -87,7 +120,7 @@
|
|||||||
# Define a user account.
|
# Define a user account.
|
||||||
users.users.eesim = {
|
users.users.eesim = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
extraGroups = [ "wheel" "video" "audio" "networkmanager" ];
|
extraGroups = [ "wheel" "video" "audio" "networkmanager" "cdrom" ];
|
||||||
shell = pkgs.fish;
|
shell = pkgs.fish;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
|
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [ "kvm-amd" "wl" ];
|
boot.kernelModules = [ "kvm-amd" "wl" ];
|
||||||
boot.extraModulePackages = [ config.boot.kernelPackages.broadcom_sta ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" =
|
||||||
{ device = "/dev/disk/by-uuid/c9d87455-b02f-465d-8d63-1858dc2164fe";
|
{ device = "/dev/disk/by-uuid/c9d87455-b02f-465d-8d63-1858dc2164fe";
|
||||||
|
|||||||
@@ -16,14 +16,48 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
sops = {
|
||||||
|
defaultSopsFile = ../../secrets/ankaa/secrets.yaml;
|
||||||
|
age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
||||||
|
|
||||||
|
secrets."Codelia-Regular.otf" = {
|
||||||
|
format = "binary";
|
||||||
|
sopsFile = ../../secrets/shared/Codelia-Regular;
|
||||||
|
owner = "eesim";
|
||||||
|
path = "/home/eesim/.local/share/fonts/Codelia Regular.otf";
|
||||||
|
};
|
||||||
|
|
||||||
|
secrets."Codelia-Bold.otf" = {
|
||||||
|
format = "binary";
|
||||||
|
sopsFile = ../../secrets/shared/Codelia-Bold;
|
||||||
|
owner = "eesim";
|
||||||
|
path = "/home/eesim/.local/share/fonts/Codelia Bold.otf";
|
||||||
|
};
|
||||||
|
|
||||||
|
secrets."Codelia-Italic.otf" = {
|
||||||
|
format = "binary";
|
||||||
|
sopsFile = ../../secrets/shared/Codelia-Italic;
|
||||||
|
owner = "eesim";
|
||||||
|
path = "/home/eesim/.local/share/fonts/Codelia Italic.otf";
|
||||||
|
};
|
||||||
|
|
||||||
|
secrets."Codelia-BoldItalic.otf" = {
|
||||||
|
format = "binary";
|
||||||
|
sopsFile = ../../secrets/shared/Codelia-BoldItalic;
|
||||||
|
owner = "eesim";
|
||||||
|
path = "/home/eesim/.local/share/fonts/Codelia BoldItalic.ttf";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
localPackages.x86_64-linux.jhelioviewer
|
localPackages.x86_64-linux.jhelioviewer
|
||||||
localPackages.x86_64-linux.llama-cpp
|
|
||||||
printrun
|
|
||||||
pciutils
|
pciutils
|
||||||
bottles
|
bottles
|
||||||
inkscape
|
inkscape
|
||||||
orca-slicer
|
orca-slicer
|
||||||
|
qemu
|
||||||
|
protonvpn-gui
|
||||||
|
anki
|
||||||
];
|
];
|
||||||
|
|
||||||
services.hardware.openrgb.enable = true;
|
services.hardware.openrgb.enable = true;
|
||||||
@@ -62,8 +96,6 @@
|
|||||||
# Select internationalisation properties.
|
# Select internationalisation properties.
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
|
||||||
programs.ssh.startAgent = true;
|
|
||||||
|
|
||||||
# Define a user account.
|
# Define a user account.
|
||||||
users.users.eesim = {
|
users.users.eesim = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
|
|||||||
@@ -38,7 +38,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/media" =
|
fileSystems."/media" =
|
||||||
{ device = "192.168.1.100:/volume1/Media";
|
{ device = "10.137.177.10:/volume1/Media";
|
||||||
fsType = "nfs";
|
fsType = "nfs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -20,8 +20,13 @@
|
|||||||
defaultSopsFile = ../../secrets/diphda/secrets.yaml;
|
defaultSopsFile = ../../secrets/diphda/secrets.yaml;
|
||||||
age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
||||||
|
|
||||||
|
secrets."backup/repo_password" = {
|
||||||
|
owner = "eesim";
|
||||||
|
};
|
||||||
|
|
||||||
secrets."mc-arcadia/repo_password" = {};
|
secrets."mc-arcadia/repo_password" = {};
|
||||||
secrets."mc-dh/repo_password" = {};
|
secrets."mc-dh/repo_password" = {};
|
||||||
|
|
||||||
secrets."tandoor/secret_key" = {
|
secrets."tandoor/secret_key" = {
|
||||||
owner = "tandoor";
|
owner = "tandoor";
|
||||||
};
|
};
|
||||||
@@ -36,54 +41,6 @@
|
|||||||
secrets."caddy/porkbun_secret_key" = {};
|
secrets."caddy/porkbun_secret_key" = {};
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.timers."mc-dh-backup" = {
|
|
||||||
wantedBy = [ "timers.target" ];
|
|
||||||
timerConfig = {
|
|
||||||
OnCalendar = "*-*-* *:00:00";
|
|
||||||
Persistent = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.services."mc-dh-backup" = {
|
|
||||||
enable = true;
|
|
||||||
preStart = ''
|
|
||||||
${pkgs.docker}/bin/docker exec mc-distant-horizons-mc-1 mc-send-to-console say Server backup starting in 5 minutes
|
|
||||||
sleep 5m
|
|
||||||
'';
|
|
||||||
postStart = ''
|
|
||||||
${pkgs.docker}/bin/docker exec mc-distant-horizons-mc-1 mc-send-to-console say Server backup starting
|
|
||||||
'';
|
|
||||||
serviceConfig = {
|
|
||||||
Type = "oneshot";
|
|
||||||
User = "root";
|
|
||||||
ExecStart = ''
|
|
||||||
systemd-inhibit --who="borgmatic" \
|
|
||||||
--why="Prevent interrupting scheduled backup" \
|
|
||||||
${pkgs.borgmatic}/bin/borgmatic -c /etc/nixos/hosts/diphda/mc-dh-backup.yaml --verbosity 1 --syslog-verbosity 1
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.services."dl-manager" = {
|
|
||||||
enable = true;
|
|
||||||
after = [ "network.target" ];
|
|
||||||
wantedBy = [ "multi-user.target" ];
|
|
||||||
path = [ pkgs.bash pkgs.lftp ];
|
|
||||||
serviceConfig = {
|
|
||||||
Type = "simple";
|
|
||||||
User = "eesim";
|
|
||||||
Group = "acme";
|
|
||||||
WorkingDirectory = "/home/eesim/scripts";
|
|
||||||
ExecStart = ''
|
|
||||||
/home/eesim/scripts/dl_manager_tokio -vv \
|
|
||||||
-c /var/lib/acme/download.simmer505.com/cert.pem \
|
|
||||||
-k /var/lib/acme/download.simmer505.com/key.pem \
|
|
||||||
--script-dir /home/eesim/scripts/ \
|
|
||||||
0.0.0.0:11112
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.services."qbit-update-port" = {
|
systemd.services."qbit-update-port" = {
|
||||||
enable = true;
|
enable = true;
|
||||||
path = [ pkgs.bash pkgs.docker pkgs.curl pkgs.netcat ];
|
path = [ pkgs.bash pkgs.docker pkgs.curl pkgs.netcat ];
|
||||||
@@ -105,21 +62,6 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services.mpd = {
|
|
||||||
enable = true;
|
|
||||||
musicDirectory = "/media/Music";
|
|
||||||
network.listenAddress = "any";
|
|
||||||
};
|
|
||||||
|
|
||||||
security.acme = {
|
|
||||||
acceptTerms = true;
|
|
||||||
defaults.email = "eesimmons9105@gmail.com";
|
|
||||||
certs."download.simmer505.com" = {
|
|
||||||
dnsProvider = "porkbun";
|
|
||||||
environmentFile = "${config.sops.secrets."porkbun.keytab".path}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Use the systemd-boot EFI boot loader.
|
# Use the systemd-boot EFI boot loader.
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
|||||||
@@ -10,6 +10,9 @@ vim.keymap.set('n', '<leader>ff', ':FzfLua files<CR>')
|
|||||||
vim.keymap.set('n', '<leader>fb', ':FzfLua buffers<CR>')
|
vim.keymap.set('n', '<leader>fb', ':FzfLua buffers<CR>')
|
||||||
vim.keymap.set('n', '<leader>rg', ':FzfLua grep_project<CR>')
|
vim.keymap.set('n', '<leader>rg', ':FzfLua grep_project<CR>')
|
||||||
|
|
||||||
|
vim.keymap.set('n', 'ga', '<Plug>(EasyAlign)')
|
||||||
|
vim.keymap.set('x', 'ga', '<Plug>(EasyAlign)')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
vim.keymap.set('i', '<S-Tab>', '<C-d>')
|
vim.keymap.set('i', '<S-Tab>', '<C-d>')
|
||||||
|
|||||||
@@ -37,6 +37,8 @@ local plugins = {
|
|||||||
|
|
||||||
'Vigemus/iron.nvim',
|
'Vigemus/iron.nvim',
|
||||||
|
|
||||||
|
'junegunn/vim-easy-align',
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||||
|
|||||||
@@ -14,11 +14,19 @@ iron.setup {
|
|||||||
python = {
|
python = {
|
||||||
command = { "python3" }, -- or { "ipython", "--no-autoindent" }
|
command = { "python3" }, -- or { "ipython", "--no-autoindent" }
|
||||||
format = require("iron.fts.common").bracketed_paste_python
|
format = require("iron.fts.common").bracketed_paste_python
|
||||||
|
},
|
||||||
|
matlab = {
|
||||||
|
command = {
|
||||||
|
"matlab",
|
||||||
|
"-nosplash",
|
||||||
|
"-nodesktop"
|
||||||
|
},
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
-- How the repl window will be displayed
|
-- How the repl window will be displayed
|
||||||
-- See below for more information
|
-- See below for more information
|
||||||
repl_open_cmd = require('iron.view').bottom(40),
|
repl_open_cmd = require('iron.view').split.vertical.rightbelow("%40"),
|
||||||
},
|
},
|
||||||
-- Iron doesn't set keymaps by default anymore.
|
-- Iron doesn't set keymaps by default anymore.
|
||||||
-- You can set them here or manually add keymaps to the functions in iron.core
|
-- You can set them here or manually add keymaps to the functions in iron.core
|
||||||
|
|||||||
@@ -24,6 +24,16 @@ lspconfig.rust_analyzer.setup {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
lspconfig.matlab_ls.setup {
|
||||||
|
capabilities = capabilities,
|
||||||
|
settings = {
|
||||||
|
MATLAB = {
|
||||||
|
indexWorkspace = false,
|
||||||
|
installPath = "",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
lspconfig.omnisharp.setup {
|
lspconfig.omnisharp.setup {
|
||||||
cmd = { "dotnet", "/usr/lib/omnisharp-roslyn/OmniSharp.dll"}
|
cmd = { "dotnet", "/usr/lib/omnisharp-roslyn/OmniSharp.dll"}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
{ lib
|
{ lib
|
||||||
, pkgs
|
, pkgs
|
||||||
|
, localPackages
|
||||||
, config
|
, config
|
||||||
, systemConfig
|
, systemConfig
|
||||||
, utils
|
, utils
|
||||||
@@ -109,9 +110,11 @@ in
|
|||||||
"${modifier}+Shift+0" = "move container to workspace 10";
|
"${modifier}+Shift+0" = "move container to workspace 10";
|
||||||
"${modifier}+Shift+e" = "exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'";
|
"${modifier}+Shift+e" = "exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'";
|
||||||
"${modifier}+Shift+c" = "reload";
|
"${modifier}+Shift+c" = "reload";
|
||||||
"${modifier}+Shift+s" = "exec ${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp)\" \"/home/eesim/Pictures/$(date +'%s_grim.png')\"";
|
"${modifier}+Shift+s" = "exec 'TMPFILE=\"$(mktemp)\"; ${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp)\" \"$TMPFILE\"; mv \"$TMPFILE\" \"/home/eesim/Pictures/$(${pkgs.zenity}/bin/zenity --entry).png\"'";
|
||||||
|
"${modifier}+Shift+o" = "exec '${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp)\" - | ${localPackages.x86_64-linux.gazou}/bin/gazou | tail -n +2 | ${pkgs.wl-clipboard}/bin/wl-copy'";
|
||||||
"${modifier}+Shift+q" = "kill";
|
"${modifier}+Shift+q" = "kill";
|
||||||
"${modifier}+p" = "focus mode_toggle";
|
"${modifier}+p" = "focus mode_toggle";
|
||||||
|
"${modifier}+Control+b" = "exec bluetoothctl connect 18:3F:70:62:A5:3C";
|
||||||
"XF86AudioPause" = "exec playerctl play-pause";
|
"XF86AudioPause" = "exec playerctl play-pause";
|
||||||
"XF86AudioNext" = "exec playerctl next";
|
"XF86AudioNext" = "exec playerctl next";
|
||||||
"XF86AudioPrev" = "exec playerctl previous";
|
"XF86AudioPrev" = "exec playerctl previous";
|
||||||
@@ -127,8 +130,9 @@ in
|
|||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
startup = []
|
startup = [
|
||||||
++ optionals gui.sway.desktop [
|
{ command = "fcitx5 -d"; }
|
||||||
|
] ++ optionals gui.sway.desktop [
|
||||||
{ command = "vorta"; }
|
{ command = "vorta"; }
|
||||||
{ command = "MOZ_ENABLE_WAYLAND=1 firefox"; }
|
{ command = "MOZ_ENABLE_WAYLAND=1 firefox"; }
|
||||||
{ command = "sleep 20 && vesktop --enable-features=WebRTCPipeWireCapturer"; }
|
{ command = "sleep 20 && vesktop --enable-features=WebRTCPipeWireCapturer"; }
|
||||||
@@ -194,7 +198,7 @@ in
|
|||||||
|
|
||||||
input."type:keyboard" = {
|
input."type:keyboard" = {
|
||||||
xkb_layout = "us,de";
|
xkb_layout = "us,de";
|
||||||
xkb_options = "grp:toggle";
|
xkb_options = "grp:lctrl_lalt_toggle,lv3:ralt_switch";
|
||||||
};
|
};
|
||||||
|
|
||||||
output = gui.monitors;
|
output = gui.monitors;
|
||||||
@@ -253,9 +257,19 @@ in
|
|||||||
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
extraSessionCommands = mkIf gui.secrets ''
|
extraSessionCommands =
|
||||||
|
(if gui.secrets
|
||||||
|
then ''
|
||||||
eval $(gnome-keyring-daemon --start --components=pkcs11,secrets,ssh);
|
eval $(gnome-keyring-daemon --start --components=pkcs11,secrets,ssh);
|
||||||
export SSH_AUTH_SOCK;
|
export SSH_AUTH_SOCK;
|
||||||
|
''
|
||||||
|
else "") + ''
|
||||||
|
# https://www.reddit.com/r/swaywm/comments/i6qlos/how_do_i_use_an_ime_with_sway/g1lk4xh?utm_source=share&utm_medium=web2x&context=3
|
||||||
|
export INPUT_METHOD=fcitx
|
||||||
|
export QT_IM_MODULE=fcitx
|
||||||
|
export GTK_IM_MODULE=fcitx
|
||||||
|
export XMODIFIERS=@im=fcitx
|
||||||
|
export XIM_SERVERS=fcitx
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -15,8 +15,10 @@ in
|
|||||||
settings = {
|
settings = {
|
||||||
confirm_os_window_close = 0;
|
confirm_os_window_close = 0;
|
||||||
};
|
};
|
||||||
|
font.name = mkIf (cfg.font == "codelia") "Codelia";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
programs.alacritty = mkIf (cfg.terminal == "alacritty") {
|
programs.alacritty = mkIf (cfg.terminal == "alacritty") {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ in
|
|||||||
config = {
|
config = {
|
||||||
environment.systemPackages = with pkgs; []
|
environment.systemPackages = with pkgs; []
|
||||||
++ optional cfg.pipewire.enable pulseaudio
|
++ optional cfg.pipewire.enable pulseaudio
|
||||||
++ optional cfg.music.enable feishin
|
++ optional cfg.music.enable supersonic
|
||||||
++ optional cfg.tools.helvum helvum
|
++ optional cfg.tools.helvum helvum
|
||||||
++ optional cfg.tools.easyeffects easyeffects
|
++ optional cfg.tools.easyeffects easyeffects
|
||||||
++ optional cfg.tools.pavucontrol pavucontrol;
|
++ optional cfg.tools.pavucontrol pavucontrol;
|
||||||
|
|||||||
@@ -41,6 +41,11 @@ in
|
|||||||
main = mkMerge [
|
main = mkMerge [
|
||||||
(mkIf (cfg.caps == "ctrl-esc") { capslock = "overload(control, esc)"; })
|
(mkIf (cfg.caps == "ctrl-esc") { capslock = "overload(control, esc)"; })
|
||||||
(mkIf (cfg.caps == "esc") { capslock = "esc"; })
|
(mkIf (cfg.caps == "esc") { capslock = "esc"; })
|
||||||
|
{ rightcontrol = "rightcontrol"; }
|
||||||
|
{ rightshift = "rightshift"; }
|
||||||
|
];
|
||||||
|
altgr = mkMerge [
|
||||||
|
{ "-" = "macro(C-S-u 2 0 1 4 space)"; }
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -9,11 +9,13 @@ with lib; let
|
|||||||
in
|
in
|
||||||
{
|
{
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
environment.systemPackages = with pkgs; with localPackages.x86_64-linux; []
|
environment.systemPackages = with pkgs; []
|
||||||
++ optional cfg.protonup.enable protonup-qt
|
++ optional cfg.protonup.enable protonup-qt
|
||||||
++ optional cfg.gamescope.enable gamescope
|
++ optional cfg.gamescope.enable gamescope
|
||||||
++ optional cfg.discord.enable vesktop
|
++ optional cfg.discord.enable vesktop
|
||||||
++ optional cfg.minecraft.enable prismlauncher
|
++ optional cfg.minecraft.enable prismlauncher
|
||||||
|
++ optional cfg.vintagestory.enable vintagestory
|
||||||
|
++ optional cfg.ps4.enable localPackages.x86_64-linux.shadps4
|
||||||
++ optionals cfg.lutris.enable [ lutris wine ];
|
++ optionals cfg.lutris.enable [ lutris wine ];
|
||||||
|
|
||||||
programs.steam = mkIf cfg.steam.enable {
|
programs.steam = mkIf cfg.steam.enable {
|
||||||
|
|||||||
@@ -40,17 +40,27 @@ in
|
|||||||
|
|
||||||
hardware.opengl.enable = true;
|
hardware.opengl.enable = true;
|
||||||
|
|
||||||
|
i18n.inputMethod = {
|
||||||
|
enabled = "fcitx5";
|
||||||
|
fcitx5.addons = with pkgs; [
|
||||||
|
fcitx5-mozc
|
||||||
|
fcitx5-gtk
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
fonts = {
|
fonts = {
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
liberation_ttf
|
liberation_ttf
|
||||||
noto-fonts
|
noto-fonts
|
||||||
noto-fonts-cjk-sans
|
noto-fonts-cjk-sans
|
||||||
noto-fonts-extra
|
ubuntu-classic
|
||||||
ubuntu_font_family
|
|
||||||
vazir-fonts
|
vazir-fonts
|
||||||
font-awesome
|
font-awesome
|
||||||
corefonts
|
corefonts
|
||||||
carlito
|
carlito
|
||||||
|
roboto
|
||||||
|
source-sans
|
||||||
|
source-sans-pro
|
||||||
];
|
];
|
||||||
fontconfig = {
|
fontconfig = {
|
||||||
|
|
||||||
|
|||||||
@@ -1,20 +1,24 @@
|
|||||||
{ lib
|
{ lib
|
||||||
, pkgs
|
, pkgs
|
||||||
, config
|
, config
|
||||||
|
, localPackages
|
||||||
|
, pkgs_stable_tmp
|
||||||
, ...
|
, ...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.simmer.school;
|
cfg = config.simmer.school;
|
||||||
extraCerts = [ ./incommon-rsa-ca2.pem ];
|
extraCerts = [ ./incommon-rsa-ca2.pem ];
|
||||||
citrix = pkgs.citrix_workspace_23_09_0.override { inherit extraCerts; };
|
citrix = pkgs_stable_tmp.citrix_workspace_23_09_0.override { inherit extraCerts; };
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
xournalpp
|
xournalpp
|
||||||
libreoffice
|
libreoffice
|
||||||
anki
|
]
|
||||||
] ++ optional cfg.citrix citrix;
|
++ optional cfg.citrix citrix
|
||||||
|
++ optional cfg.kicad kicad
|
||||||
|
++ optional cfg.logisim logisim-evolution;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,12 +34,24 @@ in
|
|||||||
default = true;
|
default = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
vintagestory.enable = mkOption {
|
||||||
|
description = "Whether to install Vintage Story";
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
|
|
||||||
minecraft.enable = mkOption {
|
minecraft.enable = mkOption {
|
||||||
description = "Whether to install minecraft launcher";
|
description = "Whether to install minecraft launcher";
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
ps4.enable = mkOption {
|
||||||
|
description = "Whether to install ps4 emulator";
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
|
|
||||||
gamescope.enable = mkOption {
|
gamescope.enable = mkOption {
|
||||||
description = "Whether to install gamescope";
|
description = "Whether to install gamescope";
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
{ lib
|
{ lib
|
||||||
, pkgs
|
, pkgs
|
||||||
|
, config
|
||||||
, ...
|
, ...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@@ -19,5 +20,15 @@ in
|
|||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
};
|
};
|
||||||
|
kicad = mkOption {
|
||||||
|
description = "Whether to install kicad";
|
||||||
|
type = types.bool;
|
||||||
|
default = cfg.enable;
|
||||||
|
};
|
||||||
|
logisim = mkOption {
|
||||||
|
description = "Whether to install logisim";
|
||||||
|
type = types.bool;
|
||||||
|
default = cfg.enable;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,6 +21,12 @@ in
|
|||||||
type = types.enum [ "alacritty" "kitty" ];
|
type = types.enum [ "alacritty" "kitty" ];
|
||||||
default = "alacritty";
|
default = "alacritty";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
font = mkOption {
|
||||||
|
description = "Which font to use in terminal";
|
||||||
|
type = types.enum [ "default" "codelia" ];
|
||||||
|
default = "codelia";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,4 +4,5 @@
|
|||||||
llama-cpp = import ./llama-cpp.nix { inherit inputs; };
|
llama-cpp = import ./llama-cpp.nix { inherit inputs; };
|
||||||
printrun = import ./printrun.nix { inherit inputs; };
|
printrun = import ./printrun.nix { inherit inputs; };
|
||||||
citrix = import ./citrix.nix;
|
citrix = import ./citrix.nix;
|
||||||
|
shadps4 = import ./shadps4.nix;
|
||||||
}
|
}
|
||||||
|
|||||||
15
overlays/shadps4.nix
Normal file
15
overlays/shadps4.nix
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
final: prev: {
|
||||||
|
shadps4 = prev.shadps4.overrideAttrs (old: {
|
||||||
|
version = "0.6.0";
|
||||||
|
|
||||||
|
src = prev.fetchFromGitHub {
|
||||||
|
owner = "shadps4-emu";
|
||||||
|
repo = "shadps4";
|
||||||
|
rev = "15d10e47ea272b1b4c8bf97f2b3bbb406d34b213";
|
||||||
|
fetchSubmodules = true;
|
||||||
|
hash = "sha256-ksIKmijWcRMhCDEi/dodZHiEoIO3CB0BkGn698J7jxI=";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [];
|
||||||
|
});
|
||||||
|
}
|
||||||
36
pkgs/gazou.nix
Normal file
36
pkgs/gazou.nix
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, cmake
|
||||||
|
, pkg-config
|
||||||
|
, tesseract4
|
||||||
|
, leptonica
|
||||||
|
, libsForQt5
|
||||||
|
}:
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "gazou";
|
||||||
|
version = "0.3.3";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "kamui-fin";
|
||||||
|
repo = "gazou";
|
||||||
|
rev = "7dd023fc78566f2911250f4b8550b0a33a943bb3";
|
||||||
|
hash = "sha256-6auc5i6b7r4knzen4TCq2mTdbiv+qCD0mWE3LNyh2J4=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake ];
|
||||||
|
buildInputs = [
|
||||||
|
pkg-config
|
||||||
|
tesseract4
|
||||||
|
leptonica
|
||||||
|
libsForQt5.qt5.qtbase
|
||||||
|
libsForQt5.qt5.qtdeclarative
|
||||||
|
];
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
|
"-DGUI=OFF"
|
||||||
|
];
|
||||||
|
|
||||||
|
dontWrapQtApps = true;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -11,7 +11,8 @@ rustPlatform.buildRustPackage {
|
|||||||
hash = "sha256-exMmqOkDKuyAEdda8gG/uF3+tnQzhJnOJK+sEtZbsZc=";
|
hash = "sha256-exMmqOkDKuyAEdda8gG/uF3+tnQzhJnOJK+sEtZbsZc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoHash = "sha256-z3apcltBKNovwo+yOHxvzn53PPefr2lEzkGst25fGsM=";
|
useFetchCargoVendor = true;
|
||||||
|
cargoHash = "sha256-4x9kEBnYPhhYej0mNmV7jibw6sH8SxVau9tIkIVTen8=";
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Smol program to read in relevant desktop files and print them in a kickoff compatible format";
|
description = "Smol program to read in relevant desktop files and print them in a kickoff compatible format";
|
||||||
|
|||||||
109
pkgs/shadps4.nix
Normal file
109
pkgs/shadps4.nix
Normal file
@@ -0,0 +1,109 @@
|
|||||||
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, llvmPackages_18
|
||||||
|
, cmake
|
||||||
|
, pkg-config
|
||||||
|
, git
|
||||||
|
, qt6
|
||||||
|
, alsa-lib
|
||||||
|
, libpulseaudio
|
||||||
|
, openal
|
||||||
|
, openssl
|
||||||
|
, zlib
|
||||||
|
, libedit
|
||||||
|
, udev
|
||||||
|
, libevdev
|
||||||
|
, SDL2
|
||||||
|
, jack2
|
||||||
|
, sndio
|
||||||
|
, vulkan-headers
|
||||||
|
, vulkan-utility-libraries
|
||||||
|
, vulkan-tools
|
||||||
|
, ffmpeg
|
||||||
|
, fmt
|
||||||
|
, glslang
|
||||||
|
, libxkbcommon
|
||||||
|
, wayland
|
||||||
|
, xorg
|
||||||
|
, sdl3
|
||||||
|
, stb
|
||||||
|
, wayland-protocols
|
||||||
|
, libpng
|
||||||
|
}:
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
pname = "shadps4";
|
||||||
|
version = "0.6.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "shadps4-emu";
|
||||||
|
repo = "shadPS4";
|
||||||
|
rev = "9061028ce588037fa6f467cd2c0740d10ed725ed";
|
||||||
|
hash = "sha256-XhfJx1sDFz+RwhwcBA8W6WV6y1rDDvpyQe3v3NaSu2I=";
|
||||||
|
fetchSubmodules = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
llvmPackages_18.clang
|
||||||
|
cmake
|
||||||
|
pkg-config
|
||||||
|
git
|
||||||
|
qt6.wrapQtAppsHook
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
alsa-lib
|
||||||
|
libpulseaudio
|
||||||
|
openal
|
||||||
|
openssl
|
||||||
|
zlib
|
||||||
|
libedit
|
||||||
|
udev
|
||||||
|
libevdev
|
||||||
|
SDL2
|
||||||
|
jack2
|
||||||
|
sndio
|
||||||
|
qt6.qtbase
|
||||||
|
qt6.qttools
|
||||||
|
qt6.qtmultimedia
|
||||||
|
|
||||||
|
vulkan-headers
|
||||||
|
vulkan-utility-libraries
|
||||||
|
vulkan-tools
|
||||||
|
|
||||||
|
ffmpeg
|
||||||
|
fmt
|
||||||
|
glslang
|
||||||
|
libxkbcommon
|
||||||
|
wayland
|
||||||
|
xorg.libxcb
|
||||||
|
xorg.xcbutil
|
||||||
|
xorg.xcbutilkeysyms
|
||||||
|
xorg.xcbutilwm
|
||||||
|
sdl3
|
||||||
|
stb
|
||||||
|
qt6.qtwayland
|
||||||
|
wayland-protocols
|
||||||
|
libpng
|
||||||
|
];
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
|
(lib.cmakeBool "ENABLE_QT_GUI" true)
|
||||||
|
(lib.cmakeBool "ENABLE_UPDATER" false)
|
||||||
|
];
|
||||||
|
|
||||||
|
cmakeBuildType = "RelWithDebugInfo";
|
||||||
|
dontStrip = true;
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
install -D -t $out/bin shadps4
|
||||||
|
install -Dm644 $src/.github/shadps4.png $out/share/icons/hicolor/512x512/apps/net.shadps4.shadPS4.png
|
||||||
|
install -Dm644 -t $out/share/applications $src/dist/net.shadps4.shadPS4.desktop
|
||||||
|
install -Dm644 -t $out/share/metainfo $src/dist/net.shadps4.shadPS4.metainfo.xml
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
}
|
||||||
31
secrets/shared/Codelia-Bold
Normal file
31
secrets/shared/Codelia-Bold
Normal file
File diff suppressed because one or more lines are too long
31
secrets/shared/Codelia-BoldItalic
Normal file
31
secrets/shared/Codelia-BoldItalic
Normal file
File diff suppressed because one or more lines are too long
31
secrets/shared/Codelia-Italic
Normal file
31
secrets/shared/Codelia-Italic
Normal file
File diff suppressed because one or more lines are too long
31
secrets/shared/Codelia-Regular
Normal file
31
secrets/shared/Codelia-Regular
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user