some stuff

This commit is contained in:
xunuwu 2024-05-21 22:15:08 +02:00
parent cd8343c0c4
commit d2fd9fda8a
Signed by: xun
SSH key fingerprint: SHA256:Uot/1WoAjWAeqLOHA5vYy4phhVydsH7jCPmBjaPZfgI
26 changed files with 377 additions and 83 deletions

View file

@ -6,6 +6,10 @@ keys:
- &hopper age15mgf89h220puhz48rjpwxwu4n2h4edur60w6cd8gku2hh4e5kqpsghvnyw - &hopper age15mgf89h220puhz48rjpwxwu4n2h4edur60w6cd8gku2hh4e5kqpsghvnyw
creation_rules: creation_rules:
- path_regex: home/secrets
key_groups:
- age:
- *xun
- path_regex: secrets/global - path_regex: secrets/global
key_groups: key_groups:
- age: - age:

102
flake.lock generated
View file

@ -10,11 +10,11 @@
"systems": "systems" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1714136352, "lastModified": 1715290355,
"narHash": "sha256-BtWQ2Th/jamO1SlD+2ASSW5Jaf7JhA/JLpQHk0Goqpg=", "narHash": "sha256-2T7CHTqBXJJ3ZC6R/4TXTcKoXWHcvubKNj9SfomURnw=",
"owner": "ryantm", "owner": "ryantm",
"repo": "agenix", "repo": "agenix",
"rev": "24a7ea390564ccd5b39b7884f597cfc8d7f6f44e", "rev": "8d37c5bdeade12b6479c85acd133063ab53187a0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -77,11 +77,11 @@
}, },
"locked": { "locked": {
"dir": "pkgs/firefox-addons", "dir": "pkgs/firefox-addons",
"lastModified": 1714881816, "lastModified": 1716264197,
"narHash": "sha256-RRl1dRNYQf44sMhoDYZgCxIUOsnsToouIfLc00LKUu0=", "narHash": "sha256-ryPizz6evZsfAjFjUWgxCVzBZ9m1BDVKlMomOHze8VE=",
"owner": "rycee", "owner": "rycee",
"repo": "nur-expressions", "repo": "nur-expressions",
"rev": "0f9e3fa02a77158755a76689a4e7e849c7a3e6e8", "rev": "cccd903ebbe5837579d6746ac430beec60d96c19",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@ -186,11 +186,11 @@
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
}, },
"locked": { "locked": {
"lastModified": 1714641030, "lastModified": 1715865404,
"narHash": "sha256-yzcRNDoyVP7+SCNX0wmuDju1NUCt8Dz9+lyUXEI0dbI=", "narHash": "sha256-/GJvTdTpuDjNn84j82cU6bXztE0MSkdnTWClUCRub78=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "e5d10a24b66c3ea8f150e47dfdb0416ab7c3390e", "rev": "8dc45382d5206bd292f9c2768b8058a8fd8311d9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -252,11 +252,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1712014858, "lastModified": 1714641030,
"narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", "narHash": "sha256-yzcRNDoyVP7+SCNX0wmuDju1NUCt8Dz9+lyUXEI0dbI=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", "rev": "e5d10a24b66c3ea8f150e47dfdb0416ab7c3390e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -358,11 +358,11 @@
}, },
"hardware": { "hardware": {
"locked": { "locked": {
"lastModified": 1714885415, "lastModified": 1716173274,
"narHash": "sha256-LG+2IVqVi1fy724rSDAkgqae+f47fGGko4cJhtkN8PE=", "narHash": "sha256-FC21Bn4m6ctajMjiUof30awPBH/7WjD0M5yqrWepZbY=",
"owner": "nixos", "owner": "nixos",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "753176b57b3fcddb140c1c012868e62c025120bd", "rev": "d9e0b26202fd500cf3e79f73653cce7f7d541191",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -483,11 +483,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1714900398, "lastModified": 1715930644,
"narHash": "sha256-H7XYHpjk1G6dkA3AnbYrKtaTFjcCE7ul6nUVlVQxtsA=", "narHash": "sha256-W9pyM3/vePxrffHtzlJI6lDS3seANQ+Nqp+i58O46LI=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "fdaaf543bad047639ef0b356ea2e6caec2f1215c", "rev": "e3ad5108f54177e6520535768ddbf1e6af54b59d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -554,11 +554,11 @@
}, },
"locked": { "locked": {
"dir": "contrib", "dir": "contrib",
"lastModified": 1714495065, "lastModified": 1715815279,
"narHash": "sha256-Cu9S+pCbATo1z4g3fI3lZ0nYNYe2IB7D5DD48NKESNA=", "narHash": "sha256-Pf7ZlqPnr195NZb5ADzMVsXurPMjRZ+JMXf6JxvXArE=",
"owner": "neovim", "owner": "neovim",
"repo": "neovim", "repo": "neovim",
"rev": "cb24a3907c8d24a898d99042f0f16c8919a2e7ab", "rev": "9ca81b025990911c2a0dbda92af39ba84983bac3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -599,11 +599,11 @@
"nixpkgs": "nixpkgs_4" "nixpkgs": "nixpkgs_4"
}, },
"locked": { "locked": {
"lastModified": 1714521880, "lastModified": 1715817852,
"narHash": "sha256-qTlLUrvsSZIFD/dRNV+ogFfuQL5eU97AP4dXgVCzMek=", "narHash": "sha256-UH5o7hT72oAavJTG2NxlpMyQe3BQMniQAsgTugWtlc4=",
"owner": "nix-community", "owner": "nix-community",
"repo": "neovim-nightly-overlay", "repo": "neovim-nightly-overlay",
"rev": "bb3bf108cacfd4a21dc0f10f2bcb8937d4ce4d15", "rev": "7b5ca2486bba58cac80b9229209239740b67cf90",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -619,11 +619,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1714878592, "lastModified": 1716170277,
"narHash": "sha256-E68C03sYRsYFsK7wiGHUIJm8IsyPRALOrFoTL0glXnI=", "narHash": "sha256-fCAiox/TuzWGVaAz16PxrR4Jtf9lN5dwWL2W74DS0yI=",
"owner": "Mic92", "owner": "Mic92",
"repo": "nix-index-database", "repo": "nix-index-database",
"rev": "a362555e9dbd4ecff3bb98969bbdb8f79fe87f10", "rev": "e0638db3db43b582512a7de8c0f8363a162842b9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -639,11 +639,11 @@
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs_2"
}, },
"locked": { "locked": {
"lastModified": 1714872267, "lastModified": 1716254495,
"narHash": "sha256-G04hUZnX7rrJ5a9A2OqrKZ1x25svs2xpGDrP2ExExUg=", "narHash": "sha256-2cOTkGglFvwxnVpK1BiIU1ZTT7P0qGxW99UCPoDPBxI=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-vscode-extensions", "repo": "nix-vscode-extensions",
"rev": "7d48b70548c01495e9d434db3a89f61600ca4aca", "rev": "deab460d7d0ec00eb7bd7b87044882c7ddfbf293",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -682,11 +682,11 @@
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1714858427, "lastModified": 1716061101,
"narHash": "sha256-tCxeDP4C1pWe2rYY3IIhdA40Ujz32Ufd4tcrHPSKx2M=", "narHash": "sha256-H0eCta7ahEgloGIwE/ihkyGstOGu+kQwAiHvwVoXaA0=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "b980b91038fc4b09067ef97bbe5ad07eecca1e76", "rev": "e7cc61784ddf51c81487637b3031a6dd2d6673a2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -714,11 +714,11 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1714763106, "lastModified": 1716137900,
"narHash": "sha256-DrDHo74uTycfpAF+/qxZAMlP/Cpe04BVioJb6fdI0YY=", "narHash": "sha256-sowPU+tLQv8GlqtVtsXioTKeaQvlMz/pefcdwg8MvfM=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e9be42459999a253a9f92559b1f5b72e1b44c13d", "rev": "6c0b7a92c30122196a761b440ac0d46d3d9954f1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -730,11 +730,11 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1714314149, "lastModified": 1715774670,
"narHash": "sha256-yNAevSKF4krRWacmLUsLK7D7PlfuY3zF0lYnGYNi9vQ=", "narHash": "sha256-iJYnKMtLi5u6hZhJm94cRNSDG5Rz6ZzIkGbhPFtDRm0=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "cf8cc1201be8bc71b7cbbbdaf349b22f4f99c7ae", "rev": "b3fcfcfabd01b947a1e4f36622bbffa3985bdac6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -746,11 +746,11 @@
}, },
"nixpkgs_5": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1714809261, "lastModified": 1716062047,
"narHash": "sha256-hfBmnYFyz9I1mdrC3tX1A+dF9cOUcds5PIMPxrT+cRk=", "narHash": "sha256-OhysviwHQz4p2HZL4g7XGMLoUbWMjkMr/ogaR3VUYNA=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "d32560238207b8e26d88b265207b216ee46b8450", "rev": "02923630b89aa1ab36ef8e422501a6f4fd4b2016",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -762,11 +762,11 @@
}, },
"nur": { "nur": {
"locked": { "locked": {
"lastModified": 1714905988, "lastModified": 1716316781,
"narHash": "sha256-mzrMNxQ/DXuwJEOeG+hn+o+SXBMTbJgGKSxcoHV11P4=", "narHash": "sha256-ybuEOdUtk7/X9GjZp72npoSk5GHT+9jpL7aPoXaTu7A=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "57486a778b5614bbdfc96aad2b3585ef60f18c96", "rev": "83bfd9ae2490c05fac7381100a13211cd27c3109",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -801,11 +801,11 @@
"utils": "utils_2" "utils": "utils_2"
}, },
"locked": { "locked": {
"lastModified": 1714800865, "lastModified": 1716315549,
"narHash": "sha256-jtHBKMXVECZKjVLSKeDhbdDiKp6jwjSexZZ6zQrFQqs=", "narHash": "sha256-WvNl8Mr9OJxTrk8uZ1v/Qqj9PRHL/xrRSuJqMSlfkG4=",
"owner": "xunuwu", "owner": "xunuwu",
"repo": "small-nvim", "repo": "small-nvim",
"rev": "44af854f5d740323f634bce3ee73841aa0492cff", "rev": "7a3db695c926e9eb70d01efe8c29539200b2f306",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -820,11 +820,11 @@
"nixpkgs-stable": "nixpkgs-stable" "nixpkgs-stable": "nixpkgs-stable"
}, },
"locked": { "locked": {
"lastModified": 1714878026, "lastModified": 1716244104,
"narHash": "sha256-YJ1k/jyd6vKqmVgGkkAb4n+ZfPPAt8+L5a73eAThqFU=", "narHash": "sha256-XXbqfkyWe0d0O+zqRQWi2oXi6wYDmTzXedFkBRwx1VI=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "10dc39496d5b027912038bde8d68c836576ad0bc", "rev": "fddd52460e3332eedd8a0043af5675338a5b3e0b",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -11,6 +11,7 @@
../. ../.
./nixdesk ./nixdesk
inputs.nix-index-database.hmModules.nix-index inputs.nix-index-database.hmModules.nix-index
inputs.sops-nix.homeManagerModules.sops
{ {
programs.nix-index.enableZshIntegration = false; programs.nix-index.enableZshIntegration = false;
programs.nix-index.enableBashIntegration = false; programs.nix-index.enableBashIntegration = false;
@ -20,6 +21,7 @@
"xun@hopper" = [ "xun@hopper" = [
../. ../.
./hopper ./hopper
inputs.sops-nix.homeManagerModules.sops
]; ];
}; };

View file

@ -2,10 +2,13 @@
imports = [ imports = [
./kanshi.nix ./kanshi.nix
./defaults.nix ./defaults.nix
../../secrets
../../terminal ../../terminal
../../terminal/programs/zellij.nix ../../terminal/programs/zellij.nix
../../editors/nvim.nix ../../editors/nvim.nix
../../editors/emacs.nix #../../editors/emacs.nix
../../editors/vscode.nix ../../editors/vscode.nix
../../programs/browsers/firefox.nix ../../programs/browsers/firefox.nix
../../programs/browsers/chromium.nix ../../programs/browsers/chromium.nix
@ -24,6 +27,7 @@
# programs # programs
../../programs/misc/keepassxc.nix ../../programs/misc/keepassxc.nix
../../programs/misc/discord.nix ../../programs/misc/discord.nix
../../programs/misc/ardour.nix
../../programs/misc/foliate.nix ../../programs/misc/foliate.nix
../../programs/misc/obsidian.nix ../../programs/misc/obsidian.nix
../../programs/misc/thunderbird.nix ../../programs/misc/thunderbird.nix

View file

@ -2,17 +2,21 @@
services.kanshi = { services.kanshi = {
enable = true; enable = true;
systemdTarget = "hyprland-session.target"; systemdTarget = "hyprland-session.target";
profiles."default" = { settings = [
outputs = [ {
{ profile.name = "default";
criteria = "DP-3"; profile.outputs = [
mode = "1920x1080@165Hz"; {
} criteria = "DP-3";
{ mode = "1920x1080@165Hz";
criteria = "HDMI-A-1"; position = "0,0";
position = "1920,0"; }
} {
]; criteria = "HDMI-A-1";
}; position = "1920,0";
}
];
}
];
}; };
} }

View file

@ -272,6 +272,7 @@
"$mainMod SHIFT, F, fakefullscreen" "$mainMod SHIFT, F, fakefullscreen"
"$mainMod, P, exec, ${lib.getExe pkgs.fuzzel}" "$mainMod, P, exec, ${lib.getExe pkgs.fuzzel}"
"$mainMod SHIFT, V, exec, ${lib.getExe pkgs.cliphist} list | ${lib.getExe pkgs.wofi} --dmenu | ${lib.getExe pkgs.cliphist} decode | ${pkgs.wl-clipboard}/bin/wl-copy" "$mainMod SHIFT, V, exec, ${lib.getExe pkgs.cliphist} list | ${lib.getExe pkgs.wofi} --dmenu | ${lib.getExe pkgs.cliphist} decode | ${pkgs.wl-clipboard}/bin/wl-copy"
"$mainMod SHIFT, S, exec, ${lib.getExe pkgs.grimblast} --freeze copy area"
"$mainMod, N, togglesplit" "$mainMod, N, togglesplit"
"$mainMod SHIFT, N, swapsplit" "$mainMod SHIFT, N, swapsplit"

View file

@ -25,7 +25,7 @@
qt = { qt = {
enable = true; enable = true;
platformTheme = "gtk3"; platformTheme.name = "gtk3";
style = { style = {
name = "Adwaita-dark"; name = "Adwaita-dark";
package = pkgs.adwaita-qt; package = pkgs.adwaita-qt;

View file

@ -1,9 +1,13 @@
{pkgs, ...}: { {
pkgs,
self,
...
}: {
home.packages = with pkgs; [ home.packages = with pkgs; [
heroic heroic
lutris lutris
prismlauncher prismlauncher
gamescope self.packages.${pkgs.system}.gamesand
]; ];
programs.mangohud.enable = true; programs.mangohud.enable = true;
} }

View file

@ -0,0 +1,7 @@
{pkgs, ...}: {
home.packages = with pkgs; [
ardour
lsp-plugins
sunvox
];
}

9
home/secrets/default.nix Normal file
View file

@ -0,0 +1,9 @@
{config, ...}: {
sops = {
age.keyFile = "${config.home.homeDirectory}/.config/sops/age/keys.txt";
};
imports = [
./wakatime.nix
];
}

20
home/secrets/wakatime Normal file
View file

@ -0,0 +1,20 @@
{
"data": "ENC[AES256_GCM,data:C2L6jTyiwlFwW8Ss0oHcs+Uq/Lt+y7eo9+7OqU5+GRgqzsMNUzTZXk6J20A0Ent6uEp/R2RdfUThBPWEgrIEHuTxGPhE/xMkWxSPWp72U2vPDw2PX6xaj4NZ2uTJVIzzGUKARA==,iv:V0NKo09OMLIhVFaK43JLTTy+etvJn/Ez4UHTb8prQDY=,tag:Ti/Vnu2UC7MbTwIWqP2U7A==,type:str]",
"sops": {
"kms": null,
"gcp_kms": null,
"azure_kv": null,
"hc_vault": null,
"age": [
{
"recipient": "age17pdqkpfh6kc6wm7gxzdnwf6vphlwddv9yfpdu3j76e24y3amd9tq3avfc8",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnOEEwKzRKc1FPSGlHbXk0\ncnQvN2oyRERxY0d5eEdmczBpYlZrb2M0eVcwCjNrTUc2dEcyYkFwMERTSEVnTldy\nWHhjeXVkOGFGRUdoM3dIdlJiZmRFTUUKLS0tIGM0S2MxZUYvUCtIZ3pKbDl1Vi9S\nNVQ4Yk5BWFlRK1RZNWtCNDltemxtaTQKFggxv58s2w9VTvQUZPv9ryzxRinGBz8s\n62TOAVxlWL3EdUqWd7o8kK83Ryw+Vor7Rjoe6ee9RSRNJSDmEPjJCA==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2024-05-21T18:41:29Z",
"mac": "ENC[AES256_GCM,data:SMelsZxZPQHkbNckfodg7tm99SGCoFflI6I1T+z3jafcMVUNbKj5H5BqSIqerDivsgXS4q7p83si6cvVcx3ePqvmSkeCjCxq2f+txmuDVYfqBJq3SvQ6C9zTnSYcefDYMaWFSGR8Yvw3zCH45s94DeGl3F5eo2HEV1S8M+7eos4=,iv:og+kLgKE4U3F84psUiobkd1cJSqLIu+Pu4W54x3twyM=,tag:uJDTfWtMhiQDAsLB9zpYFQ==,type:str]",
"pgp": null,
"unencrypted_suffix": "_unencrypted",
"version": "3.8.1"
}
}

View file

@ -0,0 +1,7 @@
{config, ...}: {
sops.secrets.wakatime = {
format = "binary";
sopsFile = ./wakatime;
path = "${config.home.homeDirectory}/.wakatime.cfg";
};
}

View file

@ -44,6 +44,8 @@ in {
"${self}/secrets" "${self}/secrets"
"${self}/secrets/nixdesk" "${self}/secrets/nixdesk"
"${mod}/network/wifi.nix"
"${mod}/services/syncthing.nix" "${mod}/services/syncthing.nix"
"${mod}/services/virt/podman.nix" "${mod}/services/virt/podman.nix"
"${mod}/services/virt/waydroid.nix" "${mod}/services/virt/waydroid.nix"
@ -52,6 +54,7 @@ in {
"${mod}/desktop/x11/nosleep.nix" "${mod}/desktop/x11/nosleep.nix"
"${mod}/programs/gamemode.nix" "${mod}/programs/gamemode.nix"
"${mod}/programs/gamescope.nix"
"${mod}/programs/steam.nix" "${mod}/programs/steam.nix"
{ {
@ -65,6 +68,7 @@ in {
hopper = { hopper = {
deployment = { deployment = {
targetUser = "xun"; targetUser = "xun";
targetHost = "hopper.local";
}; };
imports = [ imports = [
./hopper ./hopper

View file

@ -4,7 +4,17 @@
config, config,
... ...
}: { }: {
networking.firewall.allowedTCPPorts = [4444]; networking.firewall.allowedTCPPorts = [
4444
];
systemd.services."static-web-server".after = ["brawlstats.timer"];
services.static-web-server = {
enable = true;
root = "/var/lib/brawlstats";
listen = "[::]:3434";
};
systemd.sockets."brawlstats-web" = { systemd.sockets."brawlstats-web" = {
wantedBy = ["sockets.target"]; wantedBy = ["sockets.target"];
@ -31,7 +41,7 @@
set xlabel 'Time' set xlabel 'Time'
set ylabel 'Trophies' set ylabel 'Trophies'
set term svg set term svg
plot "/dev/stdin" using 1:2 with linespoints title 'Data' plot "/dev/stdin" using 1:2 with linespoints notitle
''} # 2>/dev/null ''} # 2>/dev/null
} }

View file

@ -1,10 +1,16 @@
{inputs, ...}: { {
inputs,
config,
pkgs,
...
}: {
imports = [ imports = [
inputs.hardware.nixosModules.common-cpu-amd inputs.hardware.nixosModules.common-cpu-amd
inputs.hardware.nixosModules.common-gpu-amd inputs.hardware.nixosModules.common-gpu-amd
inputs.hardware.nixosModules.common-pc-ssd inputs.hardware.nixosModules.common-pc-ssd
./gigabyte-b550-fix.nix ./gigabyte-b550-fix.nix
]; ];
boot = { boot = {
initrd = { initrd = {
availableKernelModules = [ availableKernelModules = [
@ -18,6 +24,9 @@
kernelModules = ["amdgpu"]; kernelModules = ["amdgpu"];
}; };
kernelModules = ["kvm-amd"]; kernelModules = ["kvm-amd"];
extraModulePackages = with config.boot.kernelPackages; [
rtl88xxau-aircrack # usb wifi card
];
loader = { loader = {
timeout = 10; timeout = 10;
systemd-boot = { systemd-boot = {

View file

@ -1,3 +1,4 @@
{pkgs, ...}: { {pkgs, ...}: {
jdnbtexplorer = pkgs.qt6Packages.callPackage ./jdnbtexplorer {}; jdnbtexplorer = pkgs.qt6Packages.callPackage ./jdnbtexplorer {};
gamesand = pkgs.callPackage ./gamesand {};
} }

24
pkgs/gamesand/default.nix Normal file
View file

@ -0,0 +1,24 @@
{
steamPackages,
symlinkJoin,
}:
symlinkJoin {
name = "gamesand";
paths = [
((steamPackages.steam-fhsenv-without-steam.override
{
extraBwrapArgs = [
"--ro-bind ./files /game/files"
"--bind ./appdata /home/$USER"
"--chdir /game"
"--ro-bind ./start.sh /game/start.sh"
"--cap-add ALL"
];
})
.run)
];
postBuild = ''
mv $out/bin/steam-run $out/bin/gamesand
sed -i 's/ignored=(\/nix \/dev \/proc \/etc )/ignored=(\/nix \/dev \/proc \/etc \/home )/' $out/bin/gamesand
'';
}

View file

@ -1,5 +1,5 @@
{ {
"data": "ENC[AES256_GCM,data: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,iv:U46fOpIzufGktwUAl8ISu+2yxFx9RDNQols5hroL/7c=,tag:fm6C4jjb6HTQP2bnr8Ikuw==,type:str]", "data": "ENC[AES256_GCM,data:TmpYiFqXu3yz4IluJ9DVH0TU05YL1NBsEcRb73vx4j45Q/aWQPA7V18+xz79t9HbFWekaLe9tPMgeiVF5uuK8qSufg==,iv:KBf+q3YSO+38HdkRt0/Hmp5Jhaw/2Cl4PzYkhtsRoM4=,tag:ZSySMXU11lvA+Tv3NKc64Q==,type:str]",
"sops": { "sops": {
"kms": null, "kms": null,
"gcp_kms": null, "gcp_kms": null,
@ -15,8 +15,8 @@
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB4cFRKMEQxMnlsZlpWUVMr\nMUtOTjF6RWRZdHdMbzh4ZGpkelc3cEZyRWxrClVOSy9kNXB6OGpVNHhSRnQrdU5y\nV3JiVDNVTThpSTVzSnliY1ZBOFFQY28KLS0tIHd1NEo2VTd0WXJ4eU9KdjlKSHpJ\nOC9XRDhaNmNOOEJoOS8remF6d2szTncKG/uzlIbBX7gFBcUTXzstarnBeiUB0Cdn\nQjT1nFNFGR09WDtJROuTPYS6GFmEmlGwX84dGsIQpIjyN3XPSzsrxQ==\n-----END AGE ENCRYPTED FILE-----\n" "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB4cFRKMEQxMnlsZlpWUVMr\nMUtOTjF6RWRZdHdMbzh4ZGpkelc3cEZyRWxrClVOSy9kNXB6OGpVNHhSRnQrdU5y\nV3JiVDNVTThpSTVzSnliY1ZBOFFQY28KLS0tIHd1NEo2VTd0WXJ4eU9KdjlKSHpJ\nOC9XRDhaNmNOOEJoOS8remF6d2szTncKG/uzlIbBX7gFBcUTXzstarnBeiUB0Cdn\nQjT1nFNFGR09WDtJROuTPYS6GFmEmlGwX84dGsIQpIjyN3XPSzsrxQ==\n-----END AGE ENCRYPTED FILE-----\n"
} }
], ],
"lastmodified": "2024-04-25T17:26:01Z", "lastmodified": "2024-05-18T18:34:30Z",
"mac": "ENC[AES256_GCM,data:0cd3iDduaZ5MPt+tIVvNixjd3WaqBVbh/aRKHGOY/BdkWdZ8jcXIdUIOSy+4AtFhLKBq/+UQNbXwwCdn6gJcVX7ATVB3w2b7YX4KqruKIPOt3UPu3s6GGlnf4xhQhfXYmy/NnAYpNFpAv/eli80S8AK4Nuo7FA2dGgXBqo0OX38=,iv:E5sI0X/0dnuCJ5ZCkpLXpX7dAS5NkxKgAt8JcGCcooI=,tag:Es/SwUeGiB/ewgPfZHuaaA==,type:str]", "mac": "ENC[AES256_GCM,data:ay8ylTBNXr37TCDqDAkbQ4NcCklv8tUJUUpQZTQCgMHHWtCr0wLCyTUPNUOoHOkjJPAZtDuAXVuG5UPGv93gdZOVXlWpFfZt2Je6YBhcP3HLYXgLNLoPPhqqwnyz30ec7Ux4sx7SyLFWPe+0vV0wv8VFzoI731nhgY88McofvC8=,iv:tCZ/uYsu5rWRf3CburxHOx+3+scZZ0JwLEn/BqCoGsY=,tag:rlkeDvJcUASA4kaizCtj7w==,type:str]",
"pgp": null, "pgp": null,
"unencrypted_suffix": "_unencrypted", "unencrypted_suffix": "_unencrypted",
"version": "3.8.1" "version": "3.8.1"

View file

@ -70,5 +70,10 @@
format = "binary"; format = "binary";
sopsFile = ./brawlstars; sopsFile = ./brawlstars;
}; };
wakapi = {
format = "binary";
sopsFile = ./wakapi;
mode = "004";
};
}; };
} }

24
secrets/hopper/wakapi Normal file

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,24 @@
{
"data": "ENC[AES256_GCM,data:1XGfHkj/Q0PLetEQQpw2FqQaHKwl3YI52iU8Gr+rGI0dAESdRqbs9vmE44heaSXxDzVqQ2ILMKb0lQvJ9ClzOLnms5DU0nAGxX3JxLJPtvJSpMwSV18pPjkQHj9h4sjNZXkxZ9dT9bxM0mhgYFMQLK+KOJhZHDQztKza7An9y1wtnrVJ5/6I4VgIVHn7C4gFXhNE4AM51WUA4Mp7NsMevjr7EFXPiHw5JjwHeWDWNAmi4h1YTqulLd+zw85OYymx+PJYaX7yjoZmT7N28SvOQ1z9HtFXhvYR15IHt1iTEBMhhwGd72JAVLm2ANBA+Udu7M9EureaKsXoeHhZRKTk/0p0OSWzpNlzsM4nW5gvOSjF135qel2mK4m/FIZ/3KKnQKkeTaSfY3gGNlYXBEL+/TK7Wj7bJiaC4j6R6ejt6Vtc0V9NqOB0d5e7FQlXWaFYnQ/iiaC8sdcVRjqNDDSnHHsFUVhZ8dcrDpKhkPRwjLxEyuWuex5m3dk0xFZDd8GIEZDjsk8BkoqaU9uKnolhtLzwU0H7qhoJgJDhqsi+ig0a/DrghmvVYifzaxqo5yaLQ8oJ1ATsu4J8cvDCnbOlpvRMy/Jmb6/ecAeBQ760+Uk2tXzh7zkRHjreSap8RSorEXa2/7B8gLGQIAW5GiZrVbCEc7gRJvxbVgTsce71qn+mMFlZO/m4sHsCKSF63RqR8QHMkOlInGFx3zib6+kYn7yjR6FkvYPgTGhhg5Yx0iyWaVjmwqEBxp5FVw==,iv:vkhJHqZmnEvRydNc1Am36V2mur+Ov8WlXSPLENAMmSU=,tag:FKeqOLirz3kPMVqUDc1QEQ==,type:str]",
"sops": {
"kms": null,
"gcp_kms": null,
"azure_kv": null,
"hc_vault": null,
"age": [
{
"recipient": "age17pdqkpfh6kc6wm7gxzdnwf6vphlwddv9yfpdu3j76e24y3amd9tq3avfc8",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBkYmVpQjBzQkhxeS9mcmt3\nYThET0FnaWZDLzliT2d0Mng3OUZmTXlhNmtBCkNoUW13enphanlhMVJ4TEJLQSt1\nY0pNVHRLYnRpeFlzTUQrQ0FGU1ViUWsKLS0tIFpzYnAzd2pxYzJVM3lWd1ZBTTh2\nTEdFS1hYMjR3UkR1SE52M2tSZStYNXcKhFZmD/xAdvVUEoc0ysR0BuzIDtXvkWyF\nPcMcjIf/1QYcuhyFXYD7KwwdsEOW+cRiLw0LHuAgLqrC05QzbO6maw==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age155sscpw0x36t6s9usdrz7relpxqrtqnk98mrc7s0qcv2n0v3zd7sfl2xn8",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA1elpxbGd5N0x5aXVKZHZ6\nVDRaUmRTaUlXdXV6TUR0ai9LR0RqdkczMlZ3Cmk2VUVibWZGT3kvZDVIS0loS1ha\nNjlnL1pOS1h6Y0FwR2IvYmcxaGRmWVEKLS0tIFN5cDl2Z0d1RmVVWktHbDBMNFpT\ncWszTUZlRFdUK2UyQ3BseW9YMEJvR1EKGQn97YqzQK2hdXhUJFmrcK41nDDOsFvY\nY8eXYvDaAFkNCFBoazPXkINVycn+9qpvu21hi8XSM1UePf5eXlBqbQ==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2024-05-12T00:49:47Z",
"mac": "ENC[AES256_GCM,data:wIDgEom4PTmHx670db0pBiQl7PyHZ9Yy9nzVg5ITXyu6WJZLaMuuoW3pUxtkB+52ZR8r66M4/fuahk6NiGlhVLCxAY+3KZk2RbwWnD43xZQ/DMQ4WOZ9e8x/rozsPsrD3QxGsZodOLxaWg3QLT4VpGDtb+zzrQn1SIMqlOMxAMk=,iv:Ira7zU+hj/cUruhhUu33PPMxVQdfm4GoPEKaq6fdtI8=,tag:h6ihTBuQl5dZCU7ZWU2vYA==,type:str]",
"pgp": null,
"unencrypted_suffix": "_unencrypted",
"version": "3.8.1"
}
}

View file

@ -4,18 +4,21 @@
format = "binary"; format = "binary";
sopsFile = ./wireguard; sopsFile = ./wireguard;
}; };
#wireguard-preshared = { wireguard-preshared = {
# format = "yaml"; key = "PresharedKey";
# sopsFile = ./wireguard.yaml;
#};
wireguard-private = {
format = "yaml";
sopsFile = ./wireguard.yaml; sopsFile = ./wireguard.yaml;
};
wireguard-private = {
key = "PrivateKey"; key = "PrivateKey";
sopsFile = ./wireguard.yaml;
}; };
cloudflare = { cloudflare = {
format = "binary"; format = "binary";
sopsFile = ./cloudflare; sopsFile = ./cloudflare;
}; };
brawlstars-api-key = {
format = "binary";
sopsFile = ./brawlstars;
};
}; };
} }

View file

@ -1 +1,8 @@
{} {
services.displayManager = {
sddm = {
enable = true;
wayland.enable = true;
};
};
}

5
system/network/wifi.nix Normal file
View file

@ -0,0 +1,5 @@
{
networking.wireless = {
iwd.enable = true;
};
}

View file

@ -0,0 +1,6 @@
{
programs.gamescope = {
enable = true;
capSysNice = true;
};
}

View file

@ -1,10 +1,12 @@
{ {
config, config,
pkgs, pkgs,
lib,
inputs,
... ...
}: { }: {
imports = [ imports = [
./smbshare.nix #./smbshare.nix
]; ];
virtualisation.podman = { virtualisation.podman = {
enable = true; enable = true;
@ -26,6 +28,7 @@
}; };
extraDomainNames = [ extraDomainNames = [
"jellyfin.xun.cam" "jellyfin.xun.cam"
"wakapi.xun.cam"
]; ];
}; };
}; };
@ -150,6 +153,10 @@
tls /etc/ssl/certs/xun.cam/cert.pem /etc/ssl/certs/xun.cam/key.pem tls /etc/ssl/certs/xun.cam/cert.pem /etc/ssl/certs/xun.cam/key.pem
reverse_proxy localhost:8096 reverse_proxy localhost:8096
} }
https://wakapi.xun.cam:8336 {
tls /etc/ssl/certs/xun.cam/cert.pem /etc/ssl/certs/xun.cam/key.pem
reverse_proxy localhost:3000
}
''}:/etc/caddy/Caddyfile" ''}:/etc/caddy/Caddyfile"
#tls /etc/ssl/certs/cloudflare/cert.pem /etc/ssl/certs/cloudflare/key.pem #tls /etc/ssl/certs/cloudflare/cert.pem /etc/ssl/certs/cloudflare/key.pem
#"${config.sops.secrets.xun-cam-cert.path}:/etc/ssl/certs/cloudflare/cert.pem" #"${config.sops.secrets.xun-cam-cert.path}:/etc/ssl/certs/cloudflare/cert.pem"
@ -271,10 +278,113 @@
"/media/config/betanin/data:/b/.local/share/betanin" "/media/config/betanin/data:/b/.local/share/betanin"
"/media/config/betanin/config:/b/.config/betanin" "/media/config/betanin/config:/b/.config/betanin"
"/media/config/betanin/beets:/b/.config/beets" "/media/config/betanin/beets:/b/.config/beets"
"${config.sops.secrets.betanin.path}:/b/.config/beets/config.yaml" "${config.sops.secrets.betanin.path}:/b/.config/beets/secrets.yaml"
"${builtins.toFile "config.yaml" ''
include:
- secrets.yaml
library: library.db
directory: /music
statefile: state.pickle
threaded: yes
import:
write: yes
copy: yes
link: no
move: no
incremental: no
paths:
default: /$albumartist/$album %aunique{}/$track $title %aunique{}
singleton: /$albumartist/$artist %aunique{}/$track $title %aunique{}
comp: /Compilation/$album %aunique{}/$track $title %aunique{}
albumtype:soundtrack: Soundtracks/$album %aunique{}/$track $title %aunique{}
clutter: ["Thumbs.DB", ".DS_Store"]
plugins: [
embedart,
fetchart,
discogs,
advancedrewrite,
lyrics,
spotify,
scrub,
]
genres: yes
spotify:
source_weight: 0.7
advancesrewrite:
artist GHOST: Ghost and Pals
embedart:
auto: yes
ifempty: no
remove_art_file: no
fetchart:
auto: yes
cautious: yes
minwidth: 500
maxwidth: 1200
cover_format: jpeg
sources:
- coverart: release
- coverart: releasegroup
- albumart
- amazon
- google
- itunes
- fanarttv
- lastfm
- wikipedia
lyrics:
fallback: '''
sources: musixmatch google
replace:
'[\\]': '''
'[_]': '-'
'[/]': '-'
'^\.': '''
'[\x00-\x1f]': '''
'[<>:"\?\*\|]': '''
'\.$': '''
'\s+$': '''
'^\s+': '''
'^-': '''
'': "'"
'': "'"
'': '''
'': '-'
aunique:
keys: albumartist albumtype year album
disambuguators: format mastering media label albumdisambig releasegroupdisambig
bracket: '[]'
''}:/b/.config/beets/config.yaml"
"/media/library/music:/music" "/media/library/music:/music"
"/media/slskd/downloads:/downloads/slskd" "/media/slskd/downloads:/downloads/slskd"
"/media/downloads/music:/downloads/misc" "/media/downloads/music:/downloads/torrent"
"/media/config/betanin/import:/downloads/import"
];
};
wakapi = {
image = "ghcr.io/muety/wakapi:latest";
volumes = [
"${config.sops.secrets.wakapi.path}:/app/config.yml"
"/media/config/wakapi:/data" # needs to be chown 1000:1000
];
dependsOn = ["gluetun"];
extraOptions = [
"--network=container:gluetun"
]; ];
}; };
}; };