diff --git a/features/common-pkgs.nix b/features/common-pkgs.nix index 4d8f838..f7f2771 100644 --- a/features/common-pkgs.nix +++ b/features/common-pkgs.nix @@ -14,4 +14,5 @@ with pkgs; jump jre weather + nerd-fonts.hack ] diff --git a/features/gnome.nix b/features/gnome.nix deleted file mode 100644 index 2256b4e..0000000 --- a/features/gnome.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ - _, - ... -}: -{ - services = { - displayManager.gdm.enable = true; - desktopManager.gnome.enable = true; - }; -} diff --git a/flake.lock b/flake.lock index 27e0886..608da1d 100644 --- a/flake.lock +++ b/flake.lock @@ -1,22 +1,223 @@ { "nodes": { - "disko": { + "affinity-nix": { + "inputs": { + "corefonts": "corefonts", + "crane": "crane", + "elemental-wine-source": "elemental-wine-source", + "fenix": "fenix", + "flake-compat": "flake-compat", + "flake-parts": "flake-parts", + "git-hooks": "git-hooks", + "nixpkgs": [ + "nixpkgs" + ], + "nixpkgs-wine": "nixpkgs-wine", + "on-linux": "on-linux", + "plugin-loader-src": "plugin-loader-src", + "plugin-loader-v030-src": "plugin-loader-v030-src", + "treefmt-nix": "treefmt-nix" + }, + "locked": { + "lastModified": 1791817262, + "narHash": "sha256-emQQYtsQu2xpHKwDnyCu3ZiNRhJeQ/QqHeFV5wAixlg=", + "owner": "Meo98", + "repo": "affinity-nix-fork", + "rev": "266d3ebf76da365f6431bddc493338d1978bb340", + "type": "github" + }, + "original": { + "owner": "Meo98", + "repo": "affinity-nix-fork", + "type": "github" + } + }, + "affinity-thumbnailer-kde": { "inputs": { "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1792526520, - "narHash": "sha256-3hSJlv8mUVnZPMWK2+CM7a9O+nR6Z4mCh27NfLCmTPc=", + "path": "./packages/affinity-thumbnailer-kde", + "type": "path" + }, + "original": { + "path": "./packages/affinity-thumbnailer-kde", + "type": "path" + }, + "parent": [] + }, + "appimage-manager": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1793310895, + "narHash": "sha256-D0+M+RM6EhlrR3mDRsNjCjmE1X2PT8TwfIWfPb9OBE0=", + "owner": "kem-a", + "repo": "AppManager", + "rev": "27348f61a2f2cd8ca19c81fce18a1e2ceedb2e83", + "type": "github" + }, + "original": { + "owner": "kem-a", + "repo": "AppManager", + "type": "github" + } + }, + "cheatengine": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1792553252, + "narHash": "sha256-3J6IUv6O7YWfFtcy8HmdgQojFvbvHH27WapR1ZYkPbY=", + "owner": "Hy4ri", + "repo": "cheatengine-flake", + "rev": "00d6b8308ce5b6d9dfce0c0dd8f7e676dc15e27b", + "type": "github" + }, + "original": { + "owner": "Hy4ri", + "repo": "cheatengine-flake", + "type": "github" + } + }, + "corefonts": { + "flake": false, + "locked": { + "lastModified": 1431183738, + "narHash": "sha256-610Km9GCtYWxi2SH5jH/XYPXc5f58q5lB05/5XxO/qM=", + "owner": "pushcx", + "repo": "corefonts", + "rev": "8f8627b0004b5f1b952c09cf6390e4ae46475e59", + "type": "github" + }, + "original": { + "owner": "pushcx", + "repo": "corefonts", + "type": "github" + } + }, + "crane": { + "locked": { + "lastModified": 1778106249, + "narHash": "sha256-cM/AuKy5tMhwOOQIbha8ZRRMHVfNf7cv2aljIw+qoCg=", + "owner": "ipetkov", + "repo": "crane", + "rev": "6d015ea29630b7ad2402841386da2cb617a470a7", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "repo": "crane", + "type": "github" + } + }, + "elemental-wine-source": { + "flake": false, + "locked": { + "host": "gitlab.winehq.org", + "lastModified": 1722747031, + "narHash": "sha256-XVhz9p2kgFBoJ376vg8OaFXxcMEjAe9AK1hk0I1rb1Q=", + "owner": "ElementalWarrior", + "repo": "wine", + "rev": "a7c9b19e1a26cf49c63a7c19189a3e2bbe2c6ac2", + "type": "gitlab" + }, + "original": { + "host": "gitlab.winehq.org", + "owner": "ElementalWarrior", + "ref": "affinity-photo3-wine9.13-part3", + "repo": "wine", + "type": "gitlab" + } + }, + "fenix": { + "inputs": { + "nixpkgs": [ + "affinity-nix", + "nixpkgs" + ], + "rust-analyzer-src": "rust-analyzer-src" + }, + "locked": { + "lastModified": 1777969788, + "narHash": "sha256-8sr3w0KyQ0K7TEd8pYwYrxiDk0GZ4A7iIcl1lsxlzVM=", "owner": "nix-community", - "repo": "disko", - "rev": "cedd626e11b635470fa6f9fdb8ad79b0075dd7f9", + "repo": "fenix", + "rev": "3abc2d5559f4dc30c710ab152abcb4cb60b561ba", "type": "github" }, "original": { "owner": "nix-community", - "repo": "disko", + "repo": "fenix", + "type": "github" + } + }, + "flake-compat": { + "locked": { + "lastModified": 1751685974, + "narHash": "sha256-NKw96t+BgHIYzHUjkTK95FqYRVKB8DHpVhefWSz/kTw=", + "rev": "549f2762aebeff29a2e5ece7a7dc0f955281a1d1", + "type": "tarball", + "url": "https://git.lix.systems/api/v1/repos/lix-project/flake-compat/archive/549f2762aebeff29a2e5ece7a7dc0f955281a1d1.tar.gz?rev=549f2762aebeff29a2e5ece7a7dc0f955281a1d1" + }, + "original": { + "type": "tarball", + "url": "https://git.lix.systems/lix-project/flake-compat/archive/main.tar.gz" + } + }, + "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1767039857, + "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", + "owner": "NixOS", + "repo": "flake-compat", + "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_3": { + "locked": { + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "revCount": 69, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" + } + }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1777988971, + "narHash": "sha256-qIoWPDs+0/8JecyYgE3gpKQxW/4bLW/gp45vow9ioCQ=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "0678d8986be1661af6bb555f3489f2fdfc31f6ff", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", "type": "github" } }, @@ -40,7 +241,28 @@ }, "flake-utils_2": { "inputs": { - "systems": "systems_2" + "systems": [ + "nixpkgs-xr", + "systems" + ] + }, + "locked": { + "lastModified": 1791914995, + "narHash": "sha256-Zf/xfQEAasnwnmEfHqW/4hjDE/s44yn2hD4RuVIZRjA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b7a79d3fea1e214f6d668d521cecec0c01e26544", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_3": { + "inputs": { + "systems": "systems_3" }, "locked": { "lastModified": 1731533236, @@ -56,6 +278,48 @@ "type": "github" } }, + "git-hooks": { + "inputs": { + "flake-compat": "flake-compat_2", + "gitignore": "gitignore", + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1776796298, + "narHash": "sha256-PcRvlWayisPSjd0UcRQbhG8Oqw78AcPE6x872cPRHN8=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "3cfd774b0a530725a077e17354fbdb87ea1c4aad", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, + "gitignore": { + "inputs": { + "nixpkgs": [ + "affinity-nix", + "git-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -63,16 +327,15 @@ ] }, "locked": { - "lastModified": 1792818383, - "narHash": "sha256-199i7ubVSXTMl+0AAlL7cVCXSjcI+jWByMcimYjeMX0=", + "lastModified": 1793193205, + "narHash": "sha256-X6xa6sGA7RnJQuZGbFMC+K+KToWAlBDCCjJXfTwEPsw=", "owner": "nix-community", "repo": "home-manager", - "rev": "24f2190587513b9c2f73db112a17844ae912d965", + "rev": "095fef2f265c3c0da4fe315efba8f8a04495ab34", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-26.05", "repo": "home-manager", "type": "github" } @@ -119,18 +382,34 @@ "type": "github" } }, + "nix-flatpak": { + "locked": { + "lastModified": 1790428548, + "narHash": "sha256-OsZ/I7v3ArCrk0XOUvkiU1dFtGtE1qZTHRGjvBXIKUU=", + "owner": "gmodena", + "repo": "nix-flatpak", + "rev": "f1f045fc8b35ff59f88982c1752d3f3a42ca6a61", + "type": "github" + }, + "original": { + "owner": "gmodena", + "ref": "latest", + "repo": "nix-flatpak", + "type": "github" + } + }, "nixpkgs": { "locked": { - "lastModified": 1793294725, - "narHash": "sha256-loLMnbbS4KhmG2ln9EY6f0YMNCA273Yx02oWYQ9IMeE=", + "lastModified": 1770073757, + "narHash": "sha256-Vy+G+F+3E/Tl+GMNgiHl9Pah2DgShmIUBJXmbiQPHbI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6f06d204d8f2d8761d9da78778745974a3216381", + "rev": "47472570b1e607482890801aeaf29bfb749884f6", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-26.05", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } @@ -151,6 +430,140 @@ "type": "github" } }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1777168982, + "narHash": "sha256-GOkGPcboWE9BmGCRMLX3worL4EMnsnG8MyKmXNeYuhQ=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "f5901329dade4a6ea039af1433fb087bd9c1fe14", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "nixpkgs-wine": { + "locked": { + "lastModified": 1735834308, + "narHash": "sha256-dklw3AXr3OGO4/XT1Tu3Xz9n/we8GctZZ75ZWVqAVhk=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "6df24922a1400241dae323af55f30e4318a6ca65", + "type": "github" + }, + "original": { + "owner": "nixos", + "repo": "nixpkgs", + "rev": "6df24922a1400241dae323af55f30e4318a6ca65", + "type": "github" + } + }, + "nixpkgs-xr": { + "inputs": { + "flake-compat": "flake-compat_3", + "flake-utils": "flake-utils_2", + "nixpkgs": [ + "nixpkgs" + ], + "nvfetcher": "nvfetcher", + "systems": "systems_2", + "treefmt-nix": "treefmt-nix_2" + }, + "locked": { + "lastModified": 1792380357, + "narHash": "sha256-deMmYXMlf7BnA2qSDk3gFqVjBQeBnW8689/qG3aUPAc=", + "owner": "nix-community", + "repo": "nixpkgs-xr", + "rev": "8d169c67d1e73b8721711b3750ef75ba205e7fe1", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs-xr", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1770107345, + "narHash": "sha256-tbS0Ebx2PiA1FRW8mt8oejR0qMXmziJmPaU1d4kYY9g=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "4533d9293756b63904b7238acb84ac8fe4c8c2c4", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1793110635, + "narHash": "sha256-dhoW6VgFWlaodSY5jrBn+CF2FLmaUvDVgM7+C7T2+NM=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "31ecbaca1bdefa45dffc409f0250bd8039ea0010", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nvfetcher": { + "inputs": { + "flake-compat": [ + "nixpkgs-xr", + "flake-compat" + ], + "flake-utils": [ + "nixpkgs-xr", + "flake-utils" + ], + "nixpkgs": [ + "nixpkgs-xr", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1766178214, + "narHash": "sha256-tKDXreDwrRkdjvfot5fr1++ed6oOq3+/hW/Dj8WfTgs=", + "owner": "Red-M", + "repo": "nvfetcher", + "rev": "a84b3ce67f1d7acd85b3aa2b9967ab91ed6e7a71", + "type": "github" + }, + "original": { + "owner": "Red-M", + "repo": "nvfetcher", + "rev": "a84b3ce67f1d7acd85b3aa2b9967ab91ed6e7a71", + "type": "github" + } + }, + "on-linux": { + "flake": false, + "locked": { + "lastModified": 1772699425, + "narHash": "sha256-xhqkN2I5r+Ty2k8HEsLg5e8Eaazb0Qyioqjs87BQOnY=", + "owner": "seapear", + "repo": "AffinityOnLinux", + "rev": "a0c4421946709c24c3f371fcbf15a45b814f188c", + "type": "github" + }, + "original": { + "owner": "seapear", + "repo": "AffinityOnLinux", + "type": "github" + } + }, "pi": { "inputs": { "nixpkgs": [ @@ -173,34 +586,95 @@ "type": "github" } }, - "preservation": { + "plugin-loader-src": { + "flake": false, "locked": { - "lastModified": 1792953443, - "narHash": "sha256-s/A2rSO2Ndf8Y5yiouesnI/3Zkn9pmVGF2NxFxOUvx8=", - "owner": "nix-community", - "repo": "preservation", - "rev": "00be7f7dd1a11ae0605386f2272288de7cf33abe", + "lastModified": 1776972538, + "narHash": "sha256-2EvrOYQCB2Z2YXhcPnjR67KoOCvwTVW3TfLcmU3//ak=", + "owner": "noahc3", + "repo": "AffinityPluginLoader", + "rev": "1d7956d5b791bd6a213e8b28c1e25e1f4bcc6166", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "preservation", + "owner": "noahc3", + "repo": "AffinityPluginLoader", + "rev": "1d7956d5b791bd6a213e8b28c1e25e1f4bcc6166", + "type": "github" + } + }, + "plugin-loader-v030-src": { + "flake": false, + "locked": { + "lastModified": 1775508798, + "narHash": "sha256-cD2G3M83wCEXVMMl9YoHMLxPIvbXeESgQTkXiM+lzns=", + "owner": "noahc3", + "repo": "AffinityPluginLoader", + "rev": "bd93bbf9f84735d8ba6538596620bbe8d8b90efd", + "type": "github" + }, + "original": { + "owner": "noahc3", + "ref": "v0.3.0", + "repo": "AffinityPluginLoader", "type": "github" } }, "root": { "inputs": { - "disko": "disko", + "affinity-nix": "affinity-nix", + "affinity-thumbnailer-kde": "affinity-thumbnailer-kde", + "appimage-manager": "appimage-manager", + "cheatengine": "cheatengine", "home-manager": "home-manager", "lazyvim": "lazyvim", "nix-darwin": "nix-darwin", - "nixpkgs": "nixpkgs", + "nix-flatpak": "nix-flatpak", + "nixpkgs": "nixpkgs_3", + "nixpkgs-xr": "nixpkgs-xr", "pi": "pi", - "preservation": "preservation", + "scopebuddy": "scopebuddy", "sops-nix": "sops-nix", "xivlauncher-rb": "xivlauncher-rb" } }, + "rust-analyzer-src": { + "flake": false, + "locked": { + "lastModified": 1777924689, + "narHash": "sha256-9Z0puLyCSYvtYhP1IZMxC05DSgwA+5rE99jsv1KErc4=", + "owner": "rust-lang", + "repo": "rust-analyzer", + "rev": "91c7c2c4ca6a0520cfbf97e369e4fb7bf0b63b7a", + "type": "github" + }, + "original": { + "owner": "rust-lang", + "ref": "nightly", + "repo": "rust-analyzer", + "type": "github" + } + }, + "scopebuddy": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1787088847, + "narHash": "sha256-dimDUlRtDXZDCUUOjW2KX+1XiWjOiMUIudh6VClZlZ0=", + "owner": "HikariKnight", + "repo": "ScopeBuddy", + "rev": "0269fd2b3b5f0b2af191d52d1b8e4a8088a49fdc", + "type": "github" + }, + "original": { + "owner": "HikariKnight", + "repo": "ScopeBuddy", + "type": "github" + } + }, "sops-nix": { "inputs": { "nixpkgs": [ @@ -237,6 +711,21 @@ } }, "systems_2": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "systems_3": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -251,6 +740,45 @@ "type": "github" } }, + "treefmt-nix": { + "inputs": { + "nixpkgs": "nixpkgs_2" + }, + "locked": { + "lastModified": 1775636079, + "narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, + "treefmt-nix_2": { + "inputs": { + "nixpkgs": [ + "nixpkgs-xr", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1791885023, + "narHash": "sha256-C3alQ2MEt0zVrUSho5NUDo3jmhbff72++bfwoqT9Omo=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "0d6d739a833ba9a9c93034862e4a7b061a062a1c", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, "xivlauncher-core-src": { "flake": false, "locked": { @@ -272,7 +800,7 @@ }, "xivlauncher-rb": { "inputs": { - "flake-utils": "flake-utils_2", + "flake-utils": "flake-utils_3", "nixpkgs": [ "nixpkgs" ], diff --git a/flake.nix b/flake.nix index 65de207..c173e3a 100644 --- a/flake.nix +++ b/flake.nix @@ -1,12 +1,6 @@ { inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-26.05"; - preservation.url = "github:nix-community/preservation"; - - disko = { - url = "github:nix-community/disko"; - inputs.nixpkgs.follows = "nixpkgs"; - }; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; sops-nix = { url = "github:Mic92/sops-nix"; @@ -18,18 +12,47 @@ inputs.nixpkgs.follows = "nixpkgs"; }; + cheatengine = { + url = "github:Hy4ri/cheatengine-flake"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + scopebuddy = { + url = "github:HikariKnight/ScopeBuddy"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + nixpkgs-xr = { + url = "github:nix-community/nixpkgs-xr"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + lazyvim = { url = "github:pfassina/lazyvim-nix/v16.0.0"; inputs.nixpkgs.follows = "nixpkgs"; }; + affinity-nix = { + url = "github:Meo98/affinity-nix-fork"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + nix-flatpak = { + url = "github:gmodena/nix-flatpak/?ref=latest"; + }; + + appimage-manager = { + url = "github:kem-a/AppManager"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + pi = { url = "github:earendil-works/pi/stable"; inputs.nixpkgs.follows = "nixpkgs"; }; home-manager = { - url = "github:nix-community/home-manager/release-26.05"; + url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; @@ -37,17 +60,26 @@ url = "github:nix-darwin/nix-darwin"; inputs.nixpkgs.follows = "nixpkgs"; }; + + affinity-thumbnailer-kde = { + url = "path:./packages/affinity-thumbnailer-kde"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = inputs@{ self, nixpkgs, + nixpkgs-xr, nix-darwin, - preservation, - disko, + nix-flatpak, home-manager, + affinity-nix, sops-nix, + affinity-thumbnailer-kde, + cheatengine, + xivlauncher-rb, ... }: let @@ -70,6 +102,16 @@ forAllSystems = nixpkgs.lib.genAttrs systems; + packagesFor = + system: + let + pkgs = nixpkgs.legacyPackages.${system}; + in + nixpkgs.lib.optionalAttrs pkgs.stdenv.hostPlatform.isLinux { + heidisql = pkgs.callPackage ./packages/heidisql/package.nix { }; + aseprite-thumbnailer-kde = pkgs.callPackage ./packages/aseprite-thumbnailer-kde/package.nix { }; + }; + formatterFor = system: let @@ -99,6 +141,8 @@ }; in { + packages = forAllSystems packagesFor; + formatter = forAllSystems formatterFor; nixosConfigurations = { nero = nixpkgs.lib.nixosSystem { @@ -106,17 +150,16 @@ modules = [ home-manager.nixosModules.home-manager - sops-nix.nixosModules.sops - disko.nixosModules.disko - preservation.nixosModules.default - home-manager-configuration trusted-users-configuration + nixpkgs-xr.nixosModules.nixpkgs-xr + nix-flatpak.nixosModules.nix-flatpak + affinity-thumbnailer-kde.nixosModules.default + sops-nix.nixosModules.sops + ./hosts/nero/hardware.nix ./hosts/nero/configuration.nix - ./hosts/nero/disko.nix - ./hosts/nero/preservation.nix ]; }; @@ -143,6 +186,8 @@ home-manager-configuration trusted-users-configuration + nix-flatpak.nixosModules.nix-flatpak + affinity-thumbnailer-kde.nixosModules.default sops-nix.nixosModules.sops ./hosts/pdw-frankiel/hardware.nix diff --git a/home/config/qimgv/qimgv.conf b/home/config/qimgv/qimgv.conf new file mode 100644 index 0000000..8ff9ed5 --- /dev/null +++ b/home/config/qimgv/qimgv.conf @@ -0,0 +1,71 @@ +[General] +JPEGSaveQuality=95 +autoResizeLimit=90 +autoResizeWindow=false +backgroundOpacity=0.9 +blurBackground=true +clickableEdges=false +clickableEdgesVisible=true +confirmDelete=true +confirmTrash=true +cursorAutohiding=true +defaultCropAction=0 +defaultFitMode=0 +defaultViewMode=0 +drawTransparencyGrid=false +enableSmoothScroll=true +expandImage=false +expandLimit=2 +firstRun=false +fixedZoomLevels="0.05,0.1,0.125,0.166,0.25,0.333,0.5,0.66,1,1.5,2,3,4,5,6,7,8" +focusPointIn1to1Mode=1 +folderEndAction=0 +imageScrolling=1 +infoBarFullscreen=true +infoBarWindowed=false +jxlAnimation=false +keepFitMode=false +language=en_US +lastVerMajor=1 +lastVerMicro=3 +lastVerMinor=0 +loopSlideshow=false +memoryAllocationLimit=1024 +mouseScrollingSpeed=1 +mpvBinary=/nix/store/a0zm5yxmssp95vv5q66gn7vpjnpg3jrp-mpv-with-scripts-0.41.0/bin/mpv +openInFullscreen=false +panelCenterSelection=false +panelEnabled=true +panelFullscreenOnly=true +panelPinned=false +panelPosition=top +panelPreviewsSize=140 +playVideoSounds=false +scalingFilter=3 +showHiddenFiles=false +showSaveOverlay=true +slideshowInterval=3000 +smoothAnimatedImages=true +smoothUpscaling=true +sortFolders=true +sortingMode=0 +squareThumbnails=false +thumbPanelStyle=1 +thumbnailCache=true +thumbnailerThreads=4 +trackpadDetection=true +unloadThumbs=true +unlockMinZoom=true +useFixedZoomLevels=false +usePreloader=true +useSystemColorScheme=false +videoPlayback=true +windowTitleExtendedInfo=true +zoomIndicatorMode=0 +zoomStep=0.20000000298023224 + +[Controls] +shortcuts="zoomIn=+", "frameStepBack=,", "zoomOut=-", "frameStep=.", "fitWindow=1", "fitWidth=2", "fitNormal=3", "fitWindowStretch=4", "zoomIn=eq", "exit=Alt+X", "folderView=Backspace", "copyFile=C", "zoomIn=Ctrl++", "zoomOut=Ctrl+-", "zoomIn=Ctrl+eq", "copyFileClipboard=Ctrl+C", "showInDirectory=Ctrl+D", "zoomOut=Ctrl+Down", "rotateLeft=Ctrl+L", "seekVideoBackward=Ctrl+Left", "open=Ctrl+O", "print=Ctrl+P", "exit=Ctrl+Q", "rotateRight=Ctrl+R", "seekVideoForward=Ctrl+Right", "save=Ctrl+S", "copyPathClipboard=Ctrl+Shift+C", "saveAs=Ctrl+Shift+S", "zoomIn=Ctrl+Up", "pasteFile=Ctrl+V", "setWallpaper=Ctrl+W", "zoomOutCursor=Ctrl+WheelDown", "zoomInCursor=Ctrl+WheelUp", "discardEdits=Ctrl+Z", "toggleShuffle=Ctrl+`", "moveToTrash=Del", "scrollDown=Down", "jumpToLast=End", "folderView=Enter", "closeFullScreenOrExit=Esc", "toggleFullscreen=F", "toggleFullscreen=F11", "renameFile=F2", "reloadImage=F5", "flipH=H", "jumpToFirst=Home", "toggleImageInfo=I", "toggleFullscreen=LMB_DoubleClick", "prevImage=Left", "moveFile=M", "contextMenu=Menu", "exit=MiddleButton", "openSettings=P", "closeFullScreenOrExit=Q", "resize=R", "contextMenu=RMB", "nextImage=Right", "removeFile=Shift+Del", "toggleFullscreenInfoBar=Shift+F", "prevDirectory=Shift+Left", "nextDirectory=Shift+Right", "toggleFitMode=Space", "scrollUp=Up", "flipV=V", "nextImage=WheelDown", "prevImage=WheelUp", "crop=X", "prevImage=XButton1", "nextImage=XButton2", "toggleSlideshow=`" + +[Scripts] +script\size=0 diff --git a/home/config/qimgv/savedState.conf b/home/config/qimgv/savedState.conf new file mode 100644 index 0000000..c73231b --- /dev/null +++ b/home/config/qimgv/savedState.conf @@ -0,0 +1,9 @@ +[General] +lastDisplay=1 +lastPrinter=Mailroom_Copier_Black_White_PDC_CUPS +maximizedWindow=false +printColor=false +printFitToPage=true +printLandscape=false +printPdfDefault=false +windowGeometry=@Rect(0 0 885 702) diff --git a/home/config/qimgv/theme.conf b/home/config/qimgv/theme.conf new file mode 100644 index 0000000..d9ac999 --- /dev/null +++ b/home/config/qimgv/theme.conf @@ -0,0 +1,14 @@ +[Colors] +accent=#b299ec +background=#eff0f1 +background_fullscreen=#000000 +folderview=#ffffff +folderview_topbar=#eff0f1 +icons=#232629 +overlay=#000000 +overlay_text=#000000 +scrollbar=#a292c9 +text=#232629 +tid=5 +widget=#eff0f1 +widget_border=#eff0f1 diff --git a/home/config/zathura/zathurarc b/home/config/zathura/zathurarc new file mode 100644 index 0000000..9ce931e --- /dev/null +++ b/home/config/zathura/zathurarc @@ -0,0 +1,5 @@ +set default-bg "#eff0f1" +set statusbar-bg "#eff0f1" +set statusbar-fg "#000000" +set inputbar-bg "#eff0f1" +set inputbar-fg "#000000" diff --git a/home/frank.nix b/home/frank.nix index d7cf2c5..4e64be7 100644 --- a/home/frank.nix +++ b/home/frank.nix @@ -13,6 +13,43 @@ home.shellAliases = import ../features/aliases.nix { inherit pkgs; }; + xdg = + if pkgs.stdenv.hostPlatform.isDarwin then + { } + else + { + configFile = { + "systemd/user/plasma-kwallet-pam.service.d/style.conf" = { + text = '' + [Service] + Environment=QT_STYLE_OVERRIDE=Breeze + ''; + }; + "systemd/user/kde-baloo.service.d/override.conf" = { + text = '' + [Unit] + After=plasma-kwin_wayland.service + ''; + }; + "qimgv" = { + source = ./config/qimgv; + recursive = true; + }; + + "zathura" = { + source = ./config/zathura; + recursive = true; + }; + }; + + dataFile = { + "applications" = { + source = ./local/share/applications; + recursive = true; + }; + }; + }; + programs = { bash = { enable = true; @@ -168,5 +205,13 @@ }; }; + fonts = { + fontconfig = { + enable = true; + subpixelRendering = "none"; + hinting = "slight"; + }; + }; + home.stateVersion = "26.05"; } diff --git a/home/local/share/applications/base.desktop b/home/local/share/applications/base.desktop new file mode 100644 index 0000000..db4f7b0 --- /dev/null +++ b/home/local/share/applications/base.desktop @@ -0,0 +1,31 @@ +[Desktop Entry] +Actions=NewDocument; +Categories=Office;Database;X-Red-Hat-Base; +Comment=Manage databases, create queries and reports to track and manage your information. +Exec=env WAYLAND_DISPLAY= libreoffice --base %U +GenericName[en_US]=Database Development +GenericName=Database Development +Icon=libreoffice-base +InitialPreference=5 +Keywords=Data;SQL; +MimeType=application/vnd.oasis.opendocument.base;application/vnd.sun.xml.base; +Name=LibreOffice Base +NoDisplay=false +Path= +PrefersNonDefaultGPU=false +StartupNotify=true +StartupWMClass=libreoffice-base +Terminal=false +TerminalOptions= +Type=Application +Version=1.0 +X-GIO-NoFuse=true +X-KDE-Protocols=file,http,webdav,webdavs +X-KDE-SubstituteUID=false +X-KDE-Username= + +[Desktop Action NewDocument] +Exec=libreoffice --base +Icon=document-new +Name[en_US]=New Database +Name=New Database diff --git a/home/local/share/applications/calc.desktop b/home/local/share/applications/calc.desktop new file mode 100644 index 0000000..6e9c7f3 --- /dev/null +++ b/home/local/share/applications/calc.desktop @@ -0,0 +1,31 @@ +[Desktop Entry] +Actions=NewDocument; +Categories=Office;Spreadsheet;X-Red-Hat-Base; +Comment=Perform calculations, analyze information and manage lists in spreadsheets. +Exec=env WAYLAND_DISPLAY= libreoffice --calc %U +GenericName[en_US]=Spreadsheet +GenericName=Spreadsheet +Icon=libreoffice-calc +InitialPreference=5 +Keywords=Accounting;Stats;OpenDocument Spreadsheet;Chart;Microsoft Excel;Microsoft Works;OpenOffice Calc;ods;xls;xlsx; +MimeType=application/clarisworks;application/csv;application/excel;application/msexcel;application/tab-separated-values;application/vnd.apache.parquet;application/vnd.apple.numbers;application/vnd.lotus-1-2-3;application/vnd.ms-excel;application/vnd.ms-excel.sheet.binary.macroEnabled.12;application/vnd.ms-excel.sheet.macroEnabled.12;application/vnd.ms-excel.template.macroEnabled.12;application/vnd.ms-works;application/vnd.oasis.opendocument.chart;application/vnd.oasis.opendocument.chart-template;application/vnd.oasis.opendocument.spreadsheet;application/vnd.oasis.opendocument.spreadsheet-flat-xml;application/vnd.oasis.opendocument.spreadsheet-template;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;application/vnd.openxmlformats-officedocument.spreadsheetml.template;application/vnd.stardivision.calc;application/vnd.stardivision.chart;application/vnd.sun.xml.calc;application/vnd.sun.xml.calc.template;application/x-123;application/x-dbase;application/x-dbf;application/x-dos_ms_excel;application/x-excel;application/x-gnumeric;application/x-iwork-numbers-sffnumbers;application/x-ms-excel;application/x-msexcel;application/x-quattropro;application/x-starcalc;application/x-starchart;text/comma-separated-values;text/csv;text/spreadsheet;text/tab-separated-values;text/x-comma-separated-values;text/x-csv; +Name=LibreOffice Calc +NoDisplay=false +Path= +PrefersNonDefaultGPU=false +StartupNotify=true +StartupWMClass=libreoffice-calc +Terminal=false +TerminalOptions= +Type=Application +Version=1.0 +X-GIO-NoFuse=true +X-KDE-Protocols=file,http,webdav,webdavs +X-KDE-SubstituteUID=false +X-KDE-Username= + +[Desktop Action NewDocument] +Exec=libreoffice --calc +Icon=document-new +Name[en_US]=New Spreadsheet +Name=New Spreadsheet diff --git a/home/local/share/applications/draw.desktop b/home/local/share/applications/draw.desktop new file mode 100644 index 0000000..b1bbaa6 --- /dev/null +++ b/home/local/share/applications/draw.desktop @@ -0,0 +1,31 @@ +[Desktop Entry] +Actions=NewDocument; +Categories=Office;FlowChart;Graphics;2DGraphics;VectorGraphics;X-Red-Hat-Base; +Comment=Create and edit drawings, flow charts and logos. +Exec=env WAYLAND_DISPLAY= libreoffice --draw %U +GenericName[en_US]=Drawing Program +GenericName=Drawing Program +Icon=libreoffice-draw +InitialPreference=5 +Keywords=Vector;Schema;Diagram;Layout;OpenDocument Graphics;Microsoft Publisher;Microsoft Visio;Corel Draw;cdr;odg;svg;pdf;vsd; +MimeType=application/clarisworks;application/pdf;application/vnd.corel-draw;application/vnd.ms-publisher;application/vnd.oasis.opendocument.graphics;application/vnd.oasis.opendocument.graphics-flat-xml;application/vnd.oasis.opendocument.graphics-template;application/vnd.quark.quarkxpress;application/vnd.stardivision.draw;application/vnd.sun.xml.draw;application/vnd.sun.xml.draw.template;application/vnd.visio;application/x-pagemaker;application/x-stardraw;application/x-wpg;image/x-emf;image/x-freehand;image/x-wmf; +Name=LibreOffice Draw +NoDisplay=false +Path= +PrefersNonDefaultGPU=false +StartupNotify=true +StartupWMClass=libreoffice-draw +Terminal=false +TerminalOptions= +Type=Application +Version=1.0 +X-GIO-NoFuse=true +X-KDE-Protocols=file,http,webdav,webdavs +X-KDE-SubstituteUID=false +X-KDE-Username= + +[Desktop Action NewDocument] +Exec=libreoffice --draw +Icon=document-new +Name[en_US]=New Drawing +Name=New Drawing diff --git a/home/local/share/applications/impress.desktop b/home/local/share/applications/impress.desktop new file mode 100644 index 0000000..f39adbb --- /dev/null +++ b/home/local/share/applications/impress.desktop @@ -0,0 +1,31 @@ +[Desktop Entry] +Actions=NewDocument; +Categories=Office;Presentation;X-Red-Hat-Base; +Comment=Create and edit presentations for slideshows, meetings and Web pages. +Exec=env WAYLAND_DISPLAY= libreoffice --impress %U +GenericName[en_US]=Presentation +GenericName=Presentation +Icon=libreoffice-impress +InitialPreference=5 +Keywords=Slideshow;Slides;OpenDocument Presentation;Microsoft PowerPoint;Microsoft Works;OpenOffice Impress;odp;ppt;pptx; +MimeType=application/mspowerpoint;application/vnd.apple.keynote;application/vnd.ms-powerpoint;application/vnd.ms-powerpoint.presentation.macroEnabled.12;application/vnd.ms-powerpoint.slideshow.macroEnabled.12;application/vnd.ms-powerpoint.template.macroEnabled.12;application/vnd.oasis.opendocument.presentation;application/vnd.oasis.opendocument.presentation-flat-xml;application/vnd.oasis.opendocument.presentation-template;application/vnd.openxmlformats-officedocument.presentationml.presentation;application/vnd.openxmlformats-officedocument.presentationml.slide;application/vnd.openxmlformats-officedocument.presentationml.slideshow;application/vnd.openxmlformats-officedocument.presentationml.template;application/vnd.stardivision.impress;application/vnd.sun.xml.impress;application/vnd.sun.xml.impress.template;application/x-iwork-keynote-sffkey;application/x-starimpress; +Name=LibreOffice Impress +NoDisplay=false +Path= +PrefersNonDefaultGPU=false +StartupNotify=true +StartupWMClass=libreoffice-impress +Terminal=false +TerminalOptions= +Type=Application +Version=1.0 +X-GIO-NoFuse=true +X-KDE-Protocols=file,http,webdav,webdavs +X-KDE-SubstituteUID=false +X-KDE-Username= + +[Desktop Action NewDocument] +Exec=libreoffice --impress +Icon=document-new +Name[en_US]=New Presentation +Name=New Presentation diff --git a/home/local/share/applications/looking-glass-client.desktop b/home/local/share/applications/looking-glass-client.desktop new file mode 100644 index 0000000..d2a36ef --- /dev/null +++ b/home/local/share/applications/looking-glass-client.desktop @@ -0,0 +1,19 @@ +[Desktop Entry] +Categories=System; +Comment=Clent for Looking Glass KVMFR +Exec=looking-glass-client +Icon=preferences-desktop-search +Keywords=KVM +Name=Looking Glass Client +NoDisplay=false +Path= +PrefersNonDefaultGPU=false +SingleMainWindow=true +StartupNotify=true +StartupWMClass=looking-glass-client +Terminal=false +TerminalOptions= +Type=Application +Version=1.0 +X-KDE-SubstituteUID=false +X-KDE-Username= diff --git a/home/local/share/applications/math.desktop b/home/local/share/applications/math.desktop new file mode 100644 index 0000000..90f2c8c --- /dev/null +++ b/home/local/share/applications/math.desktop @@ -0,0 +1,31 @@ +[Desktop Entry] +Actions=NewDocument; +Categories=Office;Education;Science;Math;X-Red-Hat-Base; +Comment=Create and edit scientific formulas and equations. +Exec=env WAYLAND_DISPLAY= libreoffice --math %U +GenericName[en_US]=Formula Editor +GenericName=Formula Editor +Icon=libreoffice-math +InitialPreference=5 +Keywords=Equation;OpenDocument Formula;Formula;odf;MathML; +MimeType=application/mathml+xml;application/vnd.oasis.opendocument.formula;application/vnd.oasis.opendocument.formula-template;application/vnd.stardivision.math;application/vnd.sun.xml.math;application/x-starmath;text/mathml; +Name=LibreOffice Math +NoDisplay=false +Path= +PrefersNonDefaultGPU=false +StartupNotify=true +StartupWMClass=libreoffice-math +Terminal=false +TerminalOptions= +Type=Application +Version=1.0 +X-GIO-NoFuse=true +X-KDE-Protocols=file,http,webdav,webdavs +X-KDE-SubstituteUID=false +X-KDE-Username= + +[Desktop Action NewDocument] +Exec=libreoffice --math +Icon=document-new +Name[en_US]=New Formula +Name=New Formula diff --git a/home/local/share/applications/startcenter.desktop b/home/local/share/applications/startcenter.desktop new file mode 100644 index 0000000..3e93f69 --- /dev/null +++ b/home/local/share/applications/startcenter.desktop @@ -0,0 +1,47 @@ +[Desktop Entry] +Actions=Writer;Calc;Impress;Draw;Base;Math; +Categories=Office;X-Red-Hat-Base;X-SuSE-Core-Office; +Comment=Launch applications to create text documents, spreadsheets, presentations, drawings, formulas, and databases, or open recently used documents. +Exec=env WAYLAND_DISPLAY= libreoffice %U +GenericName[en_US]=Office +GenericName=Office +Icon=libreoffice-startcenter +MimeType=application/vnd.openofficeorg.extension;x-scheme-handler/vnd.libreoffice.cmis;x-scheme-handler/vnd.sun.star.webdav;x-scheme-handler/vnd.sun.star.webdavs;x-scheme-handler/vnd.libreoffice.command;x-scheme-handler/ms-word;x-scheme-handler/ms-powerpoint;x-scheme-handler/ms-excel;x-scheme-handler/ms-visio;x-scheme-handler/ms-access; +Name=LibreOffice +NoDisplay=false +Path= +PrefersNonDefaultGPU=false +StartupNotify=true +StartupWMClass=libreoffice-startcenter +Terminal=false +TerminalOptions= +Type=Application +Version=1.0 +X-GIO-NoFuse=true +X-KDE-Protocols=file,http,webdav,webdavs +X-KDE-SubstituteUID=false +X-KDE-Username= + +[Desktop Action Base] +Exec=libreoffice --base +Name=Base + +[Desktop Action Calc] +Exec=libreoffice --calc +Name=Calc + +[Desktop Action Draw] +Exec=libreoffice --draw +Name=Draw + +[Desktop Action Impress] +Exec=libreoffice --impress +Name=Impress + +[Desktop Action Math] +Exec=libreoffice --math +Name=Math + +[Desktop Action Writer] +Exec=libreoffice --writer +Name=Writer diff --git a/home/local/share/applications/writer.desktop b/home/local/share/applications/writer.desktop new file mode 100644 index 0000000..ee7aeeb --- /dev/null +++ b/home/local/share/applications/writer.desktop @@ -0,0 +1,31 @@ +[Desktop Entry] +Actions=NewDocument; +Categories=Office;WordProcessor;X-Red-Hat-Base; +Comment=Create and edit text and graphics in letters, reports, documents and Web pages. +Exec=env WAYLAND_DISPLAY= libreoffice --writer %U +GenericName[en_US]=Word Processor +GenericName=Word Processor +Icon=libreoffice-writer +InitialPreference=5 +Keywords=Text;Letter;Fax;Document;OpenDocument Text;Microsoft Word;Microsoft Works;Lotus WordPro;OpenOffice Writer;CV;odt;doc;docx;rtf; +MimeType=application/clarisworks;application/docbook+xml;application/macwriteii;application/msword;application/prs.plucker;application/rtf;application/vnd.apple.pages;application/vnd.lotus-wordpro;application/vnd.ms-word;application/vnd.ms-word.document.macroEnabled.12;application/vnd.ms-word.template.macroEnabled.12;application/vnd.ms-works;application/vnd.oasis.opendocument.text;application/vnd.oasis.opendocument.text-flat-xml;application/vnd.oasis.opendocument.text-master;application/vnd.oasis.opendocument.text-master-template;application/vnd.oasis.opendocument.text-template;application/vnd.oasis.opendocument.text-web;application/vnd.openxmlformats-officedocument.wordprocessingml.document;application/vnd.openxmlformats-officedocument.wordprocessingml.template;application/vnd.palm;application/vnd.stardivision.writer-global;application/vnd.sun.xml.writer;application/vnd.sun.xml.writer.global;application/vnd.sun.xml.writer.template;application/vnd.wordperfect;application/wordperfect;application/x-abiword;application/x-aportisdoc;application/x-doc;application/x-extension-txt;application/x-fictionbook+xml;application/x-hwp;application/x-iwork-pages-sffpages;application/x-mswrite;application/x-pocket-word;application/x-sony-bbeb;application/x-starwriter;application/x-starwriter-global;application/x-t602;text/plain;text/rtf; +Name=LibreOffice Writer +NoDisplay=false +Path= +PrefersNonDefaultGPU=false +StartupNotify=true +StartupWMClass=libreoffice-writer +Terminal=false +TerminalOptions= +Type=Application +Version=1.0 +X-GIO-NoFuse=true +X-KDE-Protocols=file,http,webdav,webdavs +X-KDE-SubstituteUID=false +X-KDE-Username= + +[Desktop Action NewDocument] +Exec=libreoffice --writer +Icon=document-new +Name[en_US]=New Document +Name=New Document diff --git a/hosts/franks-macbook-pro/configuration.nix b/hosts/franks-macbook-pro/configuration.nix index 301321f..bceb066 100644 --- a/hosts/franks-macbook-pro/configuration.nix +++ b/hosts/franks-macbook-pro/configuration.nix @@ -1,3 +1,4 @@ +{ _, ... }: { imports = [ ../shared/darwin.nix diff --git a/hosts/nero/configuration.nix b/hosts/nero/configuration.nix index f8f59c2..d75e466 100644 --- a/hosts/nero/configuration.nix +++ b/hosts/nero/configuration.nix @@ -7,13 +7,51 @@ { imports = [ ../shared/nixos-pc.nix - ../../features/gnome.nix + ../../features/kde.nix + ../../features/flatpak.nix ../../features/keyd.nix ]; + nixpkgs.overlays = [ + inputs.cheatengine.overlays.default + ]; + networking.hostName = "nero"; services = { + xserver = { + videoDrivers = [ "nvidia" ]; + }; + + flatpak = { + packages = [ + { + appId = "com.discordapp.Discord"; + origin = "flathub"; + } + { + appId = "com.github.Matoking.protontricks"; + origin = "flathub"; + } + { + appId = "com.steamgriddb.SGDBoop"; + origin = "flathub"; + } + { + appId = "com.vysp3r.ProtonPlus"; + origin = "flathub"; + } + { + appId = "io.github.ryubing.Ryujinx"; + origin = "flathub"; + } + { + appId = "io.github.Amethyst.ModManager"; + origin = "amethyst-mod-manager"; + } + ]; + }; + wivrn = { enable = true; openFirewall = true; @@ -22,6 +60,8 @@ }; programs = { + gamemode.enable = true; + steam = { enable = true; remotePlay.openFirewall = true; @@ -58,8 +98,19 @@ environment = { systemPackages = with pkgs; [ + mangohud + gamescope + gamescope-wsi + cheatengine + lsfg-vk + lsfg-vk-ui + qbittorrent aseprite + + inputs.scopebuddy.packages.${pkgs.stdenv.hostPlatform.system}.default inputs.xivlauncher-rb.packages.${pkgs.stdenv.hostPlatform.system}.default + + (callPackage ../../packages/aseprite-thumbnailer-kde/package.nix { }) ]; }; } diff --git a/hosts/nero/disko.nix b/hosts/nero/disko.nix deleted file mode 100644 index 18da221..0000000 --- a/hosts/nero/disko.nix +++ /dev/null @@ -1,69 +0,0 @@ -{ - fileSystems."/nix".neededForBoot = true; - - disko.devices = { - nodev = { - "/" = { - fsType = "tmpfs"; - - mountOptions = [ - "size=25%" - "mode=755" - ]; - }; - }; - - disk.main = { - device = "/dev/nvme0n1"; - type = "disk"; - - content = { - type = "gpt"; - - partitions = { - esp = { - name = "ESP"; - size = "5G"; - type = "EF00"; - - content = { - type = "filesystem"; - format = "vfat"; - mountpoint = "/boot"; - }; - }; - - root = { - name = "NIXOS"; - size = "100%"; - - content = { - type = "btrfs"; - extraArgs = [ "-f" ]; - - subvolumes = { - "/persist" = { - mountOptions = [ - "subvol=persist" - "noatime" - ]; - - mountpoint = "/persist"; - }; - - "/nix" = { - mountOptions = [ - "subvol=nix" - "noatime" - ]; - - mountpoint = "/nix"; - }; - }; - }; - }; - }; - }; - }; - }; -} diff --git a/hosts/nero/hardware.nix b/hosts/nero/hardware.nix index bdf88ee..71e85c0 100644 --- a/hosts/nero/hardware.nix +++ b/hosts/nero/hardware.nix @@ -9,6 +9,7 @@ { imports = [ (modulesPath + "/installer/scan/not-detected.nix") + ../shared/fs-layouts/single-disk-btrfs.nix ]; boot = { @@ -48,6 +49,7 @@ hardware = { bluetooth.enable = true; cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + nvidia-container-toolkit.enable = true; nvidia = { open = true; diff --git a/hosts/nero/preservation.nix b/hosts/nero/preservation.nix deleted file mode 100644 index 28c533d..0000000 --- a/hosts/nero/preservation.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ - boot.tmp.cleanOnBoot = true; - - preservation = { - enable = true; - - preserveAt."/persist" = { - files = [ - { - file = "/etc/machine-id"; - inInitrd = true; - } - ]; - directories = [ - "/var/lib/systemd/timers" - "/var/lib/nixos" - "/var/log" - "/var/lib/bluetooth" - "/tmp" - ]; - }; - }; -} diff --git a/hosts/pdw-frankiel/configuration.nix b/hosts/pdw-frankiel/configuration.nix index 9d02038..e5445c7 100644 --- a/hosts/pdw-frankiel/configuration.nix +++ b/hosts/pdw-frankiel/configuration.nix @@ -1,7 +1,11 @@ +{ + ... +}: { imports = [ ../shared/nixos-pc.nix ../../features/kde.nix + ../../features/flatpak.nix ../../features/keyd.nix ]; @@ -18,6 +22,27 @@ services = { printing.enable = true; + + flatpak = { + packages = [ + { + appId = "com.dropbox.Client"; + origin = "flathub"; + } + { + appId = "org.gnome.gitlab.YaLTeR.VideoTrimmer"; + origin = "flathub"; + } + { + appId = "org.kde.kdenlive"; + origin = "flathub"; + } + { + appId = "org.remmina.Remmina"; + origin = "flathub"; + } + ]; + }; }; environment = { diff --git a/hosts/pdw-frankiel/hardware.nix b/hosts/pdw-frankiel/hardware.nix index 0cc207f..701f21d 100644 --- a/hosts/pdw-frankiel/hardware.nix +++ b/hosts/pdw-frankiel/hardware.nix @@ -9,6 +9,7 @@ { imports = [ (modulesPath + "/installer/scan/not-detected.nix") + ../shared/fs-layouts/single-disk-btrfs.nix ]; boot = { diff --git a/hosts/shared/fs-layouts/single-disk-btrfs.nix b/hosts/shared/fs-layouts/single-disk-btrfs.nix new file mode 100644 index 0000000..1aff7f8 --- /dev/null +++ b/hosts/shared/fs-layouts/single-disk-btrfs.nix @@ -0,0 +1,36 @@ +{ _, ... }: +{ + # RECOMMENDED BTRFS SUBVOLUME LAYOUT + # /home + # /home/.snapshots (needed if snapper on home dir to be enabled) + # /srv + # /var/lib/portables + # /var/lib/machines + # /tmp + # /var/tmp + # + # REQUIRED PARTLABELS (can be set in parted or other tools NOT!!! FILESYSTEM LABEL!) + # / - NIXOS + # /boot - ESP + # swap - SWAP + + fileSystems = { + "/" = { + device = "/dev/disk/by-partlabel/NIXOS"; + fsType = "btrfs"; + }; + + "/boot" = { + device = "/dev/disk/by-partlabel/ESP"; + fsType = "vfat"; + options = [ + "fmask=0077" + "dmask=0077" + ]; + }; + }; + + swapDevices = [ + { device = "/dev/disk/by-partlabel/SWAP"; } + ]; +} diff --git a/hosts/shared/fs-layouts/single-disk-xfs.nix b/hosts/shared/fs-layouts/single-disk-xfs.nix new file mode 100644 index 0000000..76b5a48 --- /dev/null +++ b/hosts/shared/fs-layouts/single-disk-xfs.nix @@ -0,0 +1,27 @@ +{ _, ... }: +{ + # REQUIRED PARTLABELS (can be set in parted or other tools NOT!!! FILESYSTEM LABEL!) + # / - NIXOS + # /boot - ESP + # swap - SWAP + + fileSystems = { + "/" = { + device = "/dev/disk/by-partlabel/NIXOS"; + fsType = "xfs"; + }; + + "/boot" = { + device = "/dev/disk/by-partlabel/ESP"; + fsType = "vfat"; + options = [ + "fmask=0077" + "dmask=0077" + ]; + }; + }; + + swapDevices = [ + { device = "/dev/disk/by-partlabel/SWAP"; } + ]; +} diff --git a/hosts/shared/nixos-pc.nix b/hosts/shared/nixos-pc.nix index 3070695..4b3c2df 100644 --- a/hosts/shared/nixos-pc.nix +++ b/hosts/shared/nixos-pc.nix @@ -1,5 +1,6 @@ { pkgs, + lib, inputs, ... }: @@ -37,12 +38,79 @@ }; }; + fonts = { + fontconfig = { + enable = true; + subpixel.rgba = "none"; + hinting.style = "slight"; + }; + }; + services = { + flatpak = { + packages = [ + { + appId = "io.github.HakanSeven12.OpenCadStudio"; + origin = "flatpark"; + } + { + appId = "io.github.ungoogled_software.ungoogled_chromium"; + origin = "flathub"; + } + { + appId = "org.gtk.Gtk3theme.Breeze"; + origin = "flathub"; + } + ]; + }; + + snapper = { + snapshotInterval = "hourly"; + cleanupInterval = "1d"; + configs = { + home = { + SUBVOLUME = "/home"; + TIMELINE_CREATE = true; + TIMELINE_CLEANUP = true; + TIMELINE_LIMIT_HOURLY = "10"; + TIMELINE_LIMIT_DAILY = "7"; + TIMELINE_LIMIT_WEEKLY = "2"; + TIMELINE_LIMIT_MONTHLY = "0"; + TIMELINE_LIMIT_YEARLY = "0"; + BACKGROUND_COMPARISON = "yes"; + NUMBER_CLEANUP = "no"; + NUMBER_MIN_AGE = "1800"; + NUMBER_LIMIT = "50"; + NUMBER_LIMIT_IMPORTANT = "10"; + EMPTY_PRE_POST_CLEANUP = "yes"; + EMPTY_PRE_POST_MIN_AGE = "1800"; + }; + }; + }; + + kmscon = { + enable = true; + config = { + hwAccel = true; + term = "xterm-256color"; + font-name = "Hack Nerd Font Mono"; + }; + }; + pipewire = { enable = true; pulse.enable = true; alsa.enable = true; }; + + openssh = { + enable = true; + settings = { + PasswordAuthentication = false; + KbdInteractiveAuthentication = false; + }; + }; + affinity-thumbnailer.enable = true; }; networking = { @@ -73,22 +141,56 @@ programs = { bash.enable = true; + firefox.enable = true; + gnupg.agent = { + enable = true; + pinentryPackage = pkgs.pinentry-qt; + }; + appimage = { enable = true; binfmt = true; }; }; + nixpkgs = { + # Fix msitools compiling and failing it's test-suite. + overlays = [ + (final: prev: { + msitools = prev.msitools.overrideAttrs (old: { + doCheck = false; + }); + }) + + inputs.affinity-nix.overlays.default + ]; + }; + environment = { systemPackages = import ../../features/common-pkgs.nix { inherit pkgs; } ++ (with pkgs; [ + btrfs-assistant + kdePackages.kfind desktop-file-utils + zathura + hunspell + hunspellDicts.en_US + hyphenDicts.en_US + affinity-v3 + libreoffice-qt + qimgv + mpv + vorta distrobox rtk + + inputs.appimage-manager.packages.${pkgs.stdenv.hostPlatform.system}.default inputs.pi.packages.${pkgs.stdenv.hostPlatform.system}.default + + (callPackage ../../packages/heidisql/package.nix { }) ]); shellAliases = import ../../features/aliases.nix { inherit pkgs; }; diff --git a/hosts/vergil/hardware.nix b/hosts/vergil/hardware.nix index 32ebe6d..aedb21b 100644 --- a/hosts/vergil/hardware.nix +++ b/hosts/vergil/hardware.nix @@ -8,6 +8,7 @@ { imports = [ (modulesPath + "/installer/scan/not-detected.nix") + ../shared/fs-layouts/single-disk-xfs.nix ]; boot = {