diff --git a/flake.lock b/flake.lock index 5eaee06..85124d2 100644 --- a/flake.lock +++ b/flake.lock @@ -1,47 +1,5 @@ { "nodes": { - "authentik-nix": { - "inputs": { - "authentik-src": "authentik-src", - "flake-compat": "flake-compat", - "flake-parts": "flake-parts", - "flake-utils": "flake-utils", - "napalm": "napalm", - "nixpkgs": "nixpkgs", - "poetry2nix": "poetry2nix", - "systems": "systems" - }, - "locked": { - "lastModified": 1732215451, - "narHash": "sha256-P2VVlzRGKBNsiHsN1yMZcSMXpwtIx9ysMFZAqKFJ14o=", - "owner": "nix-community", - "repo": "authentik-nix", - "rev": "9d9c0a3a94a91cfed654a18239e27cf56970daa4", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "authentik-nix", - "type": "github" - } - }, - "authentik-src": { - "flake": false, - "locked": { - "lastModified": 1732213300, - "narHash": "sha256-4Pv35cnZGiTxe6j2O0F9L9sHzxVIC1SazeAUD5kWeBs=", - "owner": "goauthentik", - "repo": "authentik", - "rev": "527e584699abc93712114b05f70f59c5187caa66", - "type": "github" - }, - "original": { - "owner": "goauthentik", - "ref": "version/2024.10.4", - "repo": "authentik", - "type": "github" - } - }, "base16": { "inputs": { "fromYaml": "fromYaml" @@ -132,7 +90,7 @@ }, "firefox-addons": { "inputs": { - "flake-utils": "flake-utils_2", + "flake-utils": "flake-utils", "nixpkgs": [ "nixpkgs" ] @@ -202,22 +160,6 @@ } }, "flake-compat_4": { - "flake": false, - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_5": { "locked": { "lastModified": 1696426674, "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", @@ -231,7 +173,7 @@ "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" } }, - "flake-compat_6": { + "flake-compat_5": { "flake": false, "locked": { "lastModified": 1696426674, @@ -248,24 +190,6 @@ } }, "flake-parts": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib" - }, - "locked": { - "lastModified": 1727826117, - "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_2": { "inputs": { "nixpkgs-lib": [ "nixpkgs" @@ -285,7 +209,7 @@ "type": "github" } }, - "flake-parts_3": { + "flake-parts_2": { "inputs": { "nixpkgs-lib": [ "nvim-nix", @@ -308,27 +232,6 @@ } }, "flake-utils": { - "inputs": { - "systems": [ - "authentik-nix", - "systems" - ] - }, - "locked": { - "lastModified": 1726560853, - "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_2": { "locked": { "lastModified": 1629284811, "narHash": "sha256-JHgasjPR0/J1J3DRm4KxM4zTyAj4IOJY8vIl75v/kPI=", @@ -343,9 +246,9 @@ "type": "github" } }, - "flake-utils_3": { + "flake-utils_2": { "inputs": { - "systems": "systems_2" + "systems": "systems" }, "locked": { "lastModified": 1731533236, @@ -361,9 +264,9 @@ "type": "github" } }, - "flake-utils_4": { + "flake-utils_3": { "inputs": { - "systems": "systems_3" + "systems": "systems_2" }, "locked": { "lastModified": 1710146030, @@ -379,9 +282,9 @@ "type": "github" } }, - "flake-utils_5": { + "flake-utils_4": { "inputs": { - "systems": "systems_4" + "systems": "systems_3" }, "locked": { "lastModified": 1726560853, @@ -397,6 +300,24 @@ "type": "github" } }, + "flake-utils_5": { + "inputs": { + "systems": "systems_4" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "flake-utils_6": { "inputs": { "systems": "systems_5" @@ -416,24 +337,6 @@ } }, "flake-utils_7": { - "inputs": { - "systems": "systems_6" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_8": { "inputs": { "systems": [ "stylix", @@ -558,26 +461,6 @@ "type": "github" } }, - "haumea": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1708375098, - "narHash": "sha256-DaFJp3wDHgOqx98U0SF57bXaH2Orp106c+jSdPCVu1E=", - "owner": "nix-community", - "repo": "haumea", - "rev": "ec6350fd9353e7f27ce0e85d31f82e3ed73e4d70", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "haumea", - "type": "github" - } - }, "home-manager": { "inputs": { "nixpkgs": [ @@ -673,7 +556,7 @@ }, "microvm": { "inputs": { - "flake-utils": "flake-utils_3", + "flake-utils": "flake-utils_2", "nixpkgs": [ "nixpkgs" ], @@ -693,32 +576,6 @@ "type": "github" } }, - "napalm": { - "inputs": { - "flake-utils": [ - "authentik-nix", - "flake-utils" - ], - "nixpkgs": [ - "authentik-nix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1725806412, - "narHash": "sha256-lGZjkjds0p924QEhm/r0BhAxbHBJE1xMOldB/HmQH04=", - "owner": "willibutz", - "repo": "napalm", - "rev": "b492440d9e64ae20736d3bec5c7715ffcbde83f5", - "type": "github" - }, - "original": { - "owner": "willibutz", - "ref": "avoid-foldl-stack-overflow", - "repo": "napalm", - "type": "github" - } - }, "nix-darwin": { "inputs": { "nixpkgs": [ @@ -741,28 +598,6 @@ "type": "github" } }, - "nix-github-actions": { - "inputs": { - "nixpkgs": [ - "authentik-nix", - "poetry2nix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1729742964, - "narHash": "sha256-B4mzTcQ0FZHdpeWcpDYPERtyjJd/NIuaQ9+BV1h+MpA=", - "owner": "nix-community", - "repo": "nix-github-actions", - "rev": "e04df33f62cdcf93d73e9a04142464753a16db67", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nix-github-actions", - "type": "github" - } - }, "nix-index-database": { "inputs": { "nixpkgs": [ @@ -785,8 +620,8 @@ }, "nix-vscode-extensions": { "inputs": { - "flake-compat": "flake-compat_2", - "flake-utils": "flake-utils_4", + "flake-compat": "flake-compat", + "flake-utils": "flake-utils_3", "nixpkgs": [ "nixpkgs" ] @@ -807,8 +642,8 @@ }, "nixos-wsl": { "inputs": { - "flake-compat": "flake-compat_3", - "flake-utils": "flake-utils_5", + "flake-compat": "flake-compat_2", + "flake-utils": "flake-utils_4", "nixpkgs": [ "nixpkgs" ] @@ -829,34 +664,6 @@ } }, "nixpkgs": { - "locked": { - "lastModified": 1730200266, - "narHash": "sha256-l253w0XMT8nWHGXuXqyiIC/bMvh1VRszGXgdpQlfhvU=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "807e9154dcb16384b1b765ebe9cd2bba2ac287fd", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-lib": { - "locked": { - "lastModified": 1727825735, - "narHash": "sha256-0xHYkMkeLVQAMa7gvkddbPqpxph+hDzdu1XdGPJR+Os=", - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz" - }, - "original": { - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz" - } - }, - "nixpkgs_2": { "locked": { "lastModified": 1733392399, "narHash": "sha256-kEsTJTUQfQFIJOcLYFt/RvNxIK653ZkTBIs4DG+cBns=", @@ -872,7 +679,7 @@ "type": "github" } }, - "nixpkgs_3": { + "nixpkgs_2": { "locked": { "lastModified": 1728538411, "narHash": "sha256-f0SBJz1eZ2yOuKUr5CA9BHULGXVSn6miBuUWdTyhUhU=", @@ -888,7 +695,7 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_3": { "locked": { "lastModified": 1732238832, "narHash": "sha256-sQxuJm8rHY20xq6Ah+GwIUkF95tWjGRd1X8xF+Pkk38=", @@ -907,8 +714,8 @@ "nixvim": { "inputs": { "devshell": "devshell", - "flake-compat": "flake-compat_5", - "flake-parts": "flake-parts_3", + "flake-compat": "flake-compat_4", + "flake-parts": "flake-parts_2", "git-hooks": "git-hooks", "home-manager": "home-manager_2", "nix-darwin": "nix-darwin", @@ -917,7 +724,7 @@ "nixpkgs" ], "nuschtosSearch": "nuschtosSearch", - "treefmt-nix": "treefmt-nix_2" + "treefmt-nix": "treefmt-nix" }, "locked": { "lastModified": 1733498727, @@ -935,7 +742,7 @@ }, "nuschtosSearch": { "inputs": { - "flake-utils": "flake-utils_7", + "flake-utils": "flake-utils_6", "ixx": "ixx", "nixpkgs": [ "nvim-nix", @@ -959,8 +766,8 @@ }, "nvfetcher": { "inputs": { - "flake-compat": "flake-compat_4", - "flake-utils": "flake-utils_6", + "flake-compat": "flake-compat_3", + "flake-utils": "flake-utils_5", "nixpkgs": [ "nixpkgs" ] @@ -1000,50 +807,17 @@ "type": "github" } }, - "poetry2nix": { - "inputs": { - "flake-utils": [ - "authentik-nix", - "flake-utils" - ], - "nix-github-actions": "nix-github-actions", - "nixpkgs": [ - "authentik-nix", - "nixpkgs" - ], - "systems": [ - "authentik-nix", - "systems" - ], - "treefmt-nix": "treefmt-nix" - }, - "locked": { - "lastModified": 1730284601, - "narHash": "sha256-eHYcKVLIRRv3J1vjmxurS6HVdGphB53qxUeAkylYrZY=", - "owner": "nix-community", - "repo": "poetry2nix", - "rev": "43a898b4d76f7f3f70df77a2cc2d40096bc9d75e", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "poetry2nix", - "type": "github" - } - }, "root": { "inputs": { - "authentik-nix": "authentik-nix", "firefox-addons": "firefox-addons", - "flake-parts": "flake-parts_2", + "flake-parts": "flake-parts", "hardware": "hardware", - "haumea": "haumea", "home-manager": "home-manager", "microvm": "microvm", "nix-index-database": "nix-index-database", "nix-vscode-extensions": "nix-vscode-extensions", "nixos-wsl": "nixos-wsl", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs", "nvfetcher": "nvfetcher", "nvim-nix": "nvim-nix", "sobercookie": "sobercookie", @@ -1054,7 +828,7 @@ }, "sobercookie": { "inputs": { - "nixpkgs": "nixpkgs_3" + "nixpkgs": "nixpkgs_2" }, "locked": { "lastModified": 1731438009, @@ -1112,12 +886,12 @@ "base16-fish": "base16-fish", "base16-helix": "base16-helix", "base16-vim": "base16-vim", - "flake-compat": "flake-compat_6", - "flake-utils": "flake-utils_8", + "flake-compat": "flake-compat_5", + "flake-utils": "flake-utils_7", "gnome-shell": "gnome-shell", "home-manager": "home-manager_3", - "nixpkgs": "nixpkgs_4", - "systems": "systems_7", + "nixpkgs": "nixpkgs_3", + "systems": "systems_6", "tinted-foot": "tinted-foot", "tinted-kitty": "tinted-kitty", "tinted-tmux": "tinted-tmux" @@ -1138,16 +912,16 @@ }, "systems": { "locked": { - "lastModified": 1689347949, - "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "owner": "nix-systems", - "repo": "default-linux", - "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", "type": "github" }, "original": { "owner": "nix-systems", - "repo": "default-linux", + "repo": "default", "type": "github" } }, @@ -1226,21 +1000,6 @@ "type": "github" } }, - "systems_7": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, "tinted-foot": { "flake": false, "locked": { @@ -1292,28 +1051,6 @@ } }, "treefmt-nix": { - "inputs": { - "nixpkgs": [ - "authentik-nix", - "poetry2nix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1730120726, - "narHash": "sha256-LqHYIxMrl/1p3/kvm2ir925tZ8DkI0KA10djk8wecSk=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "9ef337e492a5555d8e17a51c911ff1f02635be15", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } - }, - "treefmt-nix_2": { "inputs": { "nixpkgs": [ "nvim-nix", diff --git a/flake.nix b/flake.nix index bd95e8f..7b05e90 100644 --- a/flake.nix +++ b/flake.nix @@ -7,7 +7,6 @@ imports = [ ./home/profiles ./nix/machines - ./home-modules ]; flake = { @@ -62,11 +61,6 @@ microvm.url = "github:astro/microvm.nix"; vpn-confinement.url = "github:Maroka-chan/VPN-Confinement"; sobercookie.url = "github:xunuwu/sobercookie"; - haumea = { - url = "github:nix-community/haumea"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - authentik-nix.url = "github:nix-community/authentik-nix"; ## deduplication flake-parts.inputs.nixpkgs-lib.follows = "nixpkgs"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; diff --git a/home-modules/default.nix b/home-modules/default.nix deleted file mode 100644 index 8f78de4..0000000 --- a/home-modules/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - flake.homeManagerModules = { - xun = import ./xun; - }; -} diff --git a/home-modules/xun/default.nix b/home-modules/xun/default.nix deleted file mode 100644 index 94b821c..0000000 --- a/home-modules/xun/default.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ - imports = [ - ./develop - ./gaming - ./programs - ./desktop - ./school - ]; -} diff --git a/home-modules/xun/desktop/default.nix b/home-modules/xun/desktop/default.nix deleted file mode 100644 index 0b82400..0000000 --- a/home-modules/xun/desktop/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: let - cfg = config.xun.desktop; -in { - options.xun.desktop = { - xdg.enable = lib.mkEnableOption "xdg env vars"; - }; - - config = lib.mkIf cfg.xdg.enable { - xdg = let - home = config.home.homeDirectory; - in { - enable = true; - cacheHome = config.home.homeDirectory + "/.local/cache"; - - userDirs = { - enable = true; - desktop = home + "/desktop"; - documents = home + "/docs"; - download = home + "/down"; - music = home + "/music"; - pictures = home + "/pics"; - publicShare = home + "/share"; - videos = home + "/vids"; - extraConfig = { - XDG_SCREENSHOTS_DIR = config.xdg.userDirs.pictures + "/screenshots"; - }; - }; - }; - - home.packages = [pkgs.xdg-utils]; - }; -} diff --git a/home-modules/xun/develop/default.nix b/home-modules/xun/develop/default.nix deleted file mode 100644 index d3f8ccb..0000000 --- a/home-modules/xun/develop/default.nix +++ /dev/null @@ -1,91 +0,0 @@ -{ - pkgs, - config, - lib, - ... -}: let - cfg = config.xun.develop; -in { - options.xun.develop = let - enableOption = default: - lib.mkOption { - inherit default; - type = lib.types.bool; - }; - in { - enable = enableOption false; - git.enable = enableOption true; - nix.enable = enableOption true; - tools.enable = enableOption true; - docs.enable = enableOption false; - devenv.enable = enableOption true; - lang = { - c.enable = enableOption false; - shell.enable = enableOption false; - zig.enable = enableOption false; - lua.enable = enableOption false; - }; - }; - - config = lib.mkIf cfg.enable ( - lib.mkMerge [ - (lib.mkIf cfg.nix.enable { - home.packages = with pkgs; [nil nixd alejandra nixfmt-rfc-style]; - }) - (lib.mkIf cfg.tools.enable { - home.packages = with pkgs; [tokei]; - }) - (lib.mkIf cfg.devenv.enable { - home.packages = with pkgs; [devenv]; - }) - (lib.mkIf cfg.git.enable { - home.packages = with pkgs; [lazygit]; - programs.gh.enable = true; - programs.gh-dash.enable = true; - - programs.git = { - enable = true; - delta.enable = true; - lfs.enable = true; - - ignores = ["*~" ".direnv"]; - - signing = { - key = "${config.home.homeDirectory}/.ssh/id_ed25519"; - signByDefault = true; - }; - - extraConfig = { - gpg.format = "ssh"; - push.autoSetupRemote = true; - pull.rebase = true; - rebase.autostash = true; - }; - - userEmail = "xunuwu@gmail.com"; - userName = "xunuwu"; - }; - }) - (lib.mkIf cfg.lang.c.enable { - home.packages = with pkgs; [clang-tools buckle gdb lldb]; - }) - (lib.mkIf cfg.lang.lua.enable { - home.packages = with pkgs; [ - stylua - lua-language-server - ]; - }) - (lib.mkIf cfg.lang.shell.enable { - home.packages = with pkgs; [ - shellcheck - ]; - }) - (lib.mkIf cfg.lang.zig.enable { - home.packages = with pkgs; [zig zls]; - }) - (lib.mkIf cfg.docs.enable { - programs.man.generateCaches = true; - }) - ] - ); -} diff --git a/home-modules/xun/gaming/default.nix b/home-modules/xun/gaming/default.nix deleted file mode 100644 index d8bf3df..0000000 --- a/home-modules/xun/gaming/default.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ - pkgs, - config, - lib, - inputs, - self, - ... -}: let - cfg = config.xun.gaming; -in { - options.xun.gaming = { - krunker.enable = lib.mkEnableOption "krunker"; - roblox.sobercookie.enable = lib.mkEnableOption "sobercookie"; - }; - config = lib.mkMerge [ - (lib.mkIf cfg.krunker.enable { - home.packages = [ - self.packages.${pkgs.system}.krunker - ]; - }) - (lib.mkIf cfg.roblox.sobercookie.enable { - home.packages = [ - inputs.sobercookie.packages.${pkgs.system}.default - ]; - }) - ]; -} diff --git a/home-modules/xun/programs/default.nix b/home-modules/xun/programs/default.nix deleted file mode 100644 index 19b2fbb..0000000 --- a/home-modules/xun/programs/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - imports = [ - ./terminal - ]; -} diff --git a/home-modules/xun/programs/terminal/default.nix b/home-modules/xun/programs/terminal/default.nix deleted file mode 100644 index 63ee73e..0000000 --- a/home-modules/xun/programs/terminal/default.nix +++ /dev/null @@ -1,155 +0,0 @@ -{ - config, - lib, - inputs, - ... -}: let - cfg = config.xun.programs.terminal; -in { - imports = [ - inputs.nix-index-database.hmModules.nix-index - ]; - - options.xun.programs.terminal = { - direnv.enable = lib.mkEnableOption "direnv"; - comma.enable = lib.mkEnableOption "comma"; - tmux.enable = lib.mkEnableOption "tmux"; - irssi.enable = lib.mkEnableOption "irssi"; - shell.zsh = { - enable = lib.mkEnableOption "zsh"; - }; - }; - - config = lib.mkMerge [ - (lib.mkIf cfg.shell.zsh.enable { - programs.fzf.enable = true; - programs.zsh = { - enable = true; - autocd = true; - enableCompletion = true; - autosuggestion.enable = true; - dotDir = ".config/zsh"; - defaultKeymap = "emacs"; - - history = { - expireDuplicatesFirst = true; - extended = true; - save = 100 * 1000; - path = "${config.xdg.dataHome}/zsh_history"; - }; - initExtra = '' - unsetopt beep - - ## KEYBINDS ## - bindkey "^[[1;5D" backward-word - bindkey "^[[1;5C" forward-word - - # improve ^w behaviour - WORDCHARS= - - # pretty completion menu - zstyle ':completion:*' menu select - - # shift-tab in completion menu - bindkey '^[[Z' reverse-menu-complete - - zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}' # Case insensitive completion - - - ## MISC ## - setopt extendedglob - - - # Show completion categories - zstyle ':completion:*:*:*:*:descriptions' format '%F{magenta}<-%d->%f' - - - ## PROMPT ## - function preexec() { - timer=$(date +%s%3N) - } - - function precmd_timer() { - if [ $timer ]; then - now=$(date +%s%3N) - elapsed=$(($now-$timer)) - - if [[ elapsed -gt 100 ]]; then - export RPROMPT="%F{cyan}''${elapsed}ms %f" - else - unset RPROMPT - fi - unset timer - fi - } - - autoload -Uz vcs_info - precmd_vcs_info() { vcs_info } - precmd_functions+=( precmd_vcs_info precmd_timer ) - zstyle ':vcs_info:git:*' formats ' %b ' - setopt prompt_subst - - PROMPT='%F{blue}[%F{magenta}%n%F{blue}@%F{magenta}%M%F{blue}] %~%f %F{green}$vcs_info_msg_0_%f%(?..%F{red}| %? )%#%f ' - ''; - }; - }) - (lib.mkIf cfg.direnv.enable { - programs.direnv = { - enable = true; - enableZshIntegration = true; - nix-direnv.enable = true; - }; - }) - (lib.mkIf cfg.comma.enable { - programs.nix-index-database.comma.enable = true; - programs.nix-index = { - enableBashIntegration = false; - enableFishIntegration = false; - enableZshIntegration = false; - }; - }) - (lib.mkIf cfg.tmux.enable { - programs.tmux = { - enable = true; - baseIndex = 1; - clock24 = true; - mouse = true; - escapeTime = 0; - extraConfig = '' - bind '"' split-window -c "#{pane_current_path}" - bind % split-window -h -c "#{pane_current_path}" - bind c new-window -c "#{pane_current_path}"; - - set -g status-style bg=default - setw -g window-status-current-style fg=#be95ff - set -g status-justify absolute-centre - set -g status-interval 5 - set -g status-right "#[fg=#25be6a]#(free -h | awk 'NR==2{print $3\"/\"$2}')" - set -ag status-right "#[fg=default] %a %d %b %H:%M" - - set-option -g default-terminal "xterm-256color" - set-option -ga terminal-overrides ",xterm-256color:Tc" - ''; - }; - }) - (lib.mkIf cfg.irssi.enable { - # TODO: make more customizable maybe - programs.irssi = { - enable = true; - networks = { - liberachat = { - nick = "wheat"; - server = { - address = "irc.libera.chat"; - port = 6697; - autoConnect = true; - }; - channels = { - nixos.autoJoin = false; - }; - }; - }; - }; - }) - ]; -} diff --git a/home-modules/xun/school/default.nix b/home-modules/xun/school/default.nix deleted file mode 100644 index 69a99bc..0000000 --- a/home-modules/xun/school/default.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ - pkgs, - config, - lib, - ... -}: let - cfg = config.xun.school; -in { - options.xun.school = { - geogebra.enable = lib.mkEnableOption "geogebra"; - }; - config = lib.mkMerge [ - (lib.mkIf cfg.geogebra.enable { - home.packages = with pkgs; [ - geogebra6 - ]; - }) - ]; -} diff --git a/home/develop/devenv.nix b/home/develop/devenv.nix new file mode 100644 index 0000000..cf71afe --- /dev/null +++ b/home/develop/devenv.nix @@ -0,0 +1,3 @@ +{pkgs, ...}: { + home.packages = with pkgs; [devenv]; +} diff --git a/home/develop/langs/c.nix b/home/develop/langs/c.nix new file mode 100644 index 0000000..8dc2430 --- /dev/null +++ b/home/develop/langs/c.nix @@ -0,0 +1,3 @@ +{pkgs, ...}: { + home.packages = with pkgs; [clang-tools buckle gdb lldb]; +} diff --git a/home/develop/nix.nix b/home/develop/langs/lua.nix similarity index 60% rename from home/develop/nix.nix rename to home/develop/langs/lua.nix index 3c69534..7e71eb3 100644 --- a/home/develop/nix.nix +++ b/home/develop/langs/lua.nix @@ -1,6 +1,6 @@ {pkgs, ...}: { home.packages = with pkgs; [ - nil - alejandra + stylua + lua-language-server ]; } diff --git a/home/develop/langs/nix.nix b/home/develop/langs/nix.nix new file mode 100644 index 0000000..8e7ed75 --- /dev/null +++ b/home/develop/langs/nix.nix @@ -0,0 +1,3 @@ +{pkgs, ...}: { + home.packages = with pkgs; [nil nixd alejandra nixfmt-rfc-style]; +} diff --git a/home/develop/langs/zig.nix b/home/develop/langs/zig.nix new file mode 100644 index 0000000..7edaf8e --- /dev/null +++ b/home/develop/langs/zig.nix @@ -0,0 +1,3 @@ +{pkgs, ...}: { + home.packages = with pkgs; [zig zls]; +} diff --git a/home/develop/small-misc.nix b/home/develop/tools.nix similarity index 100% rename from home/develop/small-misc.nix rename to home/develop/tools.nix diff --git a/home/profiles/default.nix b/home/profiles/default.nix index 957215f..0a72ff2 100644 --- a/home/profiles/default.nix +++ b/home/profiles/default.nix @@ -10,7 +10,6 @@ "xun@kidney" = [ ../. ./kidney - # inputs.nix-index-database.hmModules.nix-index {home.stateVersion = "24.05";} ]; "xun@nixdesk" = [ @@ -19,11 +18,6 @@ inputs.sops-nix.homeManagerModules.sops {home.stateVersion = "23.11";} ]; - "xun@hopper" = [ - ../. - ./hopper - {home.stateVersion = "23.11";} - ]; }; inherit (inputs.home-manager.lib) homeManagerConfiguration; @@ -37,10 +31,6 @@ in { modules = homeImports."xun@nixdesk"; inherit pkgs extraSpecialArgs; }; - "xun@hopper" = homeManagerConfiguration { - modules = homeImports."xun@hopper"; - inherit pkgs extraSpecialArgs; - }; }; }; } diff --git a/home/profiles/hopper/default.nix b/home/profiles/hopper/default.nix deleted file mode 100644 index 4fbaf36..0000000 --- a/home/profiles/hopper/default.nix +++ /dev/null @@ -1,20 +0,0 @@ -{...}: { - imports = [ - ../../editors/nvim.nix - ../../terminal/shell/zsh.nix - ../../terminal/emulator/wezterm.nix - - ../../programs/browsers/firefox - - ../../programs/desktop - ../../programs/desktop/awesome - - ../../programs/media - ../../programs/media/jellyfin.nix - - ../../services/media/playerctl.nix - - ../../services/system/polkit-agent.nix - ../../services/system/udiskie.nix - ]; -} diff --git a/home/profiles/kidney/default.nix b/home/profiles/kidney/default.nix index af28546..f4442a6 100644 --- a/home/profiles/kidney/default.nix +++ b/home/profiles/kidney/default.nix @@ -4,29 +4,22 @@ ... }: { imports = [ - self.homeManagerModules.xun ../../editors/emacs.nix ../../editors/nvim.nix - # ../../terminal/shell/zsh.nix - # ../../terminal/programs - # ../../terminal/programs/lazygit.nix - # ../../develop - # ../../develop/small-misc.nix - ]; - xun = { - develop = { - enable = true; - }; - desktop = { - xdg.enable = true; - }; - programs.terminal = { - shell.zsh.enable = true; - direnv.enable = true; - comma.enable = true; - tmux.enable = true; - irssi.enable = true; - }; - }; + ../../terminal/shell/zsh.nix + ../../terminal/programs/xdg.nix + ../../terminal/programs/direnv.nix + ../../terminal/programs/comma.nix + ../../terminal/programs/tmux.nix + ../../terminal/programs/irssi.nix + + ../../develop/langs/nix.nix + ../../develop/tools.nix + ../../develop/devenv.nix + + ../../terminal/programs/git.nix + ../../terminal/programs/github.nix + ../../terminal/programs/lazygit.nix + ]; } diff --git a/home/profiles/nixdesk/default.nix b/home/profiles/nixdesk/default.nix index d1e0231..bf99180 100644 --- a/home/profiles/nixdesk/default.nix +++ b/home/profiles/nixdesk/default.nix @@ -4,44 +4,53 @@ ... }: { imports = [ - self.homeManagerModules.xun - # ./kanshi.nix ./defaults.nix ../../secrets - # ../../terminal - # ../../terminal/programs/zellij.nix + ../../terminal/shell/zsh.nix + + ../../terminal/programs/xdg.nix + ../../terminal/programs/direnv.nix + ../../terminal/programs/tmux.nix + ../../terminal/programs/comma.nix ../../terminal/programs/zoxide.nix ../../terminal/programs/tdf.nix - # ../../terminal/programs/irssi.nix + ../../terminal/programs/irssi.nix + ../../terminal/programs/git.nix + ../../terminal/programs/github.nix ../../terminal/programs/lazygit.nix - # ../../terminal/programs/beets.nix + ../../editors/emacs.nix ../../editors/nvim.nix ../../editors/vscode.nix ../../editors/jetbrains ../../editors/jetbrains/android-studio.nix + ../../programs/browsers/firefox ../../programs/browsers/tor.nix ../../programs/browsers/chromium.nix + ../../terminal/emulator/wezterm.nix ../../terminal/emulator/foot.nix # desktop ../../programs/desktop - # ../../programs/desktop/theme.nix - ../../programs/desktop/awesome - #../../programs/desktop/hyprland ../../programs/desktop/sway # development ../../develop/common.nix + ../../develop/tools.nix + ../../develop/docs.nix + ../../develop/devenv.nix + ../../develop/langs/haskell.nix ../../develop/langs/rust.nix ../../develop/langs/uiua.nix - #../../develop - #../../develop/small-misc.nix + ../../develop/langs/nix.nix + ../../develop/langs/zig.nix + ../../develop/langs/lua.nix + ../../develop/langs/c.nix # programs ../../programs/misc/keepassxc.nix @@ -64,14 +73,14 @@ ../../programs/music/cmus.nix ../../programs/media ../../programs/media/jellyfin.nix + # gaming ../../programs/games - # ../../programs/games/roblox.nix - # ../../programs/games/krunker.nix + ../../programs/games/roblox.nix + ../../programs/games/krunker.nix #../../programs/games/ludusavi.nix # ./dark.nix - # ./xundark.nix # media services ../../services/media/playerctl.nix @@ -79,34 +88,6 @@ ../../services/system/polkit-agent.nix ../../services/system/udiskie.nix # although i dont need this for usb memory, it is quite convenient for flashing qmk ]; - xun = let - enabled = {enable = true;}; - in { - desktop = { - xdg = enabled; - }; - programs.terminal = { - shell.zsh = enabled; - direnv = enabled; - comma = enabled; - tmux = enabled; - irssi = enabled; - }; - develop = { - enable = true; - docs = enabled; - lang = { - c = enabled; - zig = enabled; - lua = enabled; - }; - }; - gaming = { - krunker = enabled; - roblox.sobercookie = enabled; - }; - # school.geogebra = enabled; - }; qt = { enable = true; diff --git a/home/profiles/nixdesk/kanshi.nix b/home/profiles/nixdesk/kanshi.nix index 9dffd77..814eae4 100644 --- a/home/profiles/nixdesk/kanshi.nix +++ b/home/profiles/nixdesk/kanshi.nix @@ -1,7 +1,6 @@ { services.kanshi = { enable = true; - # systemdTarget = "hyprland-session.target"; # default is sway settings = [ { profile.name = "default"; diff --git a/home/profiles/nixdesk/xundark.nix b/home/profiles/nixdesk/xundark.nix deleted file mode 100644 index 370ddb7..0000000 --- a/home/profiles/nixdesk/xundark.nix +++ /dev/null @@ -1,11 +0,0 @@ -{pkgs, ...}: { - gtk = { - enable = true; - iconTheme = { - name = "WhiteSur-dark"; - package = pkgs.whitesur-icon-theme; - }; - }; - - qt.enable = true; -} diff --git a/home/programs/desktop/awesome/config/main/error-handling.lua b/home/programs/desktop/awesome/config/main/error-handling.lua deleted file mode 100644 index c92e18d..0000000 --- a/home/programs/desktop/awesome/config/main/error-handling.lua +++ /dev/null @@ -1,30 +0,0 @@ --- {{{ Error handling --- Check if awesome encountered an error during startup and fell back to --- another config (This code will only ever execute for the fallback config) -if awesome.startup_errors then - naughty.notify({ - preset = naughty.config.presets.critical, - title = "Oops, there were errors during startup!", - text = awesome.startup_errors, - }) -end - --- Handle runtime errors after startup -do - local in_error = false - awesome.connect_signal("debug::error", function(err) - -- Make sure we don't go into an endless error loop - if in_error then - return - end - in_error = true - - naughty.notify({ - preset = naughty.config.presets.critical, - title = "Oops, an error happened!", - text = tostring(err), - }) - in_error = false - end) -end --- }}} diff --git a/home/programs/desktop/awesome/config/main/layouts.lua b/home/programs/desktop/awesome/config/main/layouts.lua deleted file mode 100644 index 314948b..0000000 --- a/home/programs/desktop/awesome/config/main/layouts.lua +++ /dev/null @@ -1,23 +0,0 @@ -local awful = require('awful') - --- Table of layouts to cover with awful.layout.inc, order matters. -awful.layout.layouts = { - awful.layout.suit.tile, - awful.layout.suit.fair, - awful.layout.suit.floating, - awful.layout.suit.tile.left, - awful.layout.suit.tile.bottom, - awful.layout.suit.tile.top, - -- awful.layout.suit.fair, - awful.layout.suit.fair.horizontal, - awful.layout.suit.spiral, - awful.layout.suit.spiral.dwindle, - awful.layout.suit.max, - awful.layout.suit.max.fullscreen, - awful.layout.suit.magnifier, - awful.layout.suit.corner.nw, - -- awful.layout.suit.corner.ne, - -- awful.layout.suit.corner.sw, - -- awful.layout.suit.corner.se, -} --- }}} diff --git a/home/programs/desktop/awesome/config/rc.lua b/home/programs/desktop/awesome/config/rc.lua deleted file mode 100644 index 055ef4a..0000000 --- a/home/programs/desktop/awesome/config/rc.lua +++ /dev/null @@ -1,614 +0,0 @@ --- If LuaRocks is installed, make sure that packages installed through it are --- found (e.g. lgi). If LuaRocks is not installed, do nothing. -pcall(require, "luarocks.loader") --- Standard awesome library -local gears = require("gears") -local awful = require("awful") -require("awful.autofocus") --- Widget and layout library -local wibox = require("wibox") --- Theme handling library -local beautiful = require("beautiful") --- Notification library -local naughty = require("naughty") -local menubar = require("menubar") -local hotkeys_popup = require("awful.hotkeys_popup") --- Enable hotkeys help widget for VIM and other apps --- when client with a matching name is opened: - -require("awful.hotkeys_popup.keys") - -require('main.error-handling') - -HOME = os.getenv"HOME" - --- {{{ Variable definitions --- Themes define colours, icons, font and wallpapers. -beautiful.init(string.format("%s/.config/awesome/themes/%s/theme.lua", - HOME, - "custom") -) - - --- This is used later as the default terminal and editor to run. -terminal = "wezterm" -editor = os.getenv("EDITOR") or "nvim" -editor_cmd = terminal .. " -e " .. editor - --- Default modkey. --- Usually, Mod4 is the key with a logo between Control and Alt. --- If you do not like this or do not have such a key, --- I suggest you to remap Mod4 to another key using xmodmap or other tools. --- However, you can use another modifier like Mod1, but it may interact with others. -modkey = "Mod4" - --- load layouts -require('main.layouts') - - --- {{{ Menu --- Create a launcher widget and a main menu -myawesomemenu = { - { - "hotkeys", - function() - hotkeys_popup.show_help(nil, awful.screen.focused()) - end, - }, - { "manual", terminal .. " -e man awesome" }, - { "edit config", editor_cmd .. " " .. awesome.conffile }, - { "restart", awesome.restart }, - { - "quit", - function() - awesome.quit() - end, - }, -} - -mymainmenu = awful.menu({ - items = { - { "awesome", myawesomemenu, beautiful.awesome_icon }, - { "open terminal", terminal }, - }, -}) - --- Menubar configuration -menubar.utils.terminal = terminal -- Set the terminal for applications that require it --- }}} - --- {{{ Wibar --- Create a textclock widget -mytextclock = wibox.widget.textclock(' %a %m-%d %H:%M ', 1) - --- Create a wibox for each screen and add it -local taglist_buttons = gears.table.join( - awful.button({}, 1, function(t) - t:view_only() - end), - awful.button({ modkey }, 1, function(t) - if client.focus then - client.focus:move_to_tag(t) - end - end), - awful.button({}, 3, awful.tag.viewtoggle), - awful.button({ modkey }, 3, function(t) - if client.focus then - client.focus:toggle_tag(t) - end - end), - awful.button({}, 4, function(t) - awful.tag.viewnext(t.screen) - end), - awful.button({}, 5, function(t) - awful.tag.viewprev(t.screen) - end) -) - -local tasklist_buttons = gears.table.join( - awful.button({}, 1, function(c) - if c == client.focus then - c.minimized = true - else - c:emit_signal("request::activate", "tasklist", { raise = true }) - end - end), - awful.button({}, 3, function() - awful.menu.client_list({ theme = { width = 250 } }) - end), - awful.button({}, 4, function() - awful.client.focus.byidx(1) - end), - awful.button({}, 5, function() - awful.client.focus.byidx(-1) - end) -) - -local function set_wallpaper(s) - -- Wallpaper - if beautiful.wallpaper then - local wallpaper = beautiful.wallpaper - -- If wallpaper is a function, call it with the screen - if type(wallpaper) == "function" then - wallpaper = wallpaper(s) - end - gears.wallpaper.maximized(wallpaper, s, true) - end -end - --- Re-set wallpaper when a screen's geometry changes (e.g. different resolution) -screen.connect_signal("property::geometry", set_wallpaper) - -awful.screen.connect_for_each_screen(function(s) - -- Wallpaper - set_wallpaper(s) - - -- Each screen has its own tag table. - awful.tag({ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, s, awful.layout.layouts[1]) - - -- Create a promptbox for each screen - s.mypromptbox = awful.widget.prompt() - -- Create an imagebox widget which will contain an icon indicating which layout we're using. - -- We need one layoutbox per screen. - s.mylayoutbox = awful.widget.layoutbox(s) - s.mylayoutbox:buttons(gears.table.join( - awful.button({}, 1, function() - awful.layout.inc(1) - end), - awful.button({}, 3, function() - awful.layout.inc(-1) - end), - awful.button({}, 4, function() - awful.layout.inc(1) - end), - awful.button({}, 5, function() - awful.layout.inc(-1) - end) - )) - -- Create a taglist widget - s.mytaglist = awful.widget.taglist({ - screen = s, - filter = awful.widget.taglist.filter.all, - buttons = taglist_buttons, - }) - - -- Create a tasklist widget - s.mytasklist = awful.widget.tasklist{ - screen = s, - filter = awful.widget.tasklist.filter.currenttags, - buttons = tasklist_buttons, - } - - -- Create the wibox - s.mywibox = awful.wibar({ position = "top", screen = s }) - - -- Add widgets to the wibox - s.mywibox:setup({ - layout = wibox.layout.align.horizontal, - { -- Left widgets - layout = wibox.layout.fixed.horizontal, - s.mytaglist, - s.mypromptbox, - }, - s.mytasklist, -- Middle widget - { -- Right widgets - layout = wibox.layout.fixed.horizontal, - wibox.widget.systray(), - mytextclock, - s.mylayoutbox, - }, - }) -end) - --- }}} - --- {{{ Mouse bindings -root.buttons(gears.table.join( - awful.button({}, 3, function() - mymainmenu:toggle() - end) - --awful.button({}, 4, awful.tag.viewnext), - --awful.button({}, 5, awful.tag.viewprev) -)) --- }}} - -local function save_screenshot(args) - local ss = awful.screenshot(args) - - local function notify(self) - naughty.notification { - title = self.file_name, - message = "Screenshot saved", - icon = self.surface, - icon_size = 128, - } - end - - if args.auto_save_delay > 0 then - ss:connect_signal("file::saved", notify) - else - notify(ss) - end - - return ss -end - --- {{{ Key bindings - -globalkeys = gears.table.join( --- awful.key({}, "Print", function () --- save_screenshot{ --- auto_save_delay = 0, --- screen = awful.screen.focused(), --- directory = string.format("%s/Pictures/Screenshots", HOME), --- } --- end), --- awful.key({'Control'}, "Print", function () --- save_screenshot { --- auto_save_delay = 0, --- directory = string.format("%s/Pictures/Screenshots", HOME), --- } --- end), --- awful.key({'Shift'}, 'Print', function () --- save_screenshot { --- auto_save_delay = 0, --- interactive = true, --- directory = string.format("%s/Pictures/Screenshots", HOME), --- } --- end), - -- disable ctrl + ; - -- because it for some reason crashes firefox and electron - awful.key({ 'Control' }, ";", function() end), - -- multimedia keys - awful.key({}, "XF86AudioMute", function() awful.spawn('wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle') end), - awful.key({ modkey }, "XF86AudioMute", function() awful.spawn('wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle') end), - awful.key({}, "XF86AudioRaiseVolume", function() awful.spawn('wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 3%+') end), - awful.key({}, "XF86AudioLowerVolume", function() awful.spawn('wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 3%-') end), - --mpris (playerctl) - awful.key({}, "XF86AudioPlay", function() awful.spawn('playerctl play-pause') end), - awful.key({}, "XF86AudioStop", function() awful.spawn('playerctl stop') end), - awful.key({}, "XF86AudioNext", function() awful.spawn('playerctl next') end), - awful.key({}, "XF86AudioPrev", function() awful.spawn('playerctl previous') end), - --mpd (mpc) - awful.key({ modkey }, "XF86AudioPlay", function() awful.spawn('mpc toggle') end), - awful.key({ modkey }, "XF86AudioStop", function() awful.spawn('mpc stop') end), - awful.key({ modkey }, "XF86AudioNext", function() awful.spawn('mpc next') end), - awful.key({ modkey }, "XF86AudioPrev", function() awful.spawn('mpc prev') end), - - awful.key({ modkey }, "s", hotkeys_popup.show_help, { description = "show help", group = "awesome" }), - awful.key({ modkey }, "Left", awful.tag.viewprev, { description = "view previous", group = "tag" }), - awful.key({ modkey }, "Right", awful.tag.viewnext, { description = "view next", group = "tag" }), - awful.key({ modkey }, "Escape", awful.tag.history.restore, { description = "go back", group = "tag" }), - - awful.key({ modkey }, "j", function() - awful.client.focus.byidx(1) - end, { description = "focus next by index", group = "client" }), - awful.key({ modkey }, "k", function() - awful.client.focus.byidx(-1) - end, { description = "focus previous by index", group = "client" }), - awful.key({ modkey }, "w", function() - mymainmenu:show() - end, { description = "show main menu", group = "awesome" }), - - -- Layout manipulation - awful.key({ modkey, "Shift" }, "j", function() - awful.client.swap.byidx(1) - end, { description = "swap with next client by index", group = "client" }), - awful.key({ modkey, "Shift" }, "k", function() - awful.client.swap.byidx(-1) - end, { description = "swap with previous client by index", group = "client" }), - awful.key({ modkey, "Control" }, "j", function() - awful.screen.focus_relative(1) - end, { description = "focus the next screen", group = "screen" }), - awful.key({ modkey, "Control" }, "k", function() - awful.screen.focus_relative(-1) - end, { description = "focus the previous screen", group = "screen" }), - awful.key({ modkey }, "u", awful.client.urgent.jumpto, { description = "jump to urgent client", group = "client" }), - awful.key({ modkey }, "Tab", function() - awful.client.focus.history.previous() - if client.focus then - client.focus:raise() - end - end, { description = "go back", group = "client" }), - - -- Standard program - awful.key({ modkey }, "Return", function() - awful.spawn(terminal) - end, { description = "open a terminal", group = "launcher" }), - awful.key({ modkey, "Control" }, "r", awesome.restart, { description = "reload awesome", group = "awesome" }), - awful.key({ modkey, "Shift" }, "q", awesome.quit, { description = "quit awesome", group = "awesome" }), - - awful.key({ modkey }, "l", function() - awful.tag.incmwfact(0.05) - end, { description = "increase master width factor", group = "layout" }), - awful.key({ modkey }, "h", function() - awful.tag.incmwfact(-0.05) - end, { description = "decrease master width factor", group = "layout" }), - awful.key({ modkey, "Shift" }, "h", function() - awful.tag.incnmaster(1, nil, true) - end, { description = "increase the number of master clients", group = "layout" }), - awful.key({ modkey, "Shift" }, "l", function() - awful.tag.incnmaster(-1, nil, true) - end, { description = "decrease the number of master clients", group = "layout" }), - awful.key({ modkey, "Control" }, "h", function() - awful.tag.incncol(1, nil, true) - end, { description = "increase the number of columns", group = "layout" }), - awful.key({ modkey, "Control" }, "l", function() - awful.tag.incncol(-1, nil, true) - end, { description = "decrease the number of columns", group = "layout" }), - awful.key({ modkey }, "space", function() - awful.layout.inc(1) - end, { description = "select next", group = "layout" }), - awful.key({ modkey, "Shift" }, "space", function() - awful.layout.inc(-1) - end, { description = "select previous", group = "layout" }), - - awful.key({ modkey, "Control" }, "n", function() - local c = awful.client.restore() - -- Focus restored client - if c then - c:emit_signal("request::activate", "key.unminimize", { raise = true }) - end - end, { description = "restore minimized", group = "client" }), - - -- Prompt - awful.key({ modkey }, "r", function() - awful.screen.focused().mypromptbox:run() - end, { description = "run prompt", group = "launcher" }), - - awful.key({ modkey }, "x", function() - awful.prompt.run({ - prompt = "Run Lua code: ", - textbox = awful.screen.focused().mypromptbox.widget, - exe_callback = awful.util.eval, - history_path = awful.util.get_cache_dir() .. "/history_eval", - }) - end, { description = "lua execute prompt", group = "awesome" }), - -- Menubar - awful.key({ modkey }, "p", function() - menubar.show() - end, { description = "show the menubar", group = "launcher" }) -) - -clientkeys = gears.table.join( - awful.key({ modkey }, "f", function(c) - c.fullscreen = not c.fullscreen - c:raise() - end, { description = "toggle fullscreen", group = "client" }), - awful.key({ modkey }, "q", function(c) - c:kill() - end, { description = "close", group = "client" }), - awful.key( - { modkey, "Control" }, - "space", - awful.client.floating.toggle, - { description = "toggle floating", group = "client" } - ), - awful.key({ modkey, "Control" }, "Return", function(c) - c:swap(awful.client.getmaster()) - end, { description = "move to master", group = "client" }), - awful.key({ modkey }, "o", function(c) - c:move_to_screen() - end, { description = "move to screen", group = "client" }), - awful.key({ modkey }, "t", function(c) - c.ontop = not c.ontop - end, { description = "toggle keep on top", group = "client" }), - awful.key({ modkey }, "n", function(c) - -- The client currently has the input focus, so it cannot be - -- minimized, since minimized clients can't have the focus. - c.minimized = true - end, { description = "minimize", group = "client" }), - awful.key({ modkey }, "m", function(c) - c.maximized = not c.maximized - c:raise() - end, { description = "(un)maximize", group = "client" }), - awful.key({ modkey, "Control" }, "m", function(c) - c.maximized_vertical = not c.maximized_vertical - c:raise() - end, { description = "(un)maximize vertically", group = "client" }), - awful.key({ modkey, "Shift" }, "m", function(c) - c.maximized_horizontal = not c.maximized_horizontal - c:raise() - end, { description = "(un)maximize horizontally", group = "client" }) -) - --- Bind all key numbers to tags. --- Be careful: we use keycodes to make it work on any keyboard layout. --- This should map on the top row of your keyboard, usually 1 to 9. -for i = 1, 9 do - globalkeys = gears.table.join( - globalkeys, - -- View tag only. - awful.key({ modkey }, "#" .. i + 9, function() - local screen = awful.screen.focused() - local tag = screen.tags[i] - if tag then - tag:view_only() - end - end, { description = "view tag #" .. i, group = "tag" }), - -- Toggle tag display. - awful.key({ modkey, "Control" }, "#" .. i + 9, function() - local screen = awful.screen.focused() - local tag = screen.tags[i] - if tag then - awful.tag.viewtoggle(tag) - end - end, { description = "toggle tag #" .. i, group = "tag" }), - -- Move client to tag. - awful.key({ modkey, "Shift" }, "#" .. i + 9, function() - if client.focus then - local tag = client.focus.screen.tags[i] - if tag then - client.focus:move_to_tag(tag) - end - end - end, { description = "move focused client to tag #" .. i, group = "tag" }), - -- Toggle tag on focused client. - awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9, function() - if client.focus then - local tag = client.focus.screen.tags[i] - if tag then - client.focus:toggle_tag(tag) - end - end - end, { description = "toggle focused client on tag #" .. i, group = "tag" }) - ) -end - -clientbuttons = gears.table.join( - awful.button({}, 1, function(c) - c:emit_signal("request::activate", "mouse_click", { raise = true }) - end), - awful.button({ modkey }, 1, function(c) - c:emit_signal("request::activate", "mouse_click", { raise = true }) - awful.mouse.client.move(c) - end), - awful.button({ modkey }, 3, function(c) - c:emit_signal("request::activate", "mouse_click", { raise = true }) - awful.mouse.client.resize(c) - end) -) - --- Set keys -root.keys(globalkeys) --- }}} - --- {{{ Rules --- Rules to apply to new clients (through the "manage" signal). -awful.rules.rules = { - -- All clients will match this rule. - { - rule = {}, - properties = { - border_width = beautiful.border_width, - border_color = beautiful.border_normal, - focus = awful.client.focus.filter, - raise = true, - keys = clientkeys, - buttons = clientbuttons, - screen = awful.screen.preferred, - placement = awful.placement.no_overlap + awful.placement.no_offscreen, - }, - }, - - -- Floating clients. - { - rule_any = { - instance = { - "DTA", -- Firefox addon DownThemAll. - "copyq", -- Includes session name in class. - "pinentry", - }, - class = { - "Arandr", - "Blueman-manager", - "Gpick", - "Kruler", - "MessageWin", -- kalarm. - "Sxiv", - "Tor Browser", -- Needs a fixed window size to avoid fingerprinting by screen size. - "Wpa_gui", - "veromix", - "xtightvncviewer", - }, - - -- Note that the name property shown in xprop might be set slightly after creation of the client - -- and the name shown there might not match defined rules here. - name = { - "Event Tester", -- xev. - }, - role = { - "AlarmWindow", -- Thunderbird's calendar. - "ConfigManager", -- Thunderbird's about:config. - "pop-up", -- e.g. Google Chrome's (detached) Developer Tools. - }, - }, - properties = { floating = true }, - }, - - -- Add titlebars to normal clients and dialogs - --{ rule_any = { type = { "normal", "dialog" } }, properties = { titlebars_enabled = true } }, - - -- Set Firefox to always map on the tag named "2" on screen 1. - -- { rule = { class = "Firefox" }, - -- properties = { screen = 1, tag = "2" } }, - { - rule = { - name = "Steam Input On-screen Keyboard", - }, - properties = { - focus = false - }, - }, -} --- }}} - --- {{{ Signals --- Signal function to execute when a new client appears. -client.connect_signal("manage", function(c) - -- Set the windows at the slave, - -- i.e. put it at the end of others instead of setting it master. - -- if not awesome.startup then awful.client.setslave(c) end - - if awesome.startup and not c.size_hints.user_position and not c.size_hints.program_position then - -- Prevent clients from being unreachable after screen count changes. - awful.placement.no_offscreen(c) - end -end) - --- Add a titlebar if titlebars_enabled is set to true in the rules. -client.connect_signal("request::titlebars", function(c) - -- buttons for the titlebar - local buttons = gears.table.join( - awful.button({}, 1, function() - c:emit_signal("request::activate", "titlebar", { raise = true }) - awful.mouse.client.move(c) - end), - awful.button({}, 3, function() - c:emit_signal("request::activate", "titlebar", { raise = true }) - awful.mouse.client.resize(c) - end) - ) - - awful.titlebar(c):setup({ - { -- Left - awful.titlebar.widget.iconwidget(c), - buttons = buttons, - layout = wibox.layout.fixed.horizontal, - }, - { -- Middle - { -- Title - align = "center", - widget = awful.titlebar.widget.titlewidget(c), - }, - buttons = buttons, - layout = wibox.layout.flex.horizontal, - }, - { -- Right - awful.titlebar.widget.floatingbutton(c), - awful.titlebar.widget.maximizedbutton(c), - awful.titlebar.widget.stickybutton(c), - awful.titlebar.widget.ontopbutton(c), - awful.titlebar.widget.closebutton(c), - layout = wibox.layout.fixed.horizontal(), - }, - layout = wibox.layout.align.horizontal, - }) -end) - --- Enable sloppy focus, so that focus follows mouse. -client.connect_signal("mouse::enter", function(c) - c:emit_signal("request::activate", "mouse_enter", { raise = false }) -end) - -client.connect_signal("focus", function(c) - c.border_color = beautiful.border_focus -end) -client.connect_signal("unfocus", function(c) - c.border_color = beautiful.border_normal -end) --- }}} - - -require('scripts.autorun') -awful.spawn.once('bash -c '.. gears.filesystem.get_configuration_dir() .. '/scripts/autorun.sh') diff --git a/home/programs/desktop/awesome/config/scripts/autorun.lua b/home/programs/desktop/awesome/config/scripts/autorun.lua deleted file mode 100644 index 7b9a1b8..0000000 --- a/home/programs/desktop/awesome/config/scripts/autorun.lua +++ /dev/null @@ -1,5 +0,0 @@ -local naughty = require('naughty') -local gears = require('gears') -local awful = require('awful') - ---naughty.notification({ text="hi" }) diff --git a/home/programs/desktop/awesome/config/scripts/autorun.sh b/home/programs/desktop/awesome/config/scripts/autorun.sh deleted file mode 100755 index 1dbdddb..0000000 --- a/home/programs/desktop/awesome/config/scripts/autorun.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash -xrandr --output DisplayPort-2 --mode 1920x1080 --rate 165 & -/nix/store/$(ls -la /nix/store | grep polkit-gnome | grep '^d' | awk '{print $9}')/libexec/polkit-gnome-authentication-agent-1 & diff --git a/home/programs/desktop/awesome/config/themes/custom/theme.lua b/home/programs/desktop/awesome/config/themes/custom/theme.lua deleted file mode 100644 index ad5b471..0000000 --- a/home/programs/desktop/awesome/config/themes/custom/theme.lua +++ /dev/null @@ -1,64 +0,0 @@ -local theme_assets = require'beautiful.theme_assets' -local xresources = require'beautiful.xresources' -local dpi = xresources.apply_dpi - -local gfs = require'gears.filesystem' - -local theme = {} - -theme.font = 'sans 8' - -theme.bg_normal = "#161616" -theme.bg_focus = "#262626" -theme.bg_urgent = "#be95ff" -theme.bg_minimize = "#393939" - - -theme.fg_normal = "#08bdba" -theme.fg_focus = "#ffffff" -theme.fg_urgent = "#ffffff" -theme.fg_minimize = "#ffffff" - -theme.useless_gap = dpi(1) -theme.border_width = dpi(1) -theme.border_normal = "#262626" -theme.border_focus = "#be95ff" -theme.border_marked = "#ee5396" - - - -local taglist_square_size = dpi(4) -theme.taglist_squares_sel = theme_assets.taglist_squares_sel( - taglist_square_size, theme.fg_normal -) -theme.taglist_squares_unsel = theme_assets.taglist_squares_unsel( - taglist_square_size, theme.fg_normal -) - -theme.wallpaper = os.getenv("HOME") .. "/wallpaper.png" - -theme.icon_theme = nil - - -local themes_path = gfs.get_themes_dir() - -theme.layout_fairh = themes_path.."default/layouts/fairhw.png" -theme.layout_fairv = themes_path.."default/layouts/fairvw.png" -theme.layout_floating = themes_path.."default/layouts/floatingw.png" -theme.layout_magnifier = themes_path.."default/layouts/magnifierw.png" -theme.layout_max = themes_path.."default/layouts/maxw.png" -theme.layout_fullscreen = themes_path.."default/layouts/fullscreenw.png" -theme.layout_tilebottom = themes_path.."default/layouts/tilebottomw.png" -theme.layout_tileleft = themes_path.."default/layouts/tileleftw.png" -theme.layout_tile = themes_path.."default/layouts/tilew.png" -theme.layout_tiletop = themes_path.."default/layouts/tiletopw.png" -theme.layout_spiral = themes_path.."default/layouts/spiralw.png" -theme.layout_dwindle = themes_path.."default/layouts/dwindlew.png" -theme.layout_cornernw = themes_path.."default/layouts/cornernww.png" -theme.layout_cornerne = themes_path.."default/layouts/cornernew.png" -theme.layout_cornersw = themes_path.."default/layouts/cornersww.png" -theme.layout_cornerse = themes_path.."default/layouts/cornersew.png" - -theme.notification_icon_size = 32 - -return theme diff --git a/home/programs/desktop/awesome/config/themes/default/README b/home/programs/desktop/awesome/config/themes/default/README deleted file mode 100644 index 1ddb349..0000000 --- a/home/programs/desktop/awesome/config/themes/default/README +++ /dev/null @@ -1,3 +0,0 @@ -Background images: - Mikael Eriksson - Licensed under CC-BY-SA-3.0 diff --git a/home/programs/desktop/awesome/config/themes/default/background.png b/home/programs/desktop/awesome/config/themes/default/background.png deleted file mode 100644 index 7ec5812..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/background.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/background_white.png b/home/programs/desktop/awesome/config/themes/default/background_white.png deleted file mode 100644 index bb0c5d0..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/background_white.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/layouts/cornerne.png b/home/programs/desktop/awesome/config/themes/default/layouts/cornerne.png deleted file mode 100644 index c85bd56..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/layouts/cornerne.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/layouts/cornernew.png b/home/programs/desktop/awesome/config/themes/default/layouts/cornernew.png deleted file mode 100644 index c3fd986..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/layouts/cornernew.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/layouts/cornernw.png b/home/programs/desktop/awesome/config/themes/default/layouts/cornernw.png deleted file mode 100644 index dfe78b3..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/layouts/cornernw.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/layouts/cornernww.png b/home/programs/desktop/awesome/config/themes/default/layouts/cornernww.png deleted file mode 100644 index f489010..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/layouts/cornernww.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/layouts/cornerse.png b/home/programs/desktop/awesome/config/themes/default/layouts/cornerse.png deleted file mode 100644 index 023ae79..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/layouts/cornerse.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/layouts/cornersew.png b/home/programs/desktop/awesome/config/themes/default/layouts/cornersew.png deleted file mode 100644 index f7cfa1c..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/layouts/cornersew.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/layouts/cornersw.png b/home/programs/desktop/awesome/config/themes/default/layouts/cornersw.png deleted file mode 100644 index c1453c9..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/layouts/cornersw.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/layouts/cornersww.png b/home/programs/desktop/awesome/config/themes/default/layouts/cornersww.png deleted file mode 100644 index a65a043..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/layouts/cornersww.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/layouts/dwindle.png b/home/programs/desktop/awesome/config/themes/default/layouts/dwindle.png deleted file mode 100644 index 9902d22..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/layouts/dwindle.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/layouts/dwindlew.png b/home/programs/desktop/awesome/config/themes/default/layouts/dwindlew.png deleted file mode 100644 index 9199049..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/layouts/dwindlew.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/layouts/fairh.png b/home/programs/desktop/awesome/config/themes/default/layouts/fairh.png deleted file mode 100644 index d41deea..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/layouts/fairh.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/layouts/fairhw.png b/home/programs/desktop/awesome/config/themes/default/layouts/fairhw.png deleted file mode 100644 index bb50e3a..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/layouts/fairhw.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/layouts/fairv.png b/home/programs/desktop/awesome/config/themes/default/layouts/fairv.png deleted file mode 100644 index f5f0288..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/layouts/fairv.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/layouts/fairvw.png b/home/programs/desktop/awesome/config/themes/default/layouts/fairvw.png deleted file mode 100644 index 4f4ed52..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/layouts/fairvw.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/layouts/floating.png b/home/programs/desktop/awesome/config/themes/default/layouts/floating.png deleted file mode 100644 index b8061a0..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/layouts/floating.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/layouts/floatingw.png b/home/programs/desktop/awesome/config/themes/default/layouts/floatingw.png deleted file mode 100644 index 4815894..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/layouts/floatingw.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/layouts/fullscreen.png b/home/programs/desktop/awesome/config/themes/default/layouts/fullscreen.png deleted file mode 100644 index d02f6fc..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/layouts/fullscreen.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/layouts/fullscreenw.png b/home/programs/desktop/awesome/config/themes/default/layouts/fullscreenw.png deleted file mode 100644 index 5c35bfa..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/layouts/fullscreenw.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/layouts/magnifier.png b/home/programs/desktop/awesome/config/themes/default/layouts/magnifier.png deleted file mode 100644 index 2925414..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/layouts/magnifier.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/layouts/magnifierw.png b/home/programs/desktop/awesome/config/themes/default/layouts/magnifierw.png deleted file mode 100644 index 6209556..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/layouts/magnifierw.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/layouts/max.png b/home/programs/desktop/awesome/config/themes/default/layouts/max.png deleted file mode 100644 index 8d20844..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/layouts/max.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/layouts/maxw.png b/home/programs/desktop/awesome/config/themes/default/layouts/maxw.png deleted file mode 100644 index 85f5ce3..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/layouts/maxw.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/layouts/spiral.png b/home/programs/desktop/awesome/config/themes/default/layouts/spiral.png deleted file mode 100644 index d9434be..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/layouts/spiral.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/layouts/spiralw.png b/home/programs/desktop/awesome/config/themes/default/layouts/spiralw.png deleted file mode 100644 index b78dd86..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/layouts/spiralw.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/layouts/tile.png b/home/programs/desktop/awesome/config/themes/default/layouts/tile.png deleted file mode 100644 index 3ede21e..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/layouts/tile.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/layouts/tilebottom.png b/home/programs/desktop/awesome/config/themes/default/layouts/tilebottom.png deleted file mode 100644 index 6f8c257..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/layouts/tilebottom.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/layouts/tilebottomw.png b/home/programs/desktop/awesome/config/themes/default/layouts/tilebottomw.png deleted file mode 100644 index a1de7b2..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/layouts/tilebottomw.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/layouts/tileleft.png b/home/programs/desktop/awesome/config/themes/default/layouts/tileleft.png deleted file mode 100644 index 31d6870..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/layouts/tileleft.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/layouts/tileleftw.png b/home/programs/desktop/awesome/config/themes/default/layouts/tileleftw.png deleted file mode 100644 index cf14c25..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/layouts/tileleftw.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/layouts/tiletop.png b/home/programs/desktop/awesome/config/themes/default/layouts/tiletop.png deleted file mode 100644 index 98cade2..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/layouts/tiletop.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/layouts/tiletopw.png b/home/programs/desktop/awesome/config/themes/default/layouts/tiletopw.png deleted file mode 100644 index d1d0872..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/layouts/tiletopw.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/layouts/tilew.png b/home/programs/desktop/awesome/config/themes/default/layouts/tilew.png deleted file mode 100644 index fde2ca4..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/layouts/tilew.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/old-background.png b/home/programs/desktop/awesome/config/themes/default/old-background.png deleted file mode 100644 index 8f52b6b..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/old-background.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/submenu.png b/home/programs/desktop/awesome/config/themes/default/submenu.png deleted file mode 100644 index b2778e2..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/submenu.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/taglist/squarefw.png b/home/programs/desktop/awesome/config/themes/default/taglist/squarefw.png deleted file mode 100644 index 2a86430..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/taglist/squarefw.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/taglist/squarew.png b/home/programs/desktop/awesome/config/themes/default/taglist/squarew.png deleted file mode 100644 index 913f2ca..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/taglist/squarew.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/theme.lua b/home/programs/desktop/awesome/config/themes/default/theme.lua deleted file mode 100644 index de50dff..0000000 --- a/home/programs/desktop/awesome/config/themes/default/theme.lua +++ /dev/null @@ -1,132 +0,0 @@ ---------------------------- --- Default awesome theme -- ---------------------------- - -local theme_assets = require("beautiful.theme_assets") -local xresources = require("beautiful.xresources") -local dpi = xresources.apply_dpi - -local gfs = require("gears.filesystem") -local themes_path = gfs.get_themes_dir() - -local theme = {} - - -theme.font = "sans 8" - -theme.bg_normal = "#222222" -theme.bg_focus = "#535d6c" -theme.bg_urgent = "#ff0000" -theme.bg_minimize = "#444444" -theme.bg_systray = theme.bg_normal - -theme.fg_normal = "#aaaaaa" -theme.fg_focus = "#ffffff" -theme.fg_urgent = "#ffffff" -theme.fg_minimize = "#ffffff" - -theme.useless_gap = dpi(0) -theme.border_width = dpi(1) -theme.border_normal = "#000000" -theme.border_focus = "#535d6c" -theme.border_marked = "#91231c" - --- There are other variable sets --- overriding the default one when --- defined, the sets are: --- taglist_[bg|fg]_[focus|urgent|occupied|empty|volatile] --- tasklist_[bg|fg]_[focus|urgent] --- titlebar_[bg|fg]_[normal|focus] --- tooltip_[font|opacity|fg_color|bg_color|border_width|border_color] --- mouse_finder_[color|timeout|animate_timeout|radius|factor] --- prompt_[fg|bg|fg_cursor|bg_cursor|font] --- hotkeys_[bg|fg|border_width|border_color|shape|opacity|modifiers_fg|label_bg|label_fg|group_margin|font|description_font] --- Example: ---theme.taglist_bg_focus = "#ff0000" - --- Generate taglist squares: -local taglist_square_size = dpi(4) -theme.taglist_squares_sel = theme_assets.taglist_squares_sel( - taglist_square_size, theme.fg_normal -) -theme.taglist_squares_unsel = theme_assets.taglist_squares_unsel( - taglist_square_size, theme.fg_normal -) - --- Variables set for theming notifications: --- notification_font --- notification_[bg|fg] --- notification_[width|height|margin] --- notification_[border_color|border_width|shape|opacity] - --- Variables set for theming the menu: --- menu_[bg|fg]_[normal|focus] --- menu_[border_color|border_width] -theme.menu_submenu_icon = themes_path.."default/submenu.png" -theme.menu_height = dpi(15) -theme.menu_width = dpi(100) - --- You can add as many variables as --- you wish and access them by using --- beautiful.variable in your rc.lua ---theme.bg_widget = "#cc0000" - --- Define the image to load -theme.titlebar_close_button_normal = themes_path.."default/titlebar/close_normal.png" -theme.titlebar_close_button_focus = themes_path.."default/titlebar/close_focus.png" - -theme.titlebar_minimize_button_normal = themes_path.."default/titlebar/minimize_normal.png" -theme.titlebar_minimize_button_focus = themes_path.."default/titlebar/minimize_focus.png" - -theme.titlebar_ontop_button_normal_inactive = themes_path.."default/titlebar/ontop_normal_inactive.png" -theme.titlebar_ontop_button_focus_inactive = themes_path.."default/titlebar/ontop_focus_inactive.png" -theme.titlebar_ontop_button_normal_active = themes_path.."default/titlebar/ontop_normal_active.png" -theme.titlebar_ontop_button_focus_active = themes_path.."default/titlebar/ontop_focus_active.png" - -theme.titlebar_sticky_button_normal_inactive = themes_path.."default/titlebar/sticky_normal_inactive.png" -theme.titlebar_sticky_button_focus_inactive = themes_path.."default/titlebar/sticky_focus_inactive.png" -theme.titlebar_sticky_button_normal_active = themes_path.."default/titlebar/sticky_normal_active.png" -theme.titlebar_sticky_button_focus_active = themes_path.."default/titlebar/sticky_focus_active.png" - -theme.titlebar_floating_button_normal_inactive = themes_path.."default/titlebar/floating_normal_inactive.png" -theme.titlebar_floating_button_focus_inactive = themes_path.."default/titlebar/floating_focus_inactive.png" -theme.titlebar_floating_button_normal_active = themes_path.."default/titlebar/floating_normal_active.png" -theme.titlebar_floating_button_focus_active = themes_path.."default/titlebar/floating_focus_active.png" - -theme.titlebar_maximized_button_normal_inactive = themes_path.."default/titlebar/maximized_normal_inactive.png" -theme.titlebar_maximized_button_focus_inactive = themes_path.."default/titlebar/maximized_focus_inactive.png" -theme.titlebar_maximized_button_normal_active = themes_path.."default/titlebar/maximized_normal_active.png" -theme.titlebar_maximized_button_focus_active = themes_path.."default/titlebar/maximized_focus_active.png" - -theme.wallpaper = os.getenv("HOME") .. "/Desktop/wallpaper-aster2.png" --themes_path.."default/background.png" - --- You can use your own layout icons like this: -theme.layout_fairh = themes_path.."default/layouts/fairhw.png" -theme.layout_fairv = themes_path.."default/layouts/fairvw.png" -theme.layout_floating = themes_path.."default/layouts/floatingw.png" -theme.layout_magnifier = themes_path.."default/layouts/magnifierw.png" -theme.layout_max = themes_path.."default/layouts/maxw.png" -theme.layout_fullscreen = themes_path.."default/layouts/fullscreenw.png" -theme.layout_tilebottom = themes_path.."default/layouts/tilebottomw.png" -theme.layout_tileleft = themes_path.."default/layouts/tileleftw.png" -theme.layout_tile = themes_path.."default/layouts/tilew.png" -theme.layout_tiletop = themes_path.."default/layouts/tiletopw.png" -theme.layout_spiral = themes_path.."default/layouts/spiralw.png" -theme.layout_dwindle = themes_path.."default/layouts/dwindlew.png" -theme.layout_cornernw = themes_path.."default/layouts/cornernww.png" -theme.layout_cornerne = themes_path.."default/layouts/cornernew.png" -theme.layout_cornersw = themes_path.."default/layouts/cornersww.png" -theme.layout_cornerse = themes_path.."default/layouts/cornersew.png" - --- Generate Awesome icon: -theme.awesome_icon = theme_assets.awesome_icon( - theme.menu_height, theme.bg_focus, theme.fg_focus -) - --- Define the icon theme for application icons. If not set then the icons --- from /usr/share/icons and /usr/share/icons/hicolor will be used. -theme.icon_theme = nil - -return theme - --- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80 diff --git a/home/programs/desktop/awesome/config/themes/default/titlebar/close_focus.png b/home/programs/desktop/awesome/config/themes/default/titlebar/close_focus.png deleted file mode 100644 index 01ef825..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/titlebar/close_focus.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/titlebar/close_normal.png b/home/programs/desktop/awesome/config/themes/default/titlebar/close_normal.png deleted file mode 100644 index 5448ed8..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/titlebar/close_normal.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/titlebar/floating_focus_active.png b/home/programs/desktop/awesome/config/themes/default/titlebar/floating_focus_active.png deleted file mode 100644 index 82dcc7c..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/titlebar/floating_focus_active.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/titlebar/floating_focus_inactive.png b/home/programs/desktop/awesome/config/themes/default/titlebar/floating_focus_inactive.png deleted file mode 100644 index c19ba80..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/titlebar/floating_focus_inactive.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/titlebar/floating_normal_active.png b/home/programs/desktop/awesome/config/themes/default/titlebar/floating_normal_active.png deleted file mode 100644 index 62342d1..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/titlebar/floating_normal_active.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/titlebar/floating_normal_inactive.png b/home/programs/desktop/awesome/config/themes/default/titlebar/floating_normal_inactive.png deleted file mode 100644 index e2bbdfa..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/titlebar/floating_normal_inactive.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/titlebar/maximized_focus_active.png b/home/programs/desktop/awesome/config/themes/default/titlebar/maximized_focus_active.png deleted file mode 100644 index d7dffd7..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/titlebar/maximized_focus_active.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/titlebar/maximized_focus_inactive.png b/home/programs/desktop/awesome/config/themes/default/titlebar/maximized_focus_inactive.png deleted file mode 100644 index 844389f..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/titlebar/maximized_focus_inactive.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/titlebar/maximized_normal_active.png b/home/programs/desktop/awesome/config/themes/default/titlebar/maximized_normal_active.png deleted file mode 100644 index a705f81..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/titlebar/maximized_normal_active.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/titlebar/maximized_normal_inactive.png b/home/programs/desktop/awesome/config/themes/default/titlebar/maximized_normal_inactive.png deleted file mode 100644 index 4c1ab1f..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/titlebar/maximized_normal_inactive.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/titlebar/minimize_focus.png b/home/programs/desktop/awesome/config/themes/default/titlebar/minimize_focus.png deleted file mode 100644 index caaceb2..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/titlebar/minimize_focus.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/titlebar/minimize_normal.png b/home/programs/desktop/awesome/config/themes/default/titlebar/minimize_normal.png deleted file mode 100644 index 36621d0..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/titlebar/minimize_normal.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/titlebar/ontop_focus_active.png b/home/programs/desktop/awesome/config/themes/default/titlebar/ontop_focus_active.png deleted file mode 100644 index 312c00b..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/titlebar/ontop_focus_active.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/titlebar/ontop_focus_inactive.png b/home/programs/desktop/awesome/config/themes/default/titlebar/ontop_focus_inactive.png deleted file mode 100644 index a48e1c5..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/titlebar/ontop_focus_inactive.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/titlebar/ontop_normal_active.png b/home/programs/desktop/awesome/config/themes/default/titlebar/ontop_normal_active.png deleted file mode 100644 index 117a203..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/titlebar/ontop_normal_active.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/titlebar/ontop_normal_inactive.png b/home/programs/desktop/awesome/config/themes/default/titlebar/ontop_normal_inactive.png deleted file mode 100644 index d3a10c8..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/titlebar/ontop_normal_inactive.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/titlebar/sticky_focus_active.png b/home/programs/desktop/awesome/config/themes/default/titlebar/sticky_focus_active.png deleted file mode 100644 index 814499b..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/titlebar/sticky_focus_active.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/titlebar/sticky_focus_inactive.png b/home/programs/desktop/awesome/config/themes/default/titlebar/sticky_focus_inactive.png deleted file mode 100644 index 21b000d..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/titlebar/sticky_focus_inactive.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/titlebar/sticky_normal_active.png b/home/programs/desktop/awesome/config/themes/default/titlebar/sticky_normal_active.png deleted file mode 100644 index bdb5595..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/titlebar/sticky_normal_active.png and /dev/null differ diff --git a/home/programs/desktop/awesome/config/themes/default/titlebar/sticky_normal_inactive.png b/home/programs/desktop/awesome/config/themes/default/titlebar/sticky_normal_inactive.png deleted file mode 100644 index a96b9b1..0000000 Binary files a/home/programs/desktop/awesome/config/themes/default/titlebar/sticky_normal_inactive.png and /dev/null differ diff --git a/home/programs/desktop/awesome/default.nix b/home/programs/desktop/awesome/default.nix deleted file mode 100644 index e66913c..0000000 --- a/home/programs/desktop/awesome/default.nix +++ /dev/null @@ -1,12 +0,0 @@ -{pkgs, ...}: { - xsession.windowManager.awesome = { - enable = true; - noArgb = true; - luaModules = with pkgs; [ - luaPackages.fennel - ]; - }; - xdg.configFile."awesome" = { - source = ./config; - }; -} diff --git a/home/programs/desktop/hyprland/default.nix b/home/programs/desktop/hyprland/default.nix deleted file mode 100644 index e0e8b98..0000000 --- a/home/programs/desktop/hyprland/default.nix +++ /dev/null @@ -1,344 +0,0 @@ -{ - pkgs, - lib, - osConfig, - config, - ... -}: { - imports = [ - ../common/fuzzel.nix - ]; - - home.packages = with pkgs; [ - wl-clipboard - ]; - - services.cliphist = { - enable = true; - systemdTarget = "hyprland-session.target"; - extraOptions = ["-max-items" "150"]; - }; - #systemd.user.services.cliphist = { - # Unit = { - # Description = "Wayland clipboard manager"; - # PartOf = ["hyprland-session.target"]; - # After = ["hyprland-session.target"]; - # }; - - # Service = { - # ExecStartPre = "${pkgs.wl-clipboard}/wl-paste --type text --watch ${lib.getExe pkgs.cliphist} store #Stores only text data"; - # ExecStart = "${pkgs.wl-clipboard}/wl-paste --type image --watch ${lib.getExe pkgs.cliphist} store #Stores only image data"; - # ExecReload = "${pkgs.coreutils}/bin/kill -SIGUSR2 $MAINPID"; - # Restart = "on-failure"; - # }; - - # Install = { - # WantedBy = ["hyprland-session.target"]; - # }; - #}; - - programs.waybar = { - enable = true; - style = '' - * { - font-family: monospace; - font-size: 13px; - } - - window#waybar { - background-color: #181818; - color: #ffffff; - transition-property: background-color; - transition-duration: .5s; - } - - window#waybar.hidden { - opacity: 0.2; - } - - button { - /* Avoid rounded borders under each button name */ - border: none; - border-radius: 0; - } - - /* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ - button:hover { - background: inherit; - } - - #workspaces button { - padding: 0 5px; - background-color: transparent; - color: #ffffff; - } - - #workspaces button:hover { - background: rgba(255, 255, 255, 0.1); - } - - #workspaces button.focused { - background-color: #64727D; - } - - #workspaces button.urgent { - background-color: #eb4d4b; - } - - #workspaces button.visible { - color: #fd4dff; - background-color: #202020; - } - - #clock, - #network, - #pulseaudio, - #wireplumber, - #tray { - padding: 0 10px; - color: #ffffff; - } - - #window, - #workspaces { - margin: 0 4px; - } - /* If workspaces is the leftmost module, omit left margin */ - .modules-left > widget:first-child > #workspaces { - margin-left: 0; - } - - /* If workspaces is the rightmost module, omit right margin */ - .modules-right > widget:last-child > #workspaces { - margin-right: 0; - } - @keyframes blink { - to { - background-color: #ffffff; - color: #000000; - } - } - label:focus { - background-color: #000000; - } - #tray { - background-color: #242424; - } - - #tray > .passive { - -gtk-icon-effect: dim; - } - - #tray > .needs-attention { - -gtk-icon-effect: highlight; - background-color: #eb4d4b; - } - - ''; - settings = [ - { - "height" = 24; - "spacing" = 4; - "modules-left" = [ - "hyprland/workspaces" - #"hyprland/mode" - #"hyprland/scratchpad" - ]; - "modules-center" = [ - "hyprland/window" - ]; - "modules-right" = [ - "pulseaudio" - "clock" - "tray" - ]; - - "hyprland/workspaces" = { - "format" = "[{icon} {windows}]"; - "format-window-separator" = ","; - "window-rewrite-default" = "@"; - "window-rewrite" = { - "title<.*discord.*>" = "d"; - "class" = "m"; - "class" = "f"; - "foot" = "t"; - }; - }; - - "tray" = { - "spacing" = 10; - }; - "clock" = { - "tooltim-format" = "{:%Y %B}\n{calendar}"; - "format-alt" = "{:%a %Y-%m-%d}"; - }; - "pulseaudio" = { - "format" = "{volume}%"; - "format-source" = "{volume}%"; - "format-source-muted" = ""; - "format-icons" = { - "headphone" = ""; - "hands-free" = ""; - "headset" = ""; - "phone" = ""; - "portable" = ""; - "car" = ""; - "default" = ["" "" ""]; - }; - "on-click" = "${lib.getExe pkgs.pavucontrol}"; - "on-click-middle" = "${lib.getExe pkgs.helvum}"; - }; - } - ]; - systemd = { - enable = true; - target = "hyprland-session.target"; - }; - }; - - wayland.windowManager.hyprland = { - enable = true; - settings = { - exec-once = [ - #"${lib.getExe pkgs.xwaylandvideobridge}" - "${lib.getExe pkgs.swaybg} -i ${config.xdg.userDirs.pictures}/wallpaper" - ]; - env = [ - "NIXOS_OZONE_WL,1" # for any ozone-based browser & electron apps to run on wayland - "MOZ_ENABLE_WAYLAND,1" # for firefox to run on wayland - "MOZ_WEBRENDER,1" - # misc - "_JAVA_AWT_WM_NONREPARENTING,1" - "QT_WAYLAND_DISABLE_WINDOWDECORATION,1" - "QT_QPA_PLATFORM,wayland" - "SDL_VIDEODRIVER,wayland" - "GDK_BACKEND,wayland" - ]; - - input = { - kb_layout = osConfig.services.xserver.xkb.layout; - }; - - general = { - gaps_out = 3; - gaps_in = 3; - "col.active_border" = "rgb(feafff) rgb(fd56ff)"; - }; - - dwindle = { - preserve_split = true; - }; - - workspace = [ - "1,monitor:DP-3" - "2,monitor:DP-3" - "3,monitor:DP-3" - "4,monitor:DP-3" - "5,monitor:DP-3" - - "11,defaultName:q,monitor:HDMI-A-1" - "12,defaultName:w,monitor:HDMI-A-1" - "13,defaultName:e,monitor:HDMI-A-1" - "14,defaultName:r,monitor:HDMI-A-1" - "15,defaultName:t,monitor:HDMI-A-1" - ]; - - animation = [ - "workspaces,1,3,default" - "windows,1,3,default" - "border,1,3,default" - ]; - - "$mainMod" = "SUPER"; - bind = [ - "$mainMod, RETURN, exec, ${lib.getExe pkgs.foot}" - "$mainMod, G, killactive" - "$mainMod, SPACE, togglefloating" - "$mainMod, F, fullscreen" - "$mainMod, M, fullscreen, 1" - "$mainMod SHIFT, F, fakefullscreen" - "$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, S, exec, ${lib.getExe pkgs.grimblast} --freeze copy area" - "$mainMod SHIFT, BACKSPACE, exec, systemctl suspend" - - "$mainMod, N, togglesplit" - "$mainMod SHIFT, N, swapsplit" - # preselect with mirrored vim keys, shifted down - "$mainMod, B, layoutmsg, preselect r" - "$mainMod, V, layoutmsg, preselect d" - "$mainMod, C, layoutmsg, preselect u" - "$mainMod, X, layoutmsg, preselect l" - - "$mainMod SHIFT, O, exec, ${lib.getExe pkgs.wlogout}" - # focus with vim keys - "$mainMod, h, movefocus, l" - "$mainMod, j, movefocus, d" - "$mainMod, k, movefocus, u" - "$mainMod, l, movefocus, r" - # window move with vim keys - "$mainMod SHIFT, h, movewindow, l" - "$mainMod SHIFT, j, movewindow, d" - "$mainMod SHIFT, k, movewindow, u" - "$mainMod SHIFT, l, movewindow, r" - - # switch workspace with mod+[0-9] - "$mainMod, 1, workspace, 1" - "$mainMod, 2, workspace, 2" - "$mainMod, 3, workspace, 3" - "$mainMod, 4, workspace, 4" - "$mainMod, 5, workspace, 5" - - "$mainMod, q, workspace, 11" - "$mainMod, w, workspace, 12" - "$mainMod, e, workspace, 13" - "$mainMod, r, workspace, 14" - "$mainMod, t, workspace, 15" - - # move window to workspace with mod+shift+[0-9] - "$mainMod SHIFT, 1, movetoworkspace, 1" - "$mainMod SHIFT, 2, movetoworkspace, 2" - "$mainMod SHIFT, 3, movetoworkspace, 3" - "$mainMod SHIFT, 4, movetoworkspace, 4" - "$mainMod SHIFT, 5, movetoworkspace, 5" - - "$mainMod SHIFT, q, movetoworkspace, 11" - "$mainMod SHIFT, w, movetoworkspace, 12" - "$mainMod SHIFT, e, movetoworkspace, 13" - "$mainMod SHIFT, r, movetoworkspace, 14" - "$mainMod SHIFT, t, movetoworkspace, 15" - - # scroll through workspaces with mod+scroll - "$mainMod, mouse_down, workspace, e+1" - "$mainMod, mouse_up, workspace, e-1" - ", XF86AudioPlay, exec, ${lib.getExe pkgs.playerctl} play-pause" - ", XF86AudioStop, exec, ${lib.getExe pkgs.playerctl} stop" - ", XF86AudioNext, exec, ${lib.getExe pkgs.playerctl} next" - ", XF86AudioPrev, exec, ${lib.getExe pkgs.playerctl} previous" - ]; - bindm = [ - # mod+lbm/rmb for move/resize - "$mainMod, mouse:272, movewindow" - "$mainMod, mouse:273, resizewindow" - ]; - binde = [ - ", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 3%+" - ", XF86AudioLowerVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 3%-" - ]; - windowrulev2 = [ - # Allow hiding xwaylandvideobridge window correctly - "opacity 0.0 override 0.0 override,class:^(xwaylandvideobridge)$" - "noanim,class:^(xwaylandvideobridge)$" - "noinitialfocus,class:^(xwaylandvideobridge)$" - "maxsize 1 1,class:^(xwaylandvideobridge)$" - "noblur,class:^(xwaylandvideobridge)$" - - "noanim,title:^(XtMapper)$" - "noblur,title:^(XtMapper)$" - "float,title:^(XtMapper)$" - "move 0 0,title:^(XtMapper)$" - "size 100%,title:^(XtMapper)$" - ]; - }; - }; -} diff --git a/home/programs/games/roblox.nix b/home/programs/games/roblox.nix index 54d6fe8..d88c259 100644 --- a/home/programs/games/roblox.nix +++ b/home/programs/games/roblox.nix @@ -1,10 +1,10 @@ { - self, + inputs, pkgs, ... }: { # i have sober installed imperatively through flatpak home.packages = [ - self.packages.${pkgs.system}.sobercookie + inputs.sobercookie.packages.${pkgs.system}.default ]; } diff --git a/home/terminal/programs/comma.nix b/home/terminal/programs/comma.nix index 05bde3a..17729ef 100644 --- a/home/terminal/programs/comma.nix +++ b/home/terminal/programs/comma.nix @@ -1,3 +1,12 @@ -{ - programs.nix-index-database.comma.enable = true; +{inputs, ...}: { + imports = [inputs.nix-index-database.hmModules.nix-index]; + + programs = { + nix-index-database.comma.enable = true; + nix-index = { + enableBashIntegration = false; + enableFishIntegration = false; + enableZshIntegration = false; + }; + }; } diff --git a/home/terminal/programs/git.nix b/home/terminal/programs/git.nix index b69c1e4..7919de3 100644 --- a/home/terminal/programs/git.nix +++ b/home/terminal/programs/git.nix @@ -18,6 +18,8 @@ extraConfig = { gpg.format = "ssh"; push.autoSetupRemote = true; + pull.rebase = true; + rebase.autostash = true; }; userEmail = "xunuwu@gmail.com"; diff --git a/home/terminal/programs/tmux.nix b/home/terminal/programs/tmux.nix index 9d7a192..556bd56 100644 --- a/home/terminal/programs/tmux.nix +++ b/home/terminal/programs/tmux.nix @@ -16,6 +16,9 @@ set -g status-interval 5 set -g status-right "#[fg=#25be6a]#(free -h | awk 'NR==2{print $3\"/\"$2}')" set -ag status-right "#[fg=default] %a %d %b %H:%M" + + set-option -g default-terminal "xterm-256color" + set-option -ga terminal-overrides ",xterm-256color:Tc" ''; }; } diff --git a/home/terminal/programs/zellij.nix b/home/terminal/programs/zellij.nix deleted file mode 100644 index 6ed1b6b..0000000 --- a/home/terminal/programs/zellij.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - programs.zellij = { - enable = true; - }; -} diff --git a/home/terminal/shell/zsh.nix b/home/terminal/shell/zsh.nix index 2b4e801..d505e4b 100644 --- a/home/terminal/shell/zsh.nix +++ b/home/terminal/shell/zsh.nix @@ -1,6 +1,4 @@ {config, ...}: { - programs.fzf.enable = true; - programs.zsh = { enable = true; autocd = true; @@ -11,6 +9,8 @@ history = { expireDuplicatesFirst = true; + extended = true; + save = 100 * 1000; path = "${config.xdg.dataHome}/zsh_history"; }; initExtra = '' @@ -41,13 +41,31 @@ ## PROMPT ## + function preexec() { + timer=$(date +%s%3N) + } + + function precmd_timer() { + if [ $timer ]; then + now=$(date +%s%3N) + elapsed=$(($now-$timer)) + + if [[ elapsed -gt 100 ]]; then + export RPROMPT="%F{cyan}''${elapsed}ms %f" + else + unset RPROMPT + fi + unset timer + fi + } + autoload -Uz vcs_info precmd_vcs_info() { vcs_info } - precmd_functions+=( precmd_vcs_info ) + precmd_functions+=( precmd_vcs_info precmd_timer ) zstyle ':vcs_info:git:*' formats ' %b ' setopt prompt_subst - PROMPT="%F{blue}[%F{magenta}%n%F{blue}@%F{magenta}%M%F{blue}] %~%f %F{green}\$vcs_info_msg_0_%f%(?..%F{red}| %? )%#%f " + PROMPT='%F{blue}[%F{magenta}%n%F{blue}@%F{magenta}%M%F{blue}] %~%f %F{green}$vcs_info_msg_0_%f%(?..%F{red}| %? )%#%f ' ''; }; } diff --git a/nix/machines/default.nix b/nix/machines/default.nix index 55a5b6a..dee1f74 100644 --- a/nix/machines/default.nix +++ b/nix/machines/default.nix @@ -7,46 +7,30 @@ config, ... }: let + inherit (inputs.nixpkgs.lib) nixosSystem; specialArgs = { inherit inputs self; }; - - source = inputs.haumea.lib.load { - inputs = {inherit inputs lib;}; - src = "${self}/nix"; - }; - systemProfiles = source.systemProfiles; in { - flake.colmena = { - meta = { - nixpkgs = import inputs.nixpkgs { - system = "x86_64-linux"; - }; - - inherit specialArgs; - }; - kidney = { - deployment = { - allowLocalDeployment = true; - }; - imports = lib.flatten [ + flake.nixosConfigurations = { + kidney = nixosSystem { + modules = [ ./kidney - (with systemProfiles; [ - core.tools - core.users - core.locale - programs.tools - programs.zsh - programs.home-manager - hardware.graphics + ../systemProfiles/core/tools.nix + ../systemProfiles/core/users.nix + ../systemProfiles/core/locale.nix - services.flatpak - services.xdg-portals + ../systemProfiles/programs/tools.nix + ../systemProfiles/programs/zsh.nix + ../systemProfiles/programs/home-manager.nix + ../systemProfiles/hardware/graphics.nix - nix.default - nix.gc - ]) + ../systemProfiles/services/flatpak.nix + ../systemProfiles/services/xdg-portals.nix + + ../systemProfiles/nix/default.nix + ../systemProfiles/nix/gc.nix { home-manager = { users.xun.imports = homeImports."xun@kidney"; @@ -54,83 +38,72 @@ in { }; } ]; + + inherit specialArgs; }; - nixdesk = { - deployment = { - allowLocalDeployment = true; - targetUser = "xun"; - targetHost = "nixdesk.local"; - }; - imports = lib.flatten [ + nixdesk = nixosSystem { + modules = [ ./nixdesk inputs.stylix.nixosModules.stylix - (with systemProfiles; [ - secrets.default - secrets.nixdesk.default + ../systemProfiles/secrets/default.nix + ../systemProfiles/secrets/nixdesk/default.nix - core.security - core.users - core.ssh - core.locale - nix.default - programs.zsh - core.tools - core.compat - core.boot - core.docs - core.gvfs + ../systemProfiles/core/security.nix + ../systemProfiles/core/users.nix + ../systemProfiles/core/ssh.nix + ../systemProfiles/core/locale.nix + ../systemProfiles/nix/default.nix + ../systemProfiles/programs/zsh.nix + ../systemProfiles/core/tools.nix + ../systemProfiles/core/compat.nix + ../systemProfiles/core/boot.nix + ../systemProfiles/core/docs.nix + ../systemProfiles/core/gvfs.nix - nix.gc + ../systemProfiles/nix/gc.nix - hardware.graphics - hardware.steam-hardware - hardware.bluetooth - hardware.qmk + ../systemProfiles/hardware/graphics.nix + ../systemProfiles/hardware/steam-hardware.nix + ../systemProfiles/hardware/bluetooth.nix + ../systemProfiles/hardware/qmk.nix - network.networkd - network.avahi - network.localsend - network.tailscale - network.goldberg + ../systemProfiles/network/networkd.nix + ../systemProfiles/network/avahi.nix + ../systemProfiles/network/localsend.nix + ../systemProfiles/network/tailscale.nix + ../systemProfiles/network/goldberg.nix - desktop.ly - desktop.awesome - desktop.sway - #desktop.hyprland + ../systemProfiles/desktop/sway.nix - programs.dconf - programs.fonts - programs.home-manager - # programs.qt - programs.adb - programs.kanidm - programs.openrgb - programs.tools - programs.thunar - programs.corectrl + ../systemProfiles/programs/dconf.nix + ../systemProfiles/programs/fonts.nix + ../systemProfiles/programs/home-manager.nix + # ../systemProfiles/programs/qt.nix + ../systemProfiles/programs/adb.nix + ../systemProfiles/programs/kanidm.nix + ../systemProfiles/programs/openrgb.nix + ../systemProfiles/programs/tools.nix + ../systemProfiles/programs/thunar.nix + ../systemProfiles/programs/corectrl.nix - services.default - services.pipewire - services.flatpak + ../systemProfiles/services/default.nix + ../systemProfiles/services/pipewire.nix + ../systemProfiles/services/flatpak.nix - services.syncthing - services.virt.waydroid - services.virt.virt-manager - services.sunshine - #network.wifi - #services.ollama - desktop.x11.nosleep + ../systemProfiles/services/syncthing.nix + ../systemProfiles/services/virt/waydroid.nix + ../systemProfiles/services/virt/virt-manager.nix + ../systemProfiles/services/sunshine.nix + # ../systemProfiles/network/wifi.nix - themes.dark - # themes.xundark + ../systemProfiles/themes/dark.nix - programs.gamemode - programs.gamescope - programs.steam - programs.RE.default - ]) + ../systemProfiles/programs/gamemode.nix + ../systemProfiles/programs/gamescope.nix + ../systemProfiles/programs/steam.nix + ../systemProfiles/programs/RE/default.nix { home-manager = { @@ -140,58 +113,30 @@ in { }; } ]; + + inherit specialArgs; }; - hopper = { - deployment = { - targetUser = "xun"; - targetHost = "hopper.local"; - }; - imports = lib.flatten [ + hopper = nixosSystem { + modules = [ ./hopper - (with systemProfiles; [ - secrets.default - secrets.hopper.default + ../systemProfiles/secrets/default.nix + ../systemProfiles/secrets/hopper/default.nix - core.security - core.locale - core.tools - core.ssh - core.deploy - nix.default # TODO slim this down + ../systemProfiles/core/security.nix + ../systemProfiles/core/locale.nix + ../systemProfiles/core/tools.nix + ../systemProfiles/core/ssh.nix + ../systemProfiles/core/deploy.nix + ../systemProfiles/nix/default.nix # TODO slim this down - network.tailscale - network.avahi - network.networkd - # services.syncthing # TODO make syncthing not rely on having "xun" user - - #network.avahi - #network.networkd - #network.tailscale - - #services.syncthing - ]) + ../systemProfiles/network/tailscale.nix + ../systemProfiles/network/avahi.nix + ../systemProfiles/network/networkd.nix + # services.syncthing # TODO make syncthing not rely on having "xun" user ]; - }; - liveiso = { - deployment.targetHost = null; - imports = lib.flatten [ - ./liveiso - (with systemProfiles; [ - nix.default - core.security - services.default - ]) - ]; + inherit specialArgs; }; }; - flake.nixosConfigurations = let - l = inputs.nixpkgs.lib; - in - builtins.mapAttrs (_: v: - l.nixosSystem { - inherit specialArgs; - modules = v.imports; - }) (l.filterAttrs (n: _: n != "meta") self.colmena); } diff --git a/nix/machines/hopper/default.nix b/nix/machines/hopper/default.nix index 804f70c..623c278 100644 --- a/nix/machines/hopper/default.nix +++ b/nix/machines/hopper/default.nix @@ -3,7 +3,6 @@ common-cpu-intel inputs.vpn-confinement.nixosModules.default - inputs.authentik-nix.nixosModules.default ./hardware.nix ./newlab.nix diff --git a/nix/machines/hopper/lab.nix b/nix/machines/hopper/lab.nix deleted file mode 100644 index 7182762..0000000 --- a/nix/machines/hopper/lab.nix +++ /dev/null @@ -1,305 +0,0 @@ -## TODO look into sops-nix placeholders -## reference: https://github.com/javigomezo/nixos/blob/b3ebe8d570ea9b37aea8bb3a343f6e16e054e322/services/network/authelia/user_database.nix -{ - pkgs, - inputs, - config, - lib, - ... -}: let - domain = "xunuwu.xyz"; - caddyPort = 8336; - autheliaPort = 24637; -in { - ## TODO use impermanence - ## TODO setup fail2ban mayb - - imports = [inputs.vpn-confinement.nixosModules.default]; - - security.acme = { - acceptTerms = true; - certs.${domain} = { - domain = "*.${domain}"; - dnsProvider = "cloudflare"; - email = "xunuwu@gmail.com"; - reloadServices = ["caddy.service"]; - credentialFiles.CF_DNS_API_TOKEN_FILE = config.sops.secrets.cloudflare.path; - extraDomainNames = [domain]; - }; - }; - - vpnNamespaces."wg" = { - enable = true; - wireguardConfigFile = config.sops.secrets.wireguard-config.path; - accessibleFrom = [ - "192.168.0.0/24" - ]; - - # Forwarded to my vpn, for making things accessible from outside - openVPNPorts = [ - { - port = caddyPort; - protocol = "tcp"; - } - ]; - - # From inside of the vpn namespace to outside of it, for making things inside accessible to LAN - portMappings = [ - { - to = caddyPort; - from = caddyPort; - } - { - to = 7359; # Jellyfin auto-discovery - from = 7359; - } - { - to = 1900; # Jellyfin auto-discovery, TODO check if this actually works and dont forward these if it doesnt - from = 1900; - } - ]; - }; - - networking.firewall = { - allowedTCPPorts = [config.services.navidrome.settings.Port]; - allowedUDPPorts = [1900 7359]; # Jellyfin auto-discovery - }; - - systemd.services.caddy.vpnConfinement = { - enable = true; - vpnNamespace = "wg"; - }; - - services.caddy = { - enable = true; - # extraConfig = let - # gensub = x: "${x}.${domain}:${toString caddyPort}"; - # tls = "tls /var/lib/acme/${domain}/cert.pem /var/lib/acme/${domain}/key.pem"; - # rpPort = port: "reverse_proxy localhost:${toString port}"; - # in '' - # ${gensub "navidrome"} { - # ${tls} - # ${rpPort config.services.navidrome.settings.Port} - # } - # ''; - virtualHosts = let - authelia = "localhost:${toString autheliaPort}"; - in - builtins.mapAttrs (n: v: - { - useACMEHost = domain; - hostName = "${n}.${domain}:${toString caddyPort}"; - } - // v) { - navidrome.extraConfig = '' - reverse_proxy localhost:${toString config.services.navidrome.settings.Port} - ''; - auth.extraConfig = "reverse_proxy ${authelia}"; - #jellyfin.extraConfig = "reverse_proxy localhost:8096"; # TODO tmp off since i dont have proper auth yet - other = { - hostName = ":${toString caddyPort}"; - extraConfig = '' - respond 404 { - body "no such route you dummy" - } - ''; - }; - }; - }; - - systemd.services.navidrome = { - vpnConfinement = { - enable = true; - vpnNamespace = "wg"; - }; - serviceConfig = { - PrivateTmp = true; - NoNewPrivileges = true; - RestrictSUIDSGID = true; - ProtectProc = "invisible"; - }; - }; - - ## TODO might be unnecessary with authelia but specifying a custom PasswordEncryptionKey is recommended - services.navidrome = { - enable = true; - settings = { - Address = "localhost"; - MusicFolder = "/media/library/music"; - - ReverseProxyWhitelist = "0.0.0.0/0"; # cant be accessed from outside since the navidrome port isnt mapped to outside of the wireguard namespace - }; - }; - - systemd.services.authelia-main = { - vpnConfinement = { - enable = true; - vpnNamespace = "wg"; - }; - # serviceConfig.LoadCredential = [ - # "users.yaml:${}" - # ]; - }; - services.authelia.instances.main = { - enable = true; - secrets = { - jwtSecretFile = config.sops.secrets.authelia_jwt_secret.path; - storageEncryptionKeyFile = config.sops.secrets.authelia_encryption_key.path; - sessionSecretFile = config.sops.secrets.authelia_session_secret.path; - }; - settings = { - # might change this to info in the future, for now its nice seeing debug messages if something goes wrong - log.level = "debug"; - - access_control = { - default_policy = "deny"; - rules = [ - { - domain = "*.${domain}"; - policy = "one_factor"; # using totp requires me to set up smtp support :( - } - ]; - }; - - theme = "auto"; - default_2fa_method = "totp"; - ## use ldap backend, not yaml file - ## https://www.authelia.com/configuration/first-factor/ldap/ - # default_redirection_url = "https://auth.${domain}/"; - - notifier.filesystem.filename = "/tmp/authelia-notifier.txt"; ## TODO change this to something reasonable - - authentication_backend = { - password_reset.disable = true; - file.path = pkgs.writers.writeYAML "users.yaml" { - users.xun = { - disabled = false; - displayname = "xun"; - password = "$argon2id$v=19$m=65536,t=3,p=4$cwYrForToKZn7+urMrSXuQ$PStkqPlo/7/GZ+hMsJXfOyZ0WijNtuZpaHWyZUuBWBY"; - email = "xunuwu@gmail.com"; - groups = ["admin"]; - }; - }; - }; - - storage.postgres = { - address = "unix:///run/postgresql"; - database = "authelia-main"; - # this isnt used, ensureDBOwnership allows us to auth to postgres using unix users - username = "authelia-main"; - password = "unused"; - }; - - session.cookies = [ - { - domain = domain; - authelia_url = "https://auth.${domain}"; - default_redirection_url = "https://invalid.${domain}"; # TODO replace with overview thing mayb - } - ]; - - ## TODO: https://www.authelia.com/integration/proxies/forwarded-headers/#cloudflare - - server = { - address = "127.0.0.1:${toString autheliaPort}"; - endpoints.authz.forward-auth.implementation = "ForwardAuth"; - }; - }; - }; - - services.postgresql = let - databases = ["authelia-main"]; - in { - enable = true; - ensureDatabases = databases; - ensureUsers = lib.singleton { - name = "authelia-main"; - ensureDBOwnership = true; - }; - }; - - systemd.services.jellyfin.vpnConfinement = { - enable = true; - vpnNamespace = "wg"; - }; - - services.jellyfin = { - enable = true; - }; - - services.prometheus = { - enable = true; - port = 9001; - extraFlags = ["--storage.tsdb.retention.time=30d"]; - scrapeConfigs = [ - { - job_name = config.networking.hostName; - static_configs = [ - { - targets = ["127.0.0.1:${toString config.services.prometheus.exporters.node.port}"]; - } - ]; - } - ]; - }; - - services.prometheus.exporters = { - node = { - enable = true; - enabledCollectors = ["systemd"]; - }; - }; - - # services.grafana = { - # enable = true; - # domain = "grafana.hopper"; - # addr = "127.0.0.1"; - # security = { - # adminUser = "admin"; - # adminPasswordFile = config.sops.secrets.grafana-pass.path; - # }; - # }; - - ## TODO: add forgejo - - ## ignore this its cringe and ill prob remove it later idk, its also pasted from someone else, idk who tho ## - systemd.services.vpn-test-service = { - enable = true; - - vpnConfinement = { - enable = true; - vpnNamespace = "wg"; - }; - - script = "${pkgs.writeShellApplication { - name = "vpn-test"; - - runtimeInputs = with pkgs; [util-linux unixtools.ping coreutils curl bash libressl netcat-gnu openresolv dig]; - - text = '' - cd "$(mktemp -d)" - - # DNS information - dig google.com - - # Print resolv.conf - echo "/etc/resolv.conf contains:" - cat /etc/resolv.conf - - # Query resolvconf - # echo "resolvconf output:" - # resolvconf -l - # echo "" - - # Get ip - echo "Getting IP:" - curl -s ipinfo.io - - echo -ne "DNS leak test:" - curl -s https://raw.githubusercontent.com/macvk/dnsleaktest/b03ab54d574adbe322ca48cbcb0523be720ad38d/dnsleaktest.sh -o dnsleaktest.sh - chmod +x dnsleaktest.sh - ./dnsleaktest.sh - ''; - }}/bin/vpn-test"; - }; -} diff --git a/nix/machines/liveiso/default.nix b/nix/machines/liveiso/default.nix deleted file mode 100644 index 83878b3..0000000 --- a/nix/machines/liveiso/default.nix +++ /dev/null @@ -1,18 +0,0 @@ -{pkgs, ...}: { - imports = [ - ./tools.nix - ./sway.nix - ]; - - environment.systemPackages = with pkgs; [ - firefox - ]; - - isoImage.edition = "sway-custom"; - - networking.hostName = "liveiso"; - - nixpkgs.hostPlatform = "x86_64-linux"; - - system.stateVersion = "23.11"; -} diff --git a/nix/machines/liveiso/sway.nix b/nix/machines/liveiso/sway.nix deleted file mode 100644 index 97fbb9b..0000000 --- a/nix/machines/liveiso/sway.nix +++ /dev/null @@ -1,17 +0,0 @@ -{modulesPath, ...}: { - imports = [ - "${modulesPath}/installer/cd-dvd/installation-cd-graphical-base.nix" - ]; - - programs.sway = { - enable = true; - }; - - services.displayManager = { - sddm.enable = true; - autoLogin = { - enable = true; - user = "nixos"; - }; - }; -} diff --git a/nix/machines/liveiso/tools.nix b/nix/machines/liveiso/tools.nix deleted file mode 100644 index 992d228..0000000 --- a/nix/machines/liveiso/tools.nix +++ /dev/null @@ -1,7 +0,0 @@ -{pkgs, ...}: { - environment.systemPackages = with pkgs; [ - neovim - parted - gparted - ]; -} diff --git a/nix/machines/nixdesk/jellyfin.nix b/nix/machines/nixdesk/jellyfin.nix deleted file mode 100644 index c75c16f..0000000 --- a/nix/machines/nixdesk/jellyfin.nix +++ /dev/null @@ -1,94 +0,0 @@ -{config, ...}: { - security.acme = { - acceptTerms = true; - defaults = { - email = "xunuwu@gmail.com"; - reloadServices = ["podman-caddy.service"]; - }; - certs = { - "xun.cam" = { - dnsProvider = "cloudflare"; - credentialFiles = { - CF_DNS_API_TOKEN_FILE = config.sops.secrets.cloudflare.path; - }; - extraDomainNames = ["jellyfin.desktop.xun.cam"]; - }; - }; - }; - - virtualisation.podman = { - enable = true; - autoPrune.enable = true; - dockerSocket.enable = true; - }; - - systemd.tmpfiles.rules = [ - "d /media/config/caddy/data 0750 root root -" - "d /media/config/caddy/config 0750 root root -" - "d /media/config/jellyfin/config 0750 root root -" - "d /media/config/jellyfin/cache 0750 root root -" - "d /media/library 0750 root root -" - ]; - - virtualisation.oci-containers = { - backend = "podman"; - - containers = { - gluetun = { - image = "qmcgaw/gluetun:v3"; - volumes = [ - "${config.sops.secrets.wireguard.path}:/gluetun/wireguard/wg0.conf" - ]; - ports = [ - ## This bypasses the firewall - ## use 127.0.0.1:XXXX:XXXX if you only want it to be accessible locally - "8096:8096" # jellyfin local network - "60926:60926" # jellyfin - ]; - - environment = { - VPN_SERVICE_PROVIDER = "airvpn"; - VPN_TYPE = "wireguard"; - SERVER_COUNTRIES = "Netherlands"; - FIREWALL_VPN_INPUT_PORTS = "60926"; - }; - - extraOptions = [ - "--cap-add=NET_ADMIN" - "--device=/dev/net/tun:/dev/net/tun" - ]; - }; - jellyfin = { - image = "jellyfin/jellyfin"; - volumes = [ - "/media/config/jellyfin/config:/config" - "/media/config/jellyfin/cache:/cache" - "/media/library:/library" - ]; - dependsOn = ["gluetun"]; - extraOptions = [ - "--network=container:gluetun" - "--device=/dev/dri:/dev/dri" - ]; - }; - caddy = { - image = "caddy"; - volumes = [ - "${builtins.toFile "Caddyfile" '' - https://jellyfin.desktop.xun.cam:60926 { - tls /etc/ssl/certs/xun.cam/cert.pem /etc/ssl/certs/xun.cam/key.pem - reverse_proxy localhost:8096 - } - ''}:/etc/caddy/Caddyfile" - "/var/lib/acme/xun.cam:/etc/ssl/certs/xun.cam" - "/media/config/caddy/data:/data" - "/media/config/caddy/config:/config" - ]; - dependsOn = ["gluetun"]; - extraOptions = [ - "--network=container:gluetun" - ]; - }; - }; - }; -} diff --git a/nix/sshKeys/xun_nixdesk.nix b/nix/sshKeys/xun_nixdesk.nix deleted file mode 100644 index 496a064..0000000 --- a/nix/sshKeys/xun_nixdesk.nix +++ /dev/null @@ -1 +0,0 @@ -"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKqW5ZkBV2XCdF/ZhwC1DOfrgiLxCC2ym6BO7miHi05M xun@nixdesk" diff --git a/nix/systemProfiles/core/compat.nix b/nix/systemProfiles/core/compat.nix index 066c7bb..47980ae 100644 --- a/nix/systemProfiles/core/compat.nix +++ b/nix/systemProfiles/core/compat.nix @@ -1,8 +1,4 @@ -{ - self, - super, - root, -}: {pkgs, ...}: let +{pkgs, ...}: let list-of-libraries = with pkgs; [ alsa-lib at-spi2-atk diff --git a/nix/systemProfiles/core/deploy.nix b/nix/systemProfiles/core/deploy.nix index b9fd07b..6da229a 100644 --- a/nix/systemProfiles/core/deploy.nix +++ b/nix/systemProfiles/core/deploy.nix @@ -1,8 +1,4 @@ -{ - self, - super, - root, -}: {lib, ...}: { +{lib, ...}: { nix.settings.trusted-users = ["deploy"]; # trust closures created by our user users.groups.deploy = {}; @@ -18,8 +14,8 @@ password = lib.mkForce null; passwordFile = lib.mkForce null; - openssh.authorizedKeys.keys = with root.sshKeys; [ - xun_nixdesk + openssh.authorizedKeys.keyFiles = [ + ../../../sshKeys/xun_nixdesk ]; }; } diff --git a/nix/systemProfiles/core/docs.nix b/nix/systemProfiles/core/docs.nix index 57bbfaa..576e099 100644 --- a/nix/systemProfiles/core/docs.nix +++ b/nix/systemProfiles/core/docs.nix @@ -1,8 +1,4 @@ -{ - self, - super, - root, -}: {pkgs, ...}: { +{pkgs, ...}: { documentation = { dev.enable = true; # man.generateCaches = true; # this does slow down builds by quite a lot diff --git a/nix/systemProfiles/core/locale.nix b/nix/systemProfiles/core/locale.nix index 4111e49..ec028eb 100644 --- a/nix/systemProfiles/core/locale.nix +++ b/nix/systemProfiles/core/locale.nix @@ -1,4 +1,4 @@ -_: {lib, ...}: { +{lib, ...}: { i18n = { defaultLocale = "en_US.UTF-8"; supportedLocales = [ diff --git a/nix/systemProfiles/core/tools.nix b/nix/systemProfiles/core/tools.nix index d713348..acac8c4 100644 --- a/nix/systemProfiles/core/tools.nix +++ b/nix/systemProfiles/core/tools.nix @@ -1,4 +1,4 @@ -{...}: {pkgs, ...}: { +{pkgs, ...}: { environment.systemPackages = with pkgs; [ htop btop diff --git a/nix/systemProfiles/core/users.nix b/nix/systemProfiles/core/users.nix index e481841..cc33c70 100644 --- a/nix/systemProfiles/core/users.nix +++ b/nix/systemProfiles/core/users.nix @@ -1,4 +1,4 @@ -_: {pkgs, ...}: { +{pkgs, ...}: { users.users.xun = { isNormalUser = true; initialPassword = "nixos"; diff --git a/nix/systemProfiles/desktop/awesome.nix b/nix/systemProfiles/desktop/awesome.nix deleted file mode 100644 index 1c1bada..0000000 --- a/nix/systemProfiles/desktop/awesome.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ - imports = [ - ./x11 - ]; - services.xserver = { - enable = true; - windowManager.awesome.enable = true; - }; -} diff --git a/nix/systemProfiles/desktop/hyprland.nix b/nix/systemProfiles/desktop/hyprland.nix deleted file mode 100644 index daa1aa6..0000000 --- a/nix/systemProfiles/desktop/hyprland.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - programs.hyprland = { - enable = true; - }; -} diff --git a/nix/systemProfiles/desktop/ly.nix b/nix/systemProfiles/desktop/ly.nix deleted file mode 100644 index 2efa817..0000000 --- a/nix/systemProfiles/desktop/ly.nix +++ /dev/null @@ -1,3 +0,0 @@ -{ - services.displayManager.ly.enable = true; -} diff --git a/nix/systemProfiles/desktop/x11/default.nix b/nix/systemProfiles/desktop/x11/default.nix deleted file mode 100644 index 357a6f9..0000000 --- a/nix/systemProfiles/desktop/x11/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{...}: { - imports = [ - ./xclip.nix - ]; -} diff --git a/nix/systemProfiles/desktop/x11/nosleep.nix b/nix/systemProfiles/desktop/x11/nosleep.nix deleted file mode 100644 index 22bf299..0000000 --- a/nix/systemProfiles/desktop/x11/nosleep.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ - services.xserver.serverFlagsSection = '' - Option "BlankTime" "0" - Option "StandbyTime" "0" - Option "SuspendTime" "0" - Option "OffTime" "0" - ''; -} diff --git a/nix/systemProfiles/desktop/x11/xclip.nix b/nix/systemProfiles/desktop/x11/xclip.nix deleted file mode 100644 index 45b4c09..0000000 --- a/nix/systemProfiles/desktop/x11/xclip.nix +++ /dev/null @@ -1,3 +0,0 @@ -{pkgs, ...}: { - environment.systemPackages = with pkgs; [xclip]; -} diff --git a/nix/systemProfiles/network/localsend.nix b/nix/systemProfiles/network/localsend.nix index 3f2066f..d28c474 100644 --- a/nix/systemProfiles/network/localsend.nix +++ b/nix/systemProfiles/network/localsend.nix @@ -1,8 +1,4 @@ -{ - self, - super, - root, -}: {pkgs, ...}: { +{pkgs, ...}: { environment.systemPackages = with pkgs; [ localsend ]; diff --git a/nix/systemProfiles/network/tailscale.nix b/nix/systemProfiles/network/tailscale.nix index 8c488ec..0e017f0 100644 --- a/nix/systemProfiles/network/tailscale.nix +++ b/nix/systemProfiles/network/tailscale.nix @@ -1,8 +1,4 @@ { - self, - super, - root, -}: {config, ...}: { services.tailscale = { enable = true; openFirewall = true; diff --git a/nix/systemProfiles/nix/default.nix b/nix/systemProfiles/nix/default.nix index fe30dd0..0e8f32f 100644 --- a/nix/systemProfiles/nix/default.nix +++ b/nix/systemProfiles/nix/default.nix @@ -1,8 +1,4 @@ { - self, - super, - root, -}: { config, pkgs, inputs, @@ -10,7 +6,7 @@ ... }: { imports = [ - super.substituters + ./substituters.nix ]; # git is needed for flakes diff --git a/nix/systemProfiles/nix/substituters.nix b/nix/systemProfiles/nix/substituters.nix index cd271f6..bb2d804 100644 --- a/nix/systemProfiles/nix/substituters.nix +++ b/nix/systemProfiles/nix/substituters.nix @@ -1,8 +1,4 @@ { - self, - super, - root, -}: { nix.settings = { substituters = [ # high priority since it's almost always used diff --git a/nix/systemProfiles/programs/RE/default.nix b/nix/systemProfiles/programs/RE/default.nix index f2df502..f6f0aff 100644 --- a/nix/systemProfiles/programs/RE/default.nix +++ b/nix/systemProfiles/programs/RE/default.nix @@ -1,9 +1,5 @@ # patchelf --replace-needed libbinaryninjacore.so.1 ${symlinkJoin} $out/opt/binaryninja { - self, - super, - root, -}: { pkgs, self, ... diff --git a/nix/systemProfiles/programs/fonts.nix b/nix/systemProfiles/programs/fonts.nix index ca3d212..ac63a57 100644 --- a/nix/systemProfiles/programs/fonts.nix +++ b/nix/systemProfiles/programs/fonts.nix @@ -1,4 +1,4 @@ -_: { +{ pkgs, self, ... diff --git a/nix/systemProfiles/programs/home-manager.nix b/nix/systemProfiles/programs/home-manager.nix index 925a30f..99f9df1 100644 --- a/nix/systemProfiles/programs/home-manager.nix +++ b/nix/systemProfiles/programs/home-manager.nix @@ -1,4 +1,4 @@ -{...}: {inputs, ...}: { +{inputs, ...}: { imports = [ inputs.home-manager.nixosModules.default ]; diff --git a/nix/systemProfiles/programs/kanidm.nix b/nix/systemProfiles/programs/kanidm.nix index e33371c..f38bb9b 100644 --- a/nix/systemProfiles/programs/kanidm.nix +++ b/nix/systemProfiles/programs/kanidm.nix @@ -1,4 +1,4 @@ -_: {pkgs, ...}: { +{pkgs, ...}: { services.kanidm = { enableClient = true; package = pkgs.kanidm_1_4; diff --git a/nix/systemProfiles/programs/steam.nix b/nix/systemProfiles/programs/steam.nix index 02ebfe3..f0327ef 100644 --- a/nix/systemProfiles/programs/steam.nix +++ b/nix/systemProfiles/programs/steam.nix @@ -1,4 +1,4 @@ -_: {pkgs, ...}: { +{pkgs, ...}: { programs.steam = { enable = true; remotePlay.openFirewall = true; diff --git a/nix/systemProfiles/programs/thunar.nix b/nix/systemProfiles/programs/thunar.nix index d48c848..38caf4a 100644 --- a/nix/systemProfiles/programs/thunar.nix +++ b/nix/systemProfiles/programs/thunar.nix @@ -1,4 +1,4 @@ -_: {pkgs, ...}: { +{pkgs, ...}: { services.tumbler.enable = true; # image thumbnails programs.thunar = { enable = true; diff --git a/nix/systemProfiles/programs/tools.nix b/nix/systemProfiles/programs/tools.nix index ab21520..a8cc056 100644 --- a/nix/systemProfiles/programs/tools.nix +++ b/nix/systemProfiles/programs/tools.nix @@ -1,8 +1,4 @@ -{...}: { - pkgs, - config, - ... -}: { +{pkgs, ...}: { environment.systemPackages = with pkgs; [ vim htop diff --git a/nix/systemProfiles/secrets/default.nix b/nix/systemProfiles/secrets/default.nix index ef6fd81..ab8fde3 100644 --- a/nix/systemProfiles/secrets/default.nix +++ b/nix/systemProfiles/secrets/default.nix @@ -1,4 +1,4 @@ -_: {inputs, ...}: { +{inputs, ...}: { imports = [ inputs.sops-nix.nixosModules.sops ./global diff --git a/nix/systemProfiles/secrets/hopper/default.nix b/nix/systemProfiles/secrets/hopper/default.nix index ceade3a..bfad36c 100644 --- a/nix/systemProfiles/secrets/hopper/default.nix +++ b/nix/systemProfiles/secrets/hopper/default.nix @@ -1,5 +1,5 @@ ## TODO use defaultSopsFile mayb -_: {config, ...}: let +{config, ...}: let # autheliaUser = config.services.authelia.instances.main.user; in { sops.secrets = { diff --git a/nix/systemProfiles/services/containers/experimental/beets.yaml b/nix/systemProfiles/services/containers/experimental/beets.yaml deleted file mode 100644 index 87a490b..0000000 --- a/nix/systemProfiles/services/containers/experimental/beets.yaml +++ /dev/null @@ -1,92 +0,0 @@ -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, - duplicates, - unimported, - missing, -] - -genres: yes - -unimported: - ignore_extensions: jpg png - -spotify: - source_weight: 0.7 - -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: '[]' diff --git a/nix/systemProfiles/services/containers/experimental/default.nix b/nix/systemProfiles/services/containers/experimental/default.nix deleted file mode 100644 index f27d592..0000000 --- a/nix/systemProfiles/services/containers/experimental/default.nix +++ /dev/null @@ -1,183 +0,0 @@ -{config, ...}: { - imports = [ - #./smbshare.nix - ]; - virtualisation.podman = { - enable = true; - autoPrune.enable = true; - dockerSocket.enable = true; - }; - - security.acme = { - acceptTerms = true; - defaults = { - email = "xunuwu@gmail.com"; - reloadServices = ["podman-caddy.service"]; - }; - certs = { - "xunuwu.xyz" = { - dnsProvider = "cloudflare"; - credentialFiles = { - CF_DNS_API_TOKEN_FILE = config.sops.secrets.cloudflare.path; - }; - extraDomainNames = [ - "jellyfin.xunuwu.xyz" - "wakapi.xunuwu.xyz" - ]; - }; - }; - }; - - virtualisation.oci-containers = { - backend = "podman"; - - containers = { - gluetun = { - image = "qmcgaw/gluetun:v3"; - volumes = [ - "${config.sops.secrets.wireguard.path}:/gluetun/wireguard/wg0.conf" - ]; - ports = [ - ## This bypasses the firewall - ## use 127.0.0.1:XXXX:XXXX if you only want it to be accessible locally - "127.0.0.1:8191:8191" # flaresolverr - "9117:9117" # jackett - "8080:8080" # qbittorrent webui - "5030:5030" # slskd - "8096:8096" # jellyfin - "8336:8336" # jellyfin - ]; - - environment = { - VPN_SERVICE_PROVIDER = "airvpn"; - VPN_TYPE = "wireguard"; - SERVER_COUNTRIES = "Netherlands"; - FIREWALL_VPN_INPUT_PORTS = "11936,8336,14795"; - }; - - extraOptions = [ - "--cap-add=NET_ADMIN" - "--device=/dev/net/tun:/dev/net/tun" - ]; - }; - qbittorrent = { - image = "lscr.io/linuxserver/qbittorrent:latest"; - - environment = { - WEBUI_PORT = "8080"; - TORRENTING_PORT = "11936"; - }; - - volumes = [ - "/media/config/qbittorrent:/config" - "${config.sops.secrets.jackett.path}:/config/qBittorrent/nova3/engines/jackett.json" - "/media/downloads:/downloads" - ]; - - dependsOn = ["gluetun"]; - extraOptions = [ - "--network=container:gluetun" - ]; - }; - flaresolverr = { - image = "flaresolverr/flaresolverr"; - environment = { - LOG_LEVEL = "info"; - }; - dependsOn = ["gluetun"]; - extraOptions = [ - "--network=container:gluetun" - ]; - }; - jellyfin = { - image = "jellyfin/jellyfin:2024052005"; - volumes = [ - "/media/config/jellyfin/config:/config" - "/media/config/jellyfin/cache:/cache" - "/media/library:/library" - "/media/downloads:/library/downloads" - ]; - dependsOn = ["gluetun"]; - extraOptions = [ - "--network=container:gluetun" - ]; - }; - jackett = { - image = "lscr.io/linuxserver/jackett:latest"; - volumes = [ - "/media/config/jackett:/config" - ]; - dependsOn = ["gluetun"]; - extraOptions = [ - "--network=container:gluetun" - ]; - }; - slskd = { - image = "slskd/slskd"; - volumes = [ - "/var/lib/slskd:/app" - "/media/slskd/downloads:/downloads" - "/media/slskd/incomplete:/incomplete" - "/media/library/music:/shares/music" - "${config.sops.secrets.slskd.path}:/app/slskd.yml" - ]; - dependsOn = ["gluetun"]; - extraOptions = [ - "--network=container:gluetun" - ]; - }; - caddy = { - image = "caddy"; - volumes = [ - "${builtins.toFile "Caddyfile" '' - https://jellyfin.xunuwu.xyz:8336 { - tls /etc/ssl/certs/xunuwu.xyz/cert.pem /etc/ssl/certs/xunuwu.xyz/key.pem - reverse_proxy localhost:8096 - } - https://wakapi.xunuwu.xyz:8336 { - tls /etc/ssl/certs/xunuwu.xyz/cert.pem /etc/ssl/certs/xunuwu.xyz/key.pem - reverse_proxy localhost:3000 - } - ''}:/etc/caddy/Caddyfile" - "/var/lib/acme/xunuwu.xyz:/etc/ssl/certs/xunuwu.xyz" - "/media/config/caddy/data:/data" - "/media/config/caddy/config:/config" - ]; - dependsOn = ["gluetun"]; - extraOptions = [ - "--network=container:gluetun" - ]; - }; - betanin = { - image = "sentriz/betanin"; - environment = { - UID = "1000"; - GID = "1000"; - }; - ports = ["9393:9393"]; - volumes = [ - "/media/config/betanin/data:/b/.local/share/betanin" - "/media/config/betanin/config:/b/.config/betanin" - "/media/config/betanin/beets:/b/.config/beets" - "${config.sops.secrets.betanin.path}:/b/.config/beets/secrets.yaml" - "${./beets.yaml}:/b/.config/beets/config.yaml" - "/media/library/music:/music" - "/media/slskd/downloads:/downloads/slskd" - "/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" - ]; - }; - }; - }; -} diff --git a/nix/systemProfiles/services/containers/experimental/smbshare.nix b/nix/systemProfiles/services/containers/experimental/smbshare.nix deleted file mode 100644 index 78d75ea..0000000 --- a/nix/systemProfiles/services/containers/experimental/smbshare.nix +++ /dev/null @@ -1,27 +0,0 @@ -{pkgs, ...}: { - services.samba = { - enable = true; - package = pkgs.samba4Full; - openFirewall = true; - shares = { - "torrent" = { - path = "/media/downloads"; - browseable = "yes"; - "guest ok" = "yes"; - "read only" = "yes"; - "write list" = "xun"; - }; - "library" = { - path = "/media/library"; - browseable = "yes"; - "guest ok" = "yes"; - "read only" = "yes"; - "write list" = "xun"; - }; - }; - }; - services.samba-wsdd = { - enable = true; - openFirewall = true; - }; -} diff --git a/nix/systemProfiles/services/containers/server/default.nix b/nix/systemProfiles/services/containers/server/default.nix deleted file mode 100644 index ac7585b..0000000 --- a/nix/systemProfiles/services/containers/server/default.nix +++ /dev/null @@ -1,707 +0,0 @@ -{ - config, - pkgs, - ... -}: { - imports = [ - #./statistics - ]; - - ### temp disabled - ###services.samba = { - ### enable = true; - ### package = pkgs.samba4Full; - ### openFirewall = true; - ### shares."torrent-downloads" = { - ### path = "/media/downloads/complete"; - ### browseable = "yes"; - ### "read only" = "yes"; - ### "guest ok" = "no"; - ### }; - ### #shares."decky-cloud-save" = { - ### # path = "/media/gamesaves"; - ### # browseable = "yes"; - ### # "read only" = "no"; - ### # "guest ok" = "no"; - ### #}; - ### extraConfig = '' - ### server smb encrypt = required - ### server min protocol = SMB3_00 - ### ''; - ###}; - ###services.samba-wsdd = { - ### # This enables autodiscovery on windows since SMB1 (and thus netbios) support was discontinued - ### enable = true; - ### openFirewall = true; - ###}; - - #virtualisation.docker = { - # enable = true; - # enableOnBoot = true; - # autoPrune.enable = true; - #}; - - systemd.tmpfiles.rules = [ - "d /var/lib/code-server 0750 root root -" - "d /var/lib/slskd 0750 root root -" - ]; - - users.groups."media" = {}; # create media group - - # this needs to be done manually since transmission is in a docker container - users.users."media" = { - isSystemUser = true; - group = "media"; - }; - - systemd.services."${config.virtualisation.oci-containers.backend}-transmission".serviceConfig = { - StateDirectory = [ - "${config.virtualisation.oci-containers.backend}/transmission/downloads" - "${config.virtualisation.oci-containers.backend}/transmission/config" - "${config.virtualisation.oci-containers.backend}/transmission/watch" - ]; - }; - - #security.acme = { - # acceptTerms = true; - # defaults.email = "xunuwu@gmail.com"; - # certs."air.xun.cam" = { - # dnsProvider = "cloudflare"; - # credentialsFile = config.sops.secrets.cloudflare.path; - # }; - #}; - - #systemd.services."${config.virtualisation.oci-containers.backend}-jellyfin".serviceConfig = { - # StateDirectory = [ - # "${config.virtualisation.oci-containers.backend}/jellyfin/config" - # "${config.virtualisation.oci-containers.backend}/jellyfin/cache" - # "${config.virtualisation.oci-containers.backend}/jellyfin/media" - # ]; - #}; - - #services.jellyfin = { - # enable = true; - # openFirewall = true; - # group = "media"; - #}; - - #services.radarr = { - # enable = true; - # group = "media"; - # openFirewall = true; # 7878 - #}; - - #services.sonarr = { - # enable = true; - # group = "media"; - # openFirewall = true; # 8989 - #}; - - #services.prowlarr = { - # enable = true; - # openFirewall = true; # 9696 - #}; - - virtualisation.podman = { - enable = true; - autoPrune.enable = true; - dockerSocket.enable = true; - }; - - virtualisation.oci-containers = { - backend = "podman"; - - containers = { - gluetun = { - image = "qmcgaw/gluetun:v3"; - - volumes = [ - "${config.sops.secrets.wireguard.path}:/gluetun/wireguard/wg0.conf" - ]; - - ports = [ - # Transmission port - ## This bypasses the firewall, use 127.0.0.1:XXXX:XXXX - ## if you only want it to be accessible locally - "9091:9091" - "127.0.0.1:8191:8191" # flaresolverr - "9696:9696" # prowlarr - "8989:8989" # sonarr - "7878:7878" # radarr - #"8443:8443" # code-server - "5030:5030" # slskd - "5031:5031" # slskd https - "8096:8096" # jellyfin - "8920:8920" # jellyfin https - "8080:8080" # qbittorrent webui - ]; - - environment = { - VPN_SERVICE_PROVIDER = "airvpn"; - VPN_TYPE = "wireguard"; - SERVER_COUNTRIES = "Netherlands"; - FIREWALL_VPN_INPUT_PORTS = "11936,8096,14795"; - }; - - extraOptions = [ - "--cap-add=NET_ADMIN" - "--device=/dev/net/tun:/dev/net/tun" - ]; - }; - - slskd = { - image = "slskd/slskd"; - volumes = [ - "/var/lib/slskd:/app" - "/media/slskd/downloads:/downloads" - "/media/slskd/incomplete:/incomplete" - "/media/library/music:/shares/music" - "${config.sops.secrets.slskd.path}:/app/slskd.yml" - ]; - dependsOn = ["gluetun"]; - extraOptions = [ - "--network=container:gluetun" - ]; - }; - - beets = { - image = "lscr.io/linuxserver/beets:latest"; - volumes = [ - "/media/config/beets:/config" - "/media/library/music:/music" - "/media/slskd/downloads:/downloads" - ]; - }; - - jellyfin = { - image = "jellyfin/jellyfin"; - volumes = [ - "/media/config/jellyfin/config:/config" - "/media/config/jellyfin/cache:/cache" - "/media/library:/library" - ]; - dependsOn = ["gluetun"]; - extraOptions = [ - "--network=container:gluetun" - ]; - }; - - #betanin = { - # image = "sentriz/betanin"; - # ports = [ - # "9393:9393" - # ]; - # volumes = [ - # "/media/config/betanin/data:/b/.local/share/betanin" - # "/media/config/betanin/config:/b/.config/betanin" - # "/media/config/betanin/beets:/b/.config/beets/" - # "${pkgs.writeText "config.yaml" '' - # # --------------- Main --------------- - # - # library: library.db - # directory: /music - # statefile: state.pickle - # - # # --------------- Plugins --------------- - # - # plugins: [] - # pluginpath: [] - # - # # --------------- Import --------------- - # - # clutter: ["Thumbs.DB", ".DS_Store"] - # ignore: [".*", "*~", "System Volume Information", "lost+found"] - # ignore_hidden: yes - # - # import: - # # common options - # write: yes - # copy: yes - # move: no - # timid: no - # quiet: no - # log: - # # other options - # default_action: apply - # languages: [] - # quiet_fallback: skip - # none_rec_action: ask - # # rare options - # link: no - # hardlink: no - # reflink: no - # delete: no - # resume: ask - # incremental: no - # incremental_skip_later: no - # from_scratch: no - # autotag: yes - # singletons: no - # detail: no - # flat: no - # group_albums: no - # pretend: false - # search_ids: [] - # duplicate_keys: - # album: albumartist album - # item: artist title - # duplicate_action: ask - # duplicate_verbose_prompt: no - # bell: no - # set_fields: {} - # ignored_alias_types: [] - # singleton_album_disambig: yes - # - # # --------------- Paths --------------- - # - # path_sep_replace: _ - # drive_sep_replace: _ - # asciify_paths: false - # art_filename: cover - # max_filename_length: 0 - # replace: - # # Replace bad characters with _ - # # prohibited in many filesystem paths - # '[<>:\?\*\|]': _ - # # double quotation mark " - # '\"': _ - # # path separators: \ or / - # '[\\/]': _ - # # starting and closing periods - # '^\.': _ - # '\.$': _ - # # control characters - # '[\x00-\x1f]': _ - # # dash at the start of a filename (causes command line ambiguity) - # '^-': _ - # # Replace bad characters with nothing - # # starting and closing whitespace - # '\s+$': ''\'''\' - # '^\s+': ''\'''\' - # - # aunique: - # keys: albumartist album - # disambiguators: albumtype year label catalognum albumdisambig releasegroupdisambig - # bracket: '[]' - # - # sunique: - # keys: artist title - # disambiguators: year trackdisambig - # bracket: '[]' - # - # # --------------- Tagging --------------- - # - # per_disc_numbering: no - # original_date: no - # artist_credit: no - # id3v23: no - # va_name: "Various Artists" - # paths: - # default: $albumartist/$album%aunique{}/$track $title - # singleton: Non-Album/$artist/$title - # comp: Compilations/$album%aunique{}/$track $title - # - # # --------------- Performance --------------- - # - # threaded: yes - # timeout: 5.0 - # - # # --------------- UI --------------- - # - # verbose: 0 - # terminal_encoding: - # - # ui: - # terminal_width: 80 - # length_diff_thresh: 10.0 - # color: yes - # colors: - # text_success: ['bold', 'green'] - # text_warning: ['bold', 'yellow'] - # text_error: ['bold', 'red'] - # text_highlight: ['bold', 'red'] - # text_highlight_minor: ['white'] - # action_default: ['bold', 'cyan'] - # action: ['bold', 'cyan'] - # # New Colors - # text: ['normal'] - # text_faint: ['faint'] - # import_path: ['bold', 'blue'] - # import_path_items: ['bold', 'blue'] - # added: ['green'] - # removed: ['red'] - # changed: ['yellow'] - # added_highlight: ['bold', 'green'] - # removed_highlight: ['bold', 'red'] - # changed_highlight: ['bold', 'yellow'] - # text_diff_added: ['bold', 'red'] - # text_diff_removed: ['bold', 'red'] - # text_diff_changed: ['bold', 'red'] - # action_description: ['white'] - # import: - # indentation: - # match_header: 2 - # match_details: 2 - # match_tracklist: 5 - # layout: column - # - # # --------------- Search --------------- - # - # format_item: $artist - $album - $title - # format_album: $albumartist - $album - # time_format: '%Y-%m-%d %H:%M:%S' - # format_raw_length: no - # - # sort_album: albumartist+ album+ - # sort_item: artist+ album+ disc+ track+ - # sort_case_insensitive: yes - # - # # --------------- Autotagger --------------- - # - # overwrite_null: - # album: [] - # track: [] - # musicbrainz: - # enabled: yes - # host: musicbrainz.org - # https: no - # ratelimit: 1 - # ratelimit_interval: 1.0 - # searchlimit: 5 - # extra_tags: [] - # genres: no - # external_ids: - # discogs: no - # bandcamp: no - # spotify: no - # deezer: no - # beatport: no - # tidal: no - # - # match: - # strong_rec_thresh: 0.04 - # medium_rec_thresh: 0.25 - # rec_gap_thresh: 0.25 - # max_rec: - # missing_tracks: medium - # unmatched_tracks: medium - # distance_weights: - # source: 2.0 - # artist: 3.0 - # album: 3.0 - # media: 1.0 - # mediums: 1.0 - # year: 1.0 - # country: 0.5 - # label: 0.5 - # catalognum: 0.5 - # albumdisambig: 0.5 - # album_id: 5.0 - # tracks: 2.0 - # missing_tracks: 0.9 - # unmatched_tracks: 0.6 - # track_title: 3.0 - # track_artist: 2.0 - # track_index: 1.0 - # track_length: 2.0 - # track_id: 5.0 - # preferred: - # countries: [] - # media: [] - # original_year: no - # ignored: [] - # required: [] - # ignored_media: [] - # ignore_data_tracks: yes - # ignore_video_tracks: yes - # track_length_grace: 10 - # track_length_max: 30 - # album_disambig_fields: data_source media year country label catalognum albumdisambig - # singleton_disambig_fields: data_source index track_alt album - # ''}:/b/.config/beets/config.yaml" - # "/media/music:/music" - # "/media/slskd/downloads:/downloads" - # ]; - #}; - - #beets = { - # image = "lscr.io/linuxserver/beets:latest"; - # volumes = [ - # "/media/config/beets:/config" - # "/media/music:/music" - # "/media/slskd/downloads:/downloads" - # ]; - #}; - - code-server = { - image = "lscr.io/linuxserver/code-server:latest"; - volumes = [ - "/var/lib/code-server:/config" - ]; - environmentFiles = [ - config.sops.secrets.code-server.path - ]; - dependsOn = ["gluetun"]; - extraOptions = [ - #"--group-add ${config.security.acme.defaults.group}" - "--network=container:gluetun" - ]; - }; - - #jellyseerr = { - # image = "fallenbagel/jellyseerr:latest"; - # ports = [ - # "5055:5055" - # ]; - # volumes = [ - # "/media/config/jellyseerr:/app/config" - # ]; - # extraOptions = [ - # "--network=host" - # ]; - #}; - - recyclarr = { - image = "ghcr.io/recyclarr/recyclarr"; - volumes = [ - #"/media/config/recyclarr:/config" - "${pkgs.writeText "recyclarr.yml" '' - sonarr: - sonarr-main: - base_url: http://localhost:8989 - api_key: !env_var SONARR_API_KEY - delete_old_custom_formats: true - replace_existing_custom_formats: true - quality_definition: - type: series - custom_formats: - - trash_ids: - # Unwanted - - 85c61753df5da1fb2aab6f2a47426b09 # BR-DISK - - 9c11cd3f07101cdba90a2d81cf0e56b4 # LQ - - 47435ece6b99a0b477caf360e79ba0bb # x265 - # Misc - - ec8fa7296b64e8cd390a1600981f3923 # Repack/Proper - - eb3d5cc0a2be0db205fb823640db6a3c # Repack v2 - - 44e7c4de10ae50265753082e5dc76047 # Repack v3 - # Streaming Services - - d660701077794679fd59e8bdf4ce3a29 # AMZN - - f67c9ca88f463a48346062e8ad07713f # ATVP - - 36b72f59f4ea20aad9316f475f2d9fbb # DCU - - 89358767a60cc28783cdc3d0be9388a4 # DNSP - - 7a235133c87f7da4c8cccceca7e3c7a6 # HBO - - a880d6abc21e7c16884f3ae393f84179 # HMAX - - f6cce30f1733d5c8194222a7507909bb # HULU - - 0ac24a2a68a9700bcb7eeca8e5cd644c # iT - - d34870697c9db575f17700212167be23 # NF - - b2b980877494b560443631eb1f473867 # NLZ - - 1656adc6d7bb2c8cca6acfb6592db421 # PCOK - - c67a75ae4a1715f2bb4d492755ba4195 # PMTP - - 3ac5d84fce98bab1b531393e9c82f467 # QIBI - - c30d2958827d1867c73318a5a2957eb1 # RED - - ae58039e1319178e6be73caab5c42166 # SHO - - 1efe8da11bfd74fbbcd4d8117ddb9213 # STAN - - 5d2317d99af813b6529c7ebf01c83533 # VDL - - 77a7b25585c18af08f60b1547bb9b4fb # CC - # HQ Source Groups - - e6258996055b9fbab7e9cb2f75819294 # WEB Tier 01 - - 58790d4e2fdcd9733aa7ae68ba2bb503 # WEB Tier 02 - - d84935abd3f8556dcd51d4f27e22d0a6 # WEB Tier 03 - - d0c516558625b04b363fa6c5c2c7cfd4 # WEB Scene - quality_profiles: - - name: TRaSH 720/1080 - - trash_ids: - - 949c16fe0a8147f50ba82cc2df9411c9 # Anime BD Tier 01 (Top SeaDex Muxers) - - ed7f1e315e000aef424a58517fa48727 # Anime BD Tier 02 (SeaDex Muxers) - - 096e406c92baa713da4a72d88030b815 # Anime BD Tier 03 (SeaDex Muxers) - - 30feba9da3030c5ed1e0f7d610bcadc4 # Anime BD Tier 04 (SeaDex Muxers) - - 545a76b14ddc349b8b185a6344e28b04 # Anime BD Tier 05 (Remuxes) - - 25d2afecab632b1582eaf03b63055f72 # Anime BD Tier 06 (FanSubs) - - 0329044e3d9137b08502a9f84a7e58db # Anime BD Tier 07 (P2P/Scene) - - c81bbfb47fed3d5a3ad027d077f889de # Anime BD Tier 08 (Mini Encodes) - - e0014372773c8f0e1bef8824f00c7dc4 # Anime Web Tier 01 (Muxers) - - 19180499de5ef2b84b6ec59aae444696 # Anime Web Tier 02 (Top FanSubs) - - e6258996055b9fbab7e9cb2f75819294 # WEB Tier 01 - - 58790d4e2fdcd9733aa7ae68ba2bb503 # WEB Tier 02 - - c27f2ae6a4e82373b0f1da094e2489ad # Anime Web Tier 03 (Official Subs) - - d84935abd3f8556dcd51d4f27e22d0a6 # WEB Tier 03 - - 4fd5528a3a8024e6b49f9c67053ea5f3 # Anime Web Tier 04 (Official Subs) - - 29c2a13d091144f63307e4a8ce963a39 # Anime Web Tier 05 (FanSubs) - - dc262f88d74c651b12e9d90b39f6c753 # Anime Web Tier 06 (FanSubs) - # Unwanted - - b4a1b3d705159cdca36d71e57ca86871 # Anime Raws - - e3515e519f3b1360cbfc17651944354c # Anime LQ Groups - - 15a05bc7c1a36e2b57fd628f8977e2fc # AV1 - - 026d5aadd1a6b4e550b134cb6c72b3ca # Uncensored - - d2d7b8a9d39413da5f44054080e028a3 # v0 - - 9c14d194486c4014d422adc64092d794 # Dubs Only - - 07a32f77690263bb9fda1842db7e273f # VOSTFR - # Optionals - - 273bd326df95955e1b6c26527d1df89b # v1 - - 228b8ee9aa0a609463efca874524a6b8 # v2 - - 0e5833d3af2cc5fa96a0c29cd4477feb # v3 - - 4fc15eeb8f2f9a749f918217d4234ad8 # v4 - - b2550eb333d27b75833e25b8c2557b38 # 10bit - # Streaming Services - - d660701077794679fd59e8bdf4ce3a29 # AMZN - - 7dd31f3dee6d2ef8eeaa156e23c3857e # B-Global - - 4c67ff059210182b59cdd41697b8cb08 # Bilibili - - 3e0b26604165f463f3e8e192261e7284 # CR - - 89358767a60cc28783cdc3d0be9388a4 # DSNP - - 1284d18e693de8efe0fe7d6b3e0b9170 # FUNi - - 570b03b3145a25011bf073274a407259 # HIDIVE - - d34870697c9db575f17700212167be23 # NF - - 44a8ee6403071dd7b8a3a8dd3fe8cb20 # VRV - quality_profiles: - - name: TRaSH Anime - - trash_ids: - - 418f50b10f1907201b6cfdf881f467b7 # Anime Dual Audio - quality_profiles: - - name: TRaSH Anime - score: 2000 - radarr: - radarr-main: - base_url: http://localhost:7878 - api_key: !env_var RADARR_API_KEY - quality_definition: - type: movie - delete_old_custom_formats: true - replace_existing_custom_formats: true - custom_formats: - - trash_ids: - # HD Bluray + WEB - # Movie Versions - - 0f12c086e289cf966fa5948eac571f44 # Hybrid - - 570bc9ebecd92723d2d21500f4be314c # Remaster - - eca37840c13c6ef2dd0262b141a5482f # 4K Remaster - - e0c07d59beb37348e975a930d5e50319 # Criterion Collection - - 9d27d9d2181838f76dee150882bdc58c # Masters of Cinema - - 957d0f44b592285f26449575e8b1167e # Special Edition - - eecf3a857724171f968a66cb5719e152 # IMAX - - 9f6cbff8cfe4ebbc1bde14c7b7bec0de # IMAX Enhanced - # HQ Release Groups - - ed27ebfef2f323e964fb1f61391bcb35 # HD Bluray Tier 01 - - c20c8647f2746a1f4c4262b0fbbeeeae # HD Bluray Tier 02 - - c20f169ef63c5f40c2def54abaf4438e # WEB Tier 01 - - 403816d65392c79236dcb6dd591aeda4 # WEB Tier 02 - - af94e0fe497124d1f9ce732069ec8c3b # WEB Tier 03 - # Misc - - e7718d7a3ce595f289bfee26adc178f5 # Repack/Proper - - ae43b294509409a6a13919dedd4764c4 # Repack2 - # Unwanted - - ed38b889b31be83fda192888e2286d83 # BR-DISK - - 90a6f9a284dff5103f6346090e6280c8 # LQ - - dc98083864ea246d05a42df0d05f81cc # x265 - - b8cd450cbfa689c0259a01d9e29ba3d6 # 3D - # Streaming Services - - b3b3a6ac74ecbd56bcdbefa4799fb9df # AMZN - - 40e9380490e748672c2522eaaeb692f7 # ATVP - - cc5e51a9e85a6296ceefe097a77f12f4 # BCORE - - 84272245b2988854bfb76a16e60baea5 # DNSP - - 509e5f41146e278f9eab1ddaceb34515 # DBO - - 5763d1b0ce84aff3b21038eea8e9b8ad # HMAX - - 526d445d4c16214309f0fd2b3be18a89 # Hulu - - 2a6039655313bf5dab1e43523b62c374 # MA - - 170b1d363bd8516fbf3a3eb05d4faff6 # NF - - bf7e73dd1d85b12cc527dc619761c840 # Pathe - - c9fd353f8f5f1baf56dc601c4cb29920 # PCOK - - e36a0ba1bc902b26ee40818a1d59b8bd # PMTP - - c2863d2a50c9acad1fb50e53ece60817 # STAN - quality_profiles: - - name: TRaSH 720/1080 - ''}:/config/recyclarr.yml" - ]; - environmentFiles = [ - config.sops.secrets.serverenv.path - ]; - environment = { - PUID = toString config.users.users."media".uid; - PGID = toString config.users.groups."media".gid; - }; - extraOptions = [ - "--network=host" - ]; - }; - - prowlarr = { - image = "lscr.io/linuxserver/prowlarr:latest"; - volumes = [ - "/media/config/prowlarr:/config" - ]; - environment = { - PUID = toString config.users.users."media".uid; - PGID = toString config.users.groups."media".gid; - }; - dependsOn = ["gluetun"]; - extraOptions = [ - "--network=container:gluetun" - ]; - }; - - sonarr = { - image = "lscr.io/linuxserver/sonarr:latest"; - volumes = [ - "/media/config/sonarr:/config" - "/media/library/tvseries:/tv" - "/media/downloads:/downloads" - ]; - environment = { - PUID = toString config.users.users."media".uid; - PGID = toString config.users.groups."media".gid; - }; - dependsOn = ["gluetun"]; - extraOptions = [ - "--network=container:gluetun" - ]; - }; - - radarr = { - image = "lscr.io/linuxserver/radarr:latest"; - volumes = [ - "/media/config/radarr:/config" - "/media/library/movies:/movies" - "/media/downloads:/downloads" - ]; - environment = { - PUID = toString config.users.users."media".uid; - PGID = toString config.users.groups."media".gid; - }; - dependsOn = ["gluetun"]; - extraOptions = [ - "--network=container:gluetun" - ]; - }; - - flaresolverr = { - image = "flaresolverr/flaresolverr"; - environment = { - LOG_LEVEL = "info"; - }; - dependsOn = ["gluetun"]; - extraOptions = [ - "--network=container:gluetun" - ]; - }; - - transmission = { - image = "linuxserver/transmission:latest"; - volumes = [ - "/media/downloads:/downloads" - "/media/config/transmission/config:/config" - "/media/config/transmission/watch:/watch" - ]; - environment = { - PUID = toString config.users.users."media".uid; - PGID = toString config.users.groups."media".gid; - PEERPORT = "11936"; - USER = "xun"; - PASS = "password123"; - }; - dependsOn = ["gluetun"]; - extraOptions = [ - "--network=container:gluetun" - ]; - }; - }; - }; -} diff --git a/nix/systemProfiles/services/containers/server/statistics/default.nix b/nix/systemProfiles/services/containers/server/statistics/default.nix deleted file mode 100644 index 1b3bd65..0000000 --- a/nix/systemProfiles/services/containers/server/statistics/default.nix +++ /dev/null @@ -1,146 +0,0 @@ -{config, ...}: { - services.grafana = { - enable = true; - settings = { - server = { - http_addr = "0.0.0.0"; - }; - }; - }; - - services.loki = { - enable = true; - configuration = { - server.http_listen_port = 3030; - auth_enabled = false; - - ingester = { - lifecycler = { - address = "127.0.0.1"; - ring = { - kvstore = { - store = "inmemory"; - }; - replication_factor = 1; - }; - }; - chunk_idle_period = "1h"; - max_chunk_age = "1h"; - chunk_target_size = 999999; - chunk_retain_period = "30s"; - max_transfer_retries = 0; - }; - - schema_config = { - configs = [ - { - from = "2022-06-06"; - store = "boltdb-shipper"; - object_store = "filesystem"; - schema = "v11"; - index = { - prefix = "index_"; - period = "24h"; - }; - } - ]; - }; - - storage_config = { - boltdb_shipper = { - active_index_directory = "/var/lib/loki/boltdb-shipper-active"; - cache_location = "/var/lib/loki/boltdb-shipper-cache"; - cache_ttl = "24h"; - shared_store = "filesystem"; - }; - - filesystem = { - directory = "/var/lib/loki/chunks"; - }; - }; - - limits_config = { - reject_old_samples = true; - reject_old_samples_max_age = "168h"; - }; - - chunk_store_config = { - max_look_back_period = "0s"; - }; - - table_manager = { - retention_deletes_enabled = false; - retention_period = "0s"; - }; - - compactor = { - working_directory = "/var/lib/loki"; - shared_store = "filesystem"; - compactor_ring = { - kvstore = { - store = "inmemory"; - }; - }; - }; - }; - }; - - services.promtail = { - enable = true; - configuration = { - server = { - http_listen_port = 3031; - grpc_listen_port = 0; - }; - positions = { - filename = "/tmp/positions.yaml"; - }; - clients = [ - { - url = "http://127.0.0.1:${toString config.services.loki.configuration.server.http_listen_port}/loki/api/v1/push"; - } - ]; - scrape_configs = [ - { - job_name = "journal"; - journal = { - max_age = "12h"; - labels = { - job = "systemd-journal"; - host = "${config.networking.hostName}"; - }; - }; - relabel_configs = [ - { - source_labels = ["__journal__systemd_unit"]; - target_label = "unit"; - } - ]; - } - ]; - }; - # extraFlags - }; - - services.prometheus = { - enable = true; - port = 9001; - exporters = { - node = { - enable = true; - enabledCollectors = ["systemd"]; - port = 9002; - }; - }; - scrapeConfigs = [ - { - job_name = "${config.networking.hostName}"; - static_configs = [ - { - targets = ["127.0.0.1:${toString config.services.prometheus.exporters.node.port}"]; - } - ]; - } - ]; - }; -} diff --git a/nix/systemProfiles/services/containers/server/statistics/loki.yaml b/nix/systemProfiles/services/containers/server/statistics/loki.yaml deleted file mode 100644 index 3ae6ec7..0000000 --- a/nix/systemProfiles/services/containers/server/statistics/loki.yaml +++ /dev/null @@ -1,48 +0,0 @@ -auth_enabled: false - -server: - http_listen_port: 3100 - -ingester: - lifecycler: - address: 0.0.0.0 - ring: - kvstore: - store: inmemory - replication_factor: 1 - final_sleep: 0s - chunk_idle_period: 1h # Any chunk not receiving new logs in this time will be flushed - max_chunk_age: 1h # All chunks will be flushed when they hit this age, default is 1h - chunk_target_size: 1048576 # Loki will attempt to build chunks up to 1.5MB, flushing first if chunk_idle_period or max_chunk_age is reached first - chunk_retain_period: 30s # Must be greater than index read cache TTL if using an index cache (Default index read cache TTL is 5m) - max_transfer_retries: 0 # Chunk transfers disabled - -schema_config: - configs: - - from: 2020-10-24 - store: boltdb-shipper - object_store: filesystem - schema: v11 - index: - prefix: index_ - period: 24h - -storage_config: - boltdb_shipper: - active_index_directory: /var/lib/loki/boltdb-shipper-active - cache_location: /var/lib/loki/boltdb-shipper-cache - cache_ttl: 24h # Can be increased for faster performance over longer query periods, uses more disk space - shared_store: filesystem - filesystem: - directory: /var/lib/loki/chunks - -limits_config: - reject_old_samples: true - reject_old_samples_max_age: 168h - -chunk_store_config: - max_look_back_period: 0s - -table_manager: - retention_deletes_enabled: false - retention_period: 0s diff --git a/nix/systemProfiles/services/gamemode.nix b/nix/systemProfiles/services/gamemode.nix deleted file mode 100644 index e69de29..0000000 diff --git a/nix/systemProfiles/services/ollama.nix b/nix/systemProfiles/services/ollama.nix deleted file mode 100644 index a50068f..0000000 --- a/nix/systemProfiles/services/ollama.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - services.ollama = { - enable = true; - rocmOverrideGfx = "10.3.0"; - }; -} diff --git a/nix/systemProfiles/services/syncthing.nix b/nix/systemProfiles/services/syncthing.nix index 8693ebd..b2667bc 100644 --- a/nix/systemProfiles/services/syncthing.nix +++ b/nix/systemProfiles/services/syncthing.nix @@ -1,8 +1,4 @@ -{ - self, - super, - root, -}: {config, ...}: let +let devices = { "nixdesk" = { id = "XXABQZC-CO6OM2E-EMB3QIJ-NF5I3WU-CCQPPRY-7BX4ZSS-WIU4WW2-WXFWVQR"; diff --git a/nix/systemProfiles/services/virt/virt-manager.nix b/nix/systemProfiles/services/virt/virt-manager.nix index 3545edf..06cf57a 100644 --- a/nix/systemProfiles/services/virt/virt-manager.nix +++ b/nix/systemProfiles/services/virt/virt-manager.nix @@ -1,4 +1,4 @@ -_: {pkgs, ...}: { +{pkgs, ...}: { virtualisation.libvirtd.enable = true; programs.virt-manager.enable = true; boot.kernelParams = ["amd_iommu=on" "iommu=pt"]; diff --git a/nix/systemProfiles/services/xdg-portals.nix b/nix/systemProfiles/services/xdg-portals.nix index 33571ba..faff144 100644 --- a/nix/systemProfiles/services/xdg-portals.nix +++ b/nix/systemProfiles/services/xdg-portals.nix @@ -1,4 +1,4 @@ -{...}: {pkgs, ...}: { +{pkgs, ...}: { xdg.portal = { enable = true; extraPortals = with pkgs; [ diff --git a/nix/systemProfiles/themes/dark.nix b/nix/systemProfiles/themes/dark.nix index dc33584..f19bedc 100644 --- a/nix/systemProfiles/themes/dark.nix +++ b/nix/systemProfiles/themes/dark.nix @@ -1,4 +1,4 @@ -_: { +{ pkgs, self, ... diff --git a/nix/systemProfiles/themes/xundark.nix b/nix/systemProfiles/themes/xundark.nix deleted file mode 100644 index 3d31d01..0000000 --- a/nix/systemProfiles/themes/xundark.nix +++ /dev/null @@ -1,2 +0,0 @@ -_: {pkgs, ...}: { -} diff --git a/readme.txt b/readme.txt index 091c6f9..2433a14 100644 --- a/readme.txt +++ b/readme.txt @@ -3,7 +3,3 @@ config files for my puters nixdesk - main desktop hopper - server kidney - wsl - -TODO: - -drop stylix, or at least use it less diff --git a/sshKeys/xun_nixdesk b/sshKeys/xun_nixdesk new file mode 100644 index 0000000..798dfec --- /dev/null +++ b/sshKeys/xun_nixdesk @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKqW5ZkBV2XCdF/ZhwC1DOfrgiLxCC2ym6BO7miHi05M xun@nixdesk