diff --git a/flake.lock b/flake.lock index 4fc54ad..d7966a0 100644 --- a/flake.lock +++ b/flake.lock @@ -3,11 +3,11 @@ "arkenfox-userjs": { "flake": false, "locked": { - "lastModified": 1655190061, - "narHash": "sha256-3bN/T4vCaIqkoz1AfZvczTXQup9B4Myq1cIRy/CyCgo=", + "lastModified": 1659264624, + "narHash": "sha256-iONF1YbWlW99k71lIUA/hw5+Rv1kf5M3mCItW6JmjbI=", "owner": "arkenfox", "repo": "user.js", - "rev": "c21b9faefc0d99ab4f91836ceddc68a2a52ff9cb", + "rev": "6e53e841f78c512f4d1eedb6a2409df746eea979", "type": "github" }, "original": { @@ -84,11 +84,11 @@ }, "cachix": { "locked": { - "lastModified": 1656032109, - "narHash": "sha256-yVpOG/FDHQa8hzhTGoLFgplTCDH/+ydYsF7Mc3pMQfk=", + "lastModified": 1659375853, + "narHash": "sha256-aiMfO6U1w1u93vB+5qCHCQDZKgpJ7qs4GJOQvI3CN/4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "902d91def1efbea804f5158e5999cb113cedf04b", + "rev": "511f6a5c3248f9019a41e70c1891484de2bc906c", "type": "github" }, "original": { @@ -98,6 +98,29 @@ "type": "github" } }, + "comma": { + "inputs": { + "flake-compat": "flake-compat", + "naersk": "naersk", + "nixpkgs": [ + "nixpkgs" + ], + "utils": "utils" + }, + "locked": { + "lastModified": 1656989878, + "narHash": "sha256-SvK+H9M62lhPvVRWfl7HGG0oRO90r1E8ju3PPp6A6N8=", + "owner": "nix-community", + "repo": "comma", + "rev": "f5732a6e8871348bafa3139a2f0d9bb7bc34c076", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "comma", + "type": "github" + } + }, "flake-compat": { "flake": false, "locked": { @@ -148,11 +171,11 @@ }, "flake-utils": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1656928814, + "narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249", "type": "github" }, "original": { @@ -163,11 +186,11 @@ }, "flake-utils_2": { "locked": { - "lastModified": 1656065134, - "narHash": "sha256-oc6E6ByIw3oJaIyc67maaFcnjYOz1mMcOtHxbEf9NwQ=", + "lastModified": 1656928814, + "narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=", "owner": "numtide", "repo": "flake-utils", - "rev": "bee6a7250dd1b01844a2de7e02e4df7d8a0a206c", + "rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249", "type": "github" }, "original": { @@ -178,20 +201,17 @@ }, "home-manager": { "inputs": { - "flake-compat": "flake-compat", "nixpkgs": [ "nixpkgs" ], - "nmd": "nmd", - "nmt": "nmt", - "utils": "utils" + "utils": "utils_2" }, "locked": { - "lastModified": 1656150467, - "narHash": "sha256-IJcYUzBfHhk0bklnWROwvw3P4txsfas+EzPb3fD+dvw=", + "lastModified": 1659484873, + "narHash": "sha256-6VoPiGyDdjBHOJ3IpS24lY1lrDiOHeuEefOFI0qz3WE=", "owner": "nix-community", "repo": "home-manager", - "rev": "e0baf8ee0c3578ea158df99f4443fdd30b9bfe14", + "rev": "d8d9ff0b2df77defa10375c6665b51f0251c34d6", "type": "github" }, "original": { @@ -200,17 +220,54 @@ "type": "github" } }, + "hyprland": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ], + "wlroots": "wlroots" + }, + "locked": { + "lastModified": 1659554352, + "narHash": "sha256-TkTYgohLTQIW3JRWqNH3N7TbT55ujYS3S7dfZgK7vXU=", + "owner": "hyprwm", + "repo": "Hyprland", + "rev": "5dcbce550f0247583789ced52c5ea0bcbde3fc35", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "Hyprland", + "type": "github" + } + }, + "hyprpaper": { + "flake": false, + "locked": { + "lastModified": 1659542870, + "narHash": "sha256-5bB0Wvl0PJDrHGOMM1jiKJOqoBExJfMbclAXiZbZmYo=", + "owner": "hyprwm", + "repo": "hyprpaper", + "rev": "571f495e88cf9a758698d937d65b9ba35d6eab13", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprpaper", + "type": "github" + } + }, "lib-aggregate": { "inputs": { "flake-utils": "flake-utils_2", "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1656072606, - "narHash": "sha256-Cu62yV1ndmrXVw6LryyGFq0Jk+QqFPCNwWoG4IIszYs=", + "lastModified": 1659269454, + "narHash": "sha256-TefLZJkb5I3okEPr5CEx8ok5YMMIKKRIr0qgLsV0wEo=", "owner": "nix-community", "repo": "lib-aggregate", - "rev": "e048dc74c4b6e21c10f7b675d6f5f43b5fd5d7fd", + "rev": "05a490aa2cc58c324089be2a46630f79cfd291dc", "type": "github" }, "original": { @@ -271,6 +328,28 @@ "url": "https://github.com/AfoninZ/MultiMC5-Cracked.git" } }, + "naersk": { + "inputs": { + "nixpkgs": [ + "comma", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1653413650, + "narHash": "sha256-wojDHjb+eU80MPH+3HQaK0liUy8EgR95rvmCl24i58Y=", + "owner": "nix-community", + "repo": "naersk", + "rev": "69daaceebe12c070cd5ae69ba38f277bbf033695", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "master", + "repo": "naersk", + "type": "github" + } + }, "nix": { "inputs": { "lowdown-src": "lowdown-src", @@ -278,11 +357,11 @@ "nixpkgs-regression": "nixpkgs-regression" }, "locked": { - "lastModified": 1656108215, - "narHash": "sha256-RzgcfbXxNWtt4BeJ/rPzHxR+l+wCfiauN4XTVnRLiy0=", + "lastModified": 1659543961, + "narHash": "sha256-4/gM8/rL8ms6Q+KcJo5nWTXVjBLkd0ESLvY8DemjNOA=", "owner": "nixos", "repo": "nix", - "rev": "586fa707fca207dbd12e49800691390249bdcd03", + "rev": "075bf6e5565aff9fba0ea02f3333c82adf4dccee", "type": "github" }, "original": { @@ -300,11 +379,11 @@ "poetry2nix": "poetry2nix" }, "locked": { - "lastModified": 1655280191, - "narHash": "sha256-OEgjk89Hr2/yNH+iPeFRi+X5dy+bZxhULVknqaBCcOg=", + "lastModified": 1657876248, + "narHash": "sha256-UkcXnWq9ukTFgLhxafg3cnQZmWL/jNgLbJbE1Geo4k4=", "owner": "thiagokokada", "repo": "nix-alien", - "rev": "ccf910e15a6dc5a41f8e714f9c35996aeb688760", + "rev": "897f10267138748956b7720c5a82bba8a90a832e", "type": "github" }, "original": { @@ -345,27 +424,27 @@ }, "nixpkgs-custom": { "locked": { - "lastModified": 1656168011, - "narHash": "sha256-iIXlI4dloMt7YiPInH7PuBCiSBmvgclkRZwOzlYv/xg=", - "owner": "AlukardBF", + "lastModified": 1659321066, + "narHash": "sha256-lWv1/yZhz1XGgpkyOSBItVyIDkiAIGXw8CHAA8+X144=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "4bc62eae18b26c627f2549b6833de9362568c7fb", + "rev": "894bced14f7c66112d39233bcaeaaf708e077759", "type": "github" }, "original": { - "owner": "AlukardBF", - "ref": "master", + "owner": "nixos", "repo": "nixpkgs", + "rev": "894bced14f7c66112d39233bcaeaaf708e077759", "type": "github" } }, "nixpkgs-lib": { "locked": { - "lastModified": 1655599917, - "narHash": "sha256-kjZbt5WdTrnjMxL79okg9TCoRUdADG50x/TWozbyTsE=", + "lastModified": 1659228903, + "narHash": "sha256-if+c7F8t/Yufix9LeWmWp4p3+VmGQAUSr7TCCrlQTJQ=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "5fb55578aa2f1a502d636a8ac71aece57cb730bb", + "rev": "a351c69544a1b38dcfae88b57512de36931a0b7c", "type": "github" }, "original": { @@ -376,11 +455,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1656157493, - "narHash": "sha256-ComBm/Wo4sGHCAuLNJ+VAbPd2/dWLWN03bkSK8uq/LI=", + "lastModified": 1659561516, + "narHash": "sha256-1R0Y6bXq5fMrFxkEawUWvltA8Oiwyz3UOJhfrWiWTJo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "41c91c48eee8801b91eb6c18ef763b11dc059047", + "rev": "42a4a464414cef2f3ecf9cba7ba93c6981626882", "type": "github" }, "original": { @@ -393,11 +472,11 @@ "nixpkgs-mozilla": { "flake": false, "locked": { - "lastModified": 1650459918, - "narHash": "sha256-sroCK+QJTmoXtcRkwZyKOP9iAYOPID2Bwdxn4GkG16w=", + "lastModified": 1657214286, + "narHash": "sha256-rO/4oymKXU09wG2bcTt4uthPCp1XsBZjxuCJo3yVXNs=", "owner": "mozilla", "repo": "nixpkgs-mozilla", - "rev": "e1f7540fc0a8b989fb8cf701dc4fd7fc76bcf168", + "rev": "0508a66e28a5792fdfb126bbf4dec1029c2509e0", "type": "github" }, "original": { @@ -424,11 +503,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1656007306, - "narHash": "sha256-MsC44YZ6wuBwn5Bu8T+RVoQWlp2l5BR6hhmNoAAHIEw=", + "lastModified": 1659445012, + "narHash": "sha256-n8/7npmp3hLbPSTRHPW8EPO8qh9vJ10RgkRM3Ve4vfc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ccf8bdf72624521358be6bb7d9b524c4cbcf7aff", + "rev": "a9f66ae640146ac16b6e33d2359e9171b27b0993", "type": "github" }, "original": { @@ -448,11 +527,11 @@ ] }, "locked": { - "lastModified": 1656159969, - "narHash": "sha256-tetFScs4LsZ5DrrsSxpJeo/FI5pi14xFhDuKswv1K3s=", + "lastModified": 1659557886, + "narHash": "sha256-vwIdUmsmxeW6QsATG4VVtY25enBQII9R5tNSL9f1o68=", "owner": "nix-community", "repo": "nixpkgs-wayland", - "rev": "ac93a688a4e11da7f57d404534b3581290181495", + "rev": "32c10417a93107e6840dd91d6270dd8bc772d58f", "type": "github" }, "original": { @@ -463,11 +542,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1653988320, - "narHash": "sha256-ZaqFFsSDipZ6KVqriwM34T739+KLYJvNmCWzErjAg7c=", + "lastModified": 1657693803, + "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2fa57ed190fd6c7c746319444f34b5917666e5c1", + "rev": "365e1b3a859281cf11b94f87231adeabbdd878a2", "type": "github" }, "original": { @@ -479,11 +558,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1655983783, - "narHash": "sha256-0h1FzkYWei24IdKNpCX93onkF/FMiXQG8SdEbTc0r8A=", + "lastModified": 1659487974, + "narHash": "sha256-CVGOtR/Wyq3TVCjf8/kdnYD5G2JwUKUQVtd+5WIDTuY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6141b8932a5cf376fe18fcd368cecd9ad946cb68", + "rev": "12363fb6d89859a37cd7e27f85288599f13e49d9", "type": "github" }, "original": { @@ -493,45 +572,13 @@ "type": "github" } }, - "nmd": { - "flake": false, - "locked": { - "lastModified": 1653339422, - "narHash": "sha256-RNLq09vfj21TyYuUCeD6BNTNC6Ew8bLhQULZytN4Xx8=", - "owner": "rycee", - "repo": "nmd", - "rev": "91dee681dd1c478d6040a00835d73c0f4a4c5c29", - "type": "gitlab" - }, - "original": { - "owner": "rycee", - "repo": "nmd", - "type": "gitlab" - } - }, - "nmt": { - "flake": false, - "locked": { - "lastModified": 1648075362, - "narHash": "sha256-u36WgzoA84dMVsGXzml4wZ5ckGgfnvS0ryzo/3zn/Pc=", - "owner": "rycee", - "repo": "nmt", - "rev": "d83601002c99b78c89ea80e5e6ba21addcfe12ae", - "type": "gitlab" - }, - "original": { - "owner": "rycee", - "repo": "nmt", - "type": "gitlab" - } - }, "nur": { "locked": { - "lastModified": 1656158107, - "narHash": "sha256-DbENc5ndWgpTd7bJbNqP8lX+lGfzcCI1vSjYy0ebASI=", + "lastModified": 1659556157, + "narHash": "sha256-u8HQc5m0W5XJBN8otFjpVdkF1ZxZgN9ypxausw5kDPA=", "owner": "nix-community", "repo": "NUR", - "rev": "c45462e0eac81d8c779f9444e3b231f4e95f2f10", + "rev": "97fdb83a2e4db43fd6a41a61e84c8d97e737b6d4", "type": "github" }, "original": { @@ -552,11 +599,11 @@ ] }, "locked": { - "lastModified": 1655106322, - "narHash": "sha256-X7oWgty5uKYYTg7n6gut/lShi1X5QxiOfLQNHyJ5LaM=", + "lastModified": 1657626303, + "narHash": "sha256-O/JJ0hSBCmlx0oP8QGAlRrWn0BvlC5cj7/EZ0CCWHTU=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "347ccb4ce58e7af1ece3f9743019263c4aede7b8", + "rev": "920ba682377d5c0d87945c5eb6141ab8447ca509", "type": "github" }, "original": { @@ -626,7 +673,10 @@ "base16": "base16", "base16-horizon-scheme": "base16-horizon-scheme", "base16-tokyonight-scheme": "base16-tokyonight-scheme", + "comma": "comma", "home-manager": "home-manager", + "hyprland": "hyprland", + "hyprpaper": "hyprpaper", "multimc-cracked": "multimc-cracked", "nix": "nix", "nix-alien": "nix-alien", @@ -651,11 +701,11 @@ "rycee": { "flake": false, "locked": { - "lastModified": 1656150871, - "narHash": "sha256-UQuoIv9nxHRMzh+0jAerDcl4WLqtI/ZjsUY8Ly3XCIE=", + "lastModified": 1659499355, + "narHash": "sha256-v534Oh9EQ/aOHpsoGGTf62Hcw80c9Qv2qW+L+FJNVCY=", "owner": "rycee", "repo": "nur-expressions", - "rev": "882f830b66d99012374ff2140b5fd276449d49d6", + "rev": "549af64db84b6f6530c6a459d7f6c849f2c65553", "type": "gitlab" }, "original": { @@ -671,7 +721,7 @@ "nixpkgs" ], "nixpkgs-22_05": "nixpkgs-22_05", - "utils": "utils_2" + "utils": "utils_3" }, "locked": { "lastModified": 1655930346, @@ -703,6 +753,21 @@ } }, "utils_2": { + "locked": { + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "utils_3": { "locked": { "lastModified": 1605370193, "narHash": "sha256-YyMTf3URDL/otKdKgtoMChu4vfVL3vCMkRqpGifhUn0=", @@ -724,11 +789,11 @@ ] }, "locked": { - "lastModified": 1649111508, - "narHash": "sha256-zMXuOohxn3U/HjJXy5oQINiNNzvyqiUwgQu4Rsw9VIY=", + "lastModified": 1657846023, + "narHash": "sha256-W7XkZ96U/fRzZDU6YGGBQGgxo6A6RJzOrfSRweCZfjw=", "owner": "MatthewCash", "repo": "nixos-vscode-server", - "rev": "bc9a62ac42a38e22b552cd88841640725e1b7a2b", + "rev": "58a5bbc00235d212a3c99bb62113504abf13da50", "type": "github" }, "original": { @@ -737,6 +802,24 @@ "type": "github" } }, + "wlroots": { + "flake": false, + "locked": { + "host": "gitlab.freedesktop.org", + "lastModified": 1658770113, + "narHash": "sha256-VBq9vw0hvQPKGKLNKLJS8xsUHvrX0o2LUDBVolixenE=", + "owner": "wlroots", + "repo": "wlroots", + "rev": "7b5e890e61a27375725068a7d1884b26851b3102", + "type": "gitlab" + }, + "original": { + "host": "gitlab.freedesktop.org", + "owner": "wlroots", + "repo": "wlroots", + "type": "gitlab" + } + }, "zsh-autosuggestions": { "flake": false, "locked": { @@ -756,11 +839,11 @@ "zsh-cod": { "flake": false, "locked": { - "lastModified": 1642757985, - "narHash": "sha256-gn1MXy2kRCZqYewsxr+ZRwhxwUlD6TM1bt0mRDYnRZ8=", + "lastModified": 1658825818, + "narHash": "sha256-0Pb8IjUpfRdFpPAn3JQlryFnLMb7wlmn8Jw8GI+Q6q0=", "owner": "dim-an", "repo": "cod", - "rev": "de10c9bfff394dd59f302515776f1413f26e5a49", + "rev": "2a56d1ee216f48bbd5c2fb9846cc2192f21fa6ac", "type": "github" }, "original": { @@ -788,11 +871,11 @@ "zsh-you-should-use": { "flake": false, "locked": { - "lastModified": 1638894143, - "narHash": "sha256-g4Fw0TwyajZnWQ8fvJvobyt98nRgg08uxK6yNEABo8Y=", + "lastModified": 1656492197, + "narHash": "sha256-1NL/GcW656Qn8+OrJVESF2O+GzFxl44iZqXGSnymOB4=", "owner": "MichaelAquilina", "repo": "zsh-you-should-use", - "rev": "773ae5f414b296b4100f1ab6668ecffdab795128", + "rev": "09d9aa2cad2b7caf48cce8f321ebbbf8f47ce1c3", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 2cde8fa..60337ca 100644 --- a/flake.nix +++ b/flake.nix @@ -2,7 +2,7 @@ description = "System configuration"; inputs = { - nixpkgs-custom.url = "github:AlukardBF/nixpkgs/master"; + nixpkgs-custom.url = "github:nixos/nixpkgs/894bced14f7c66112d39233bcaeaaf708e077759"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-master.url = "github:nixos/nixpkgs/master"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-22.05"; @@ -29,6 +29,18 @@ url = "github:alukardbf/base16-tokyonight-scheme"; flake = false; }; + comma = { + url = "github:nix-community/comma"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + hyprland = { + url = "github:hyprwm/Hyprland"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + hyprpaper = { + url = "github:hyprwm/hyprpaper"; + flake = false; + }; multimc-cracked = { url = "https://github.com/AfoninZ/MultiMC5-Cracked.git"; ref = "develop"; @@ -95,6 +107,13 @@ sudo nixos-rebuild $1 --flake . fi ''); + update-vscode = (pkgs: pkgs.writeShellScriptBin "update-vscode" '' + ./scripts/vscode_update_extensions.sh > ./profiles/applications/vscode/extensions.nix + ''); + upgrade = (pkgs: pkgs.writeShellScriptBin "upgrade" '' + cp flake.lock flake.lock.bak && nix flake update + update-vscode + ''); findModules = dir: builtins.concatLists (builtins.attrValues (builtins.mapAttrs (name: type: @@ -139,7 +158,7 @@ devShell.x86_64-linux = let pkgs = self.legacyPackages.x86_64-linux; in pkgs.mkShell { - nativeBuildInputs = [ (rebuild pkgs) ]; + nativeBuildInputs = [ (rebuild pkgs) (update-vscode pkgs) (upgrade pkgs) ]; }; }; } diff --git a/machines/Flakes-ISO/default.nix b/machines/Flakes-ISO/default.nix index 778df96..81e96f9 100644 --- a/machines/Flakes-ISO/default.nix +++ b/machines/Flakes-ISO/default.nix @@ -14,7 +14,6 @@ mako mpv packages - picom print-scan rofi sound diff --git a/misc/wallpaper-old b/misc/wallpaper-old new file mode 100644 index 0000000..43722c0 Binary files /dev/null and b/misc/wallpaper-old differ diff --git a/profiles/applications/firefox.nix b/profiles/applications/firefox.nix index 80d03a3..31feb82 100755 --- a/profiles/applications/firefox.nix +++ b/profiles/applications/firefox.nix @@ -108,6 +108,8 @@ in { "experiments.enabled" = false; "experiments.supported" = false; "network.allow-experiments" = false; + + "widget.use-xdg-desktop-portal.file-picker" = 1; }; extraPrefs = "${fileContents "${pkgs.arkenfox-userjs}/share/user-js/profiles/user.js"}"; }; @@ -153,6 +155,8 @@ in { "experiments.enabled" = false; "experiments.supported" = false; "network.allow-experiments" = false; + + "widget.use-xdg-desktop-portal.file-picker" = 1; }; extraPrefs = "${fileContents "${pkgs.arkenfox-userjs}/share/user-js/profiles/user.js"}"; }; diff --git a/profiles/applications/kitty.nix b/profiles/applications/kitty.nix index 4417710..9a56e17 100644 --- a/profiles/applications/kitty.nix +++ b/profiles/applications/kitty.nix @@ -50,6 +50,7 @@ in with config.deviceSpecific; color20 = "#${thm.base04-hex}"; color21 = "#${thm.base06-hex}"; enable_audio_bell = false; + confirm_os_window_close = 0; }; }; }; diff --git a/profiles/applications/packages.nix b/profiles/applications/packages.nix index 0f2f18c..e6dba8f 100644 --- a/profiles/applications/packages.nix +++ b/profiles/applications/packages.nix @@ -57,7 +57,7 @@ with config.deviceSpecific; { pinta qbittorrent qimgv - quodlibet + # quodlibet schildichat-desktop-wayland system-config-printer tdesktop @@ -83,6 +83,7 @@ with config.deviceSpecific; { ] ++ lib.optionals isGaming [ # ceserver # ckan + gamescope goverlay lutris obs-studio diff --git a/profiles/applications/vscode.nix b/profiles/applications/vscode.nix deleted file mode 100644 index daa7b29..0000000 --- a/profiles/applications/vscode.nix +++ /dev/null @@ -1,286 +0,0 @@ -{ pkgs, lib, config, ... }: -let - thmFile = config.lib.base16.templateFile; - thm = config.lib.base16.theme; -in -{ - home-manager.users.alukard = { - programs.vscode = { - enable = true; - package = pkgs.vscode; - extensions = pkgs.vscode-utils.extensionsFromVscodeMarketplace [ - { - name = "better-comments"; - publisher = "aaron-bond"; - version = "2.1.0"; - sha256 = "0kmmk6bpsdrvbb7dqf0d3annpg41n9g6ljzc1dh0akjzpbchdcwp"; - } - { - name = "Bookmarks"; - publisher = "alefragnani"; - version = "13.2.4"; - sha256 = "0376hs09wypn781s4cz3qb74qvsxck0nw1s39bfsgpqi0rgvwa9f"; - } - { - name = "project-manager"; - publisher = "alefragnani"; - version = "12.5.0"; - sha256 = "0v2zckwqyl33jwpzjr8i3p3v1xldkindsyip8v7rs1pcmqmpv1dq"; - } - { - name = "nix-env-selector"; - publisher = "arrterian"; - version = "1.0.7"; - sha256 = "0mralimyzhyp4x9q98x3ck64ifbjqdp8cxcami7clvdvkmf8hxhf"; - } - { - name = "Nix"; - publisher = "bbenoist"; - version = "1.0.1"; - sha256 = "0zd0n9f5z1f0ckzfjr38xw2zzmcxg1gjrava7yahg5cvdcw6l35b"; - } - { - name = "better-toml"; - publisher = "bungcip"; - version = "0.3.2"; - sha256 = "08lhzhrn6p0xwi0hcyp6lj9bvpfj87vr99klzsiy8ji7621dzql3"; - } - { - name = "path-intellisense"; - publisher = "christian-kohler"; - version = "2.8.0"; - sha256 = "04vardis9k6yzaha5hhhv16c3z6np48adih46xj88y83ipvg5z2l"; - } - { - name = "gitignore"; - publisher = "codezombiech"; - version = "0.7.0"; - sha256 = "0fm4sxx1cb679vn4v85dw8dfp5x0p74m9p2b56gqkvdap0f2q351"; - } - { - name = "dart-code"; - publisher = "Dart-Code"; - version = "3.37.20220310"; - sha256 = "07ppxizyawy247n2spz44qna1xsq7irywdkq6w9xsmd6lqbw9xcx"; - } - { - name = "flutter"; - publisher = "Dart-Code"; - version = "3.37.20220301"; - sha256 = "0l96nx6xwciq509q0cijkymhyvdhx04al4ypr3k9ydcapajvhb9x"; - } - { - name = "wal-theme"; - publisher = "dlasagno"; - version = "1.2.0"; - sha256 = "17130z04jg8hhj1k62q3d3lni10hajrckf1y95bbnm2d57j8spjz"; - } - { - name = "gitlens"; - publisher = "eamodio"; - version = "12.0.5"; - sha256 = "0zfawv9nn88x8m30h7ryax0c7p68najl23a51r88a70hqppzxshw"; - } - { - name = "tokyo-night"; - publisher = "enkia"; - version = "0.8.4"; - sha256 = "15ab2k0xs8kvws8zq0irch4cvq1dc0zr3xynj0qn78zzbgwq92c7"; - } - { - name = "vscode-pull-request-github"; - publisher = "GitHub"; - version = "0.41.2022033109"; - sha256 = "02iqf7pm2ldfw9xwlibl97nywyfkmnvj26y2s9jia1hvhwb6s7ql"; - } - { - name = "vscode-env"; - publisher = "IronGeek"; - version = "0.1.0"; - sha256 = "1ygfx1p38dqpk032n3x0591i274a63axh992gn6z1d45ag9bs6ji"; - } - { - name = "plantuml"; - publisher = "jebbs"; - version = "2.17.2"; - sha256 = "0yxnfq34g563w96dwfirqscjfclhzr48yb9cwfjjf0c0l638x9vv"; - } - { - name = "codeacejumper"; - publisher = "lucax88x"; - version = "3.3.2"; - sha256 = "02a5f0lg0rmrjjf52z30mk19ii71pcdxjmbcb4v6haw1pkm6anqn"; - } - { - name = "flutter-tree"; - publisher = "marcelovelasquez"; - version = "1.0.0"; - sha256 = "08glv02b5d5f4jfdfddg62jvdzscinl2jhsb7gpz36rxrbp0f17s"; - } - { - name = "git-graph"; - publisher = "mhutchie"; - version = "1.30.0"; - sha256 = "000zhgzijf3h6abhv4p3cz99ykj6489wfn81j0s691prr8q9lxxh"; - } - { - name = "remote-ssh"; - publisher = "ms-vscode-remote"; - version = "0.78.0"; - sha256 = "1743rwmbqw2mi2dfy3r9qc6qkn42pjchj5cl8ayqvwwrrrvvvpxx"; - } - { - name = "remote-ssh-edit"; - publisher = "ms-vscode-remote"; - version = "0.78.0"; - sha256 = "0vfzz6k4hk7m5r6l7hszbf4fwhxq6hxf8f8gimphkc57v4z376ls"; - } - { - name = "awesome-flutter-snippets"; - publisher = "Nash"; - version = "3.0.3"; - sha256 = "1kmklahzzng7fy1xgqmyzphyfpy2dppfbvqwbsw3al2s0psynxd0"; - } - { - name = "color-highlight"; - publisher = "naumovs"; - version = "2.5.0"; - sha256 = "0ri1rylg0r9r1kdc67815gjlq5fwnb26xpyziva6a40brrbh70vm"; - } - { - name = "material-icon-theme"; - publisher = "PKief"; - version = "4.15.0"; - sha256 = "1bs78k27ypq298zyhclcj3xac9xlj7f3zpy6jh2gv9x8fbwnqp3x"; - } - { - name = "gruvbox-material"; - publisher = "sainnhe"; - version = "6.5.0"; - sha256 = "1r9kgwrh6jjp8i6aa07prhrb398d5isf9ics4wmdbvd6k0gnzf8n"; - } - { - name = "code-spell-checker"; - publisher = "streetsidesoftware"; - version = "2.1.11"; - sha256 = "0zjvv6msz9w9k81rkynqp6xgfzd11slakmr1rm8v875bpgzdfg9s"; - } - { - name = "code-spell-checker-russian"; - publisher = "streetsidesoftware"; - version = "2.0.3"; - sha256 = "1bq478y4g3ibf2hww6mj06m0l2c9s1psxwq7cymh646p4v87ljcg"; - } - { - name = "pdf"; - publisher = "tomoki1207"; - version = "1.2.0"; - sha256 = "1bcj546bp0w4yndd0qxwr8grhiwjd1jvf33jgmpm0j96y34vcszz"; - } - { - name = "sort-lines"; - publisher = "Tyriar"; - version = "1.9.1"; - sha256 = "0dds99j6awdxb0ipm15g543a5b6f0hr00q9rz961n0zkyawgdlcb"; - } - { - name = "vscode-nginx"; - publisher = "william-voyek"; - version = "0.7.2"; - sha256 = "0s4akrhdmrf8qwn6vp8kc31k5hx2k2wml5mcashfc09hxiqsf2cq"; - } - ]; - userSettings = { - "update.mode" = "none"; - "telemetry.telemetryLevel" = "off"; - "editor.fontFamily" = "'Victor Mono', 'Fira Code', 'Font Awesome 5 Free', 'Font Awesome 5 Free Solid', 'Material Icons'"; - "editor.fontLigatures" = true; - "editor.fontWeight" = "600"; - "editor.fontSize" = 16; - "workbench.iconTheme" = "material-icon-theme"; - "workbench.colorTheme" = "Tokyo Night"; - "files.autoSave" = "afterDelay"; - "cSpell.language" = "en,ru"; - "editor.quickSuggestions" = { - "other" = true; - "comments" = false; - "strings" = true; - }; - "hexdump.littleEndian" = true; - "files.trimTrailingWhitespace" = true; - "[dart]" = { - "editor.formatOnSave" = true; - "editor.formatOnType" = true; - "editor.rulers" = [ - 80 - ]; - "editor.selectionHighlight" = false; - "editor.suggest.snippetsPreventQuickSuggestions" = false; - "editor.suggestSelection" = "first"; - "editor.tabCompletion" = "onlySnippets"; - "editor.wordBasedSuggestions" = false; - }; - "[nix]" = { - "editor.tabSize" = 2; - "editor.detectIndentation" = true; - }; - "dart.allowAnalytics" = false; - "dart.flutterCreateOrganization" = "com.ataraxiadev"; - "files.exclude" = { - "**/.classpath" = true; - "**/.project" = true; - "**/.settings" = true; - "**/.factorypath" = true; - "**/.direnv" = true; - }; - "gruvboxMaterial.darkContrast" = "medium"; - "dart.debugSdkLibraries" = true; - "dart.checkForSdkUpdates" = false; - "window.menuBarVisibility" = "toggle"; - "terminal.integrated.fontFamily" = "IBM Plex Mono for Powerline"; - "terminal.integrated.fontWeight" = "500"; - "files.watcherExclude" = { - "**/.direnv" = true; - }; - "search.exclude" = { - "**/.direnv" = true; - }; - "git.enableCommitSigning" = true; - "git-graph.repository.sign.commits" = true; - "git-graph.repository.sign.tags" = true; - "editor.bracketPairColorization.enabled" = true; - "editor.guides.bracketPairs" = "active"; - "terminal.integrated.defaultProfile.linux" = "linux-zsh"; - "terminal.integrated.profiles.linux" = { - "linux-zsh" = { - "path" = "${pkgs.zsh}/bin/zsh"; - }; - }; - }; - }; - - home.file.".cache/wal/colors".text = '' - #${thm.base00-hex} - #${thm.base08-hex} - #${thm.base0B-hex} - #${thm.base0A-hex} - #${thm.base0D-hex} - #${thm.base0E-hex} - #${thm.base0C-hex} - #${thm.base05-hex} - #${thm.base03-hex} - #${thm.base08-hex} - #${thm.base0B-hex} - #${thm.base0A-hex} - #${thm.base0D-hex} - #${thm.base0E-hex} - #${thm.base0C-hex} - #${thm.base07-hex} - ''; - }; - - defaultApplications.editor = { - cmd = "${pkgs.vscode}/bin/code"; - desktop = "code"; - }; -} diff --git a/profiles/applications/vscode/default.nix b/profiles/applications/vscode/default.nix new file mode 100644 index 0000000..5a7f4cc --- /dev/null +++ b/profiles/applications/vscode/default.nix @@ -0,0 +1,105 @@ +{ pkgs, lib, config, ... }: +let + thmFile = config.lib.base16.templateFile; + thm = config.lib.base16.theme; +in +{ + home-manager.users.alukard = { + programs.vscode = { + enable = true; + package = pkgs.vscode; + extensions = pkgs.vscode-utils.extensionsFromVscodeMarketplace (import ./extensions.nix); + userSettings = { + "update.mode" = "none"; + "telemetry.telemetryLevel" = "off"; + "editor.fontFamily" = "'Victor Mono', 'Fira Code', 'Font Awesome 5 Free', 'Font Awesome 5 Free Solid', 'Material Icons'"; + "editor.fontLigatures" = true; + "editor.fontWeight" = "600"; + "editor.fontSize" = 16; + "workbench.iconTheme" = "material-icon-theme"; + "workbench.colorTheme" = "Tokyo Night"; + "files.autoSave" = "afterDelay"; + "cSpell.language" = "en,ru"; + "editor.quickSuggestions" = { + "other" = true; + "comments" = false; + "strings" = true; + }; + "hexdump.littleEndian" = true; + "files.trimTrailingWhitespace" = true; + "[dart]" = { + "editor.formatOnSave" = true; + "editor.formatOnType" = true; + "editor.rulers" = [ + 80 + ]; + "editor.selectionHighlight" = false; + "editor.suggest.snippetsPreventQuickSuggestions" = false; + "editor.suggestSelection" = "first"; + "editor.tabCompletion" = "onlySnippets"; + "editor.wordBasedSuggestions" = false; + }; + "[nix]" = { + "editor.tabSize" = 2; + "editor.detectIndentation" = true; + }; + "dart.allowAnalytics" = false; + "dart.flutterCreateOrganization" = "com.ataraxiadev"; + "files.exclude" = { + "**/.classpath" = true; + "**/.project" = true; + "**/.settings" = true; + "**/.factorypath" = true; + "**/.direnv" = true; + }; + "gruvboxMaterial.darkContrast" = "medium"; + "dart.debugSdkLibraries" = true; + "dart.checkForSdkUpdates" = false; + "window.menuBarVisibility" = "toggle"; + "terminal.integrated.fontFamily" = "IBM Plex Mono for Powerline"; + "terminal.integrated.fontWeight" = "500"; + "files.watcherExclude" = { + "**/.direnv" = true; + }; + "search.exclude" = { + "**/.direnv" = true; + }; + "git.enableCommitSigning" = true; + "git-graph.repository.sign.commits" = true; + "git-graph.repository.sign.tags" = true; + "editor.bracketPairColorization.enabled" = true; + "editor.guides.bracketPairs" = "active"; + "terminal.integrated.defaultProfile.linux" = "linux-zsh"; + "terminal.integrated.profiles.linux" = { + "linux-zsh" = { + "path" = "${pkgs.zsh}/bin/zsh"; + }; + }; + }; + }; + + home.file.".cache/wal/colors".text = '' + #${thm.base00-hex} + #${thm.base08-hex} + #${thm.base0B-hex} + #${thm.base0A-hex} + #${thm.base0D-hex} + #${thm.base0E-hex} + #${thm.base0C-hex} + #${thm.base05-hex} + #${thm.base03-hex} + #${thm.base08-hex} + #${thm.base0B-hex} + #${thm.base0A-hex} + #${thm.base0D-hex} + #${thm.base0E-hex} + #${thm.base0C-hex} + #${thm.base07-hex} + ''; + }; + + defaultApplications.editor = { + cmd = "${pkgs.vscode}/bin/code"; + desktop = "code"; + }; +} diff --git a/profiles/applications/vscode/extensions.nix b/profiles/applications/vscode/extensions.nix new file mode 100644 index 0000000..870f37f --- /dev/null +++ b/profiles/applications/vscode/extensions.nix @@ -0,0 +1,140 @@ +[ + { + name = "better-comments"; + publisher = "aaron-bond"; + version = "3.0.2"; + sha256 = "15w1ixvp6vn9ng6mmcmv9ch0ngx8m85i1yabxdfn6zx3ypq802c5"; + } + { + name = "Bookmarks"; + publisher = "alefragnani"; + version = "13.3.1"; + sha256 = "0q3zc84f4dl9zhsr6j569bm4jgyjlrzn9zf3fcpw871wnak8b509"; + } + { + name = "project-manager"; + publisher = "alefragnani"; + version = "12.6.1"; + sha256 = "0lmva34pmadkny55rr7fm9wv2k0q4sjx9b7984azwlrbkvb1jhha"; + } + { + name = "nix-env-selector"; + publisher = "arrterian"; + version = "1.0.9"; + sha256 = "0kdfhkdkffr3cdxmj7llb9g3wqpm13ml75rpkwlg1y0pkxcnlk2f"; + } + { + name = "Nix"; + publisher = "bbenoist"; + version = "1.0.1"; + sha256 = "0zd0n9f5z1f0ckzfjr38xw2zzmcxg1gjrava7yahg5cvdcw6l35b"; + } + { + name = "better-toml"; + publisher = "bungcip"; + version = "0.3.2"; + sha256 = "08lhzhrn6p0xwi0hcyp6lj9bvpfj87vr99klzsiy8ji7621dzql3"; + } + { + name = "catppuccin-vsc"; + publisher = "Catppuccin"; + version = "1.0.6"; + sha256 = "14kbaglln2qq7kpkjqmacw6nwgqd0ydn16qnrbsr21iwszqk5kz0"; + } + { + name = "path-intellisense"; + publisher = "christian-kohler"; + version = "2.8.1"; + sha256 = "1j7q4mzj173sl6xl3zjw40hnqvyqsrsczakmv63066k4k0rb6clm"; + } + { + name = "gitignore"; + publisher = "codezombiech"; + version = "0.9.0"; + sha256 = "0ww0x28m83fv5zdqkmz108rsxb60fyy5y0ksknb2xchirzwhayi0"; + } + { + name = "dart-code"; + publisher = "Dart-Code"; + version = "3.46.1"; + sha256 = "0z76qqkdp5siw4cb0vd1xm1vzrr02r2c9gsa5l365w9rn8fnagl0"; + } + { + name = "flutter"; + publisher = "Dart-Code"; + version = "3.46.0"; + sha256 = "1gjc7yxf7prpadi82ml5jqq2f5svcnnfryhn87is79wmgy3dxk3z"; + } + { + name = "wal-theme"; + publisher = "dlasagno"; + version = "1.2.0"; + sha256 = "17130z04jg8hhj1k62q3d3lni10hajrckf1y95bbnm2d57j8spjz"; + } + { + name = "gitlens"; + publisher = "eamodio"; + version = "12.1.2"; + sha256 = "0wpmfrfpi6wl9v3dknx2qr2m74azpcw8bvhac21v67w6jxnl3jd9"; + } + { + name = "tokyo-night"; + publisher = "enkia"; + version = "0.9.2"; + sha256 = "0abry6ipz7rn6zbn6wf3gmb31dyp7ah1jv73aspmhdj582imax4l"; + } + { + name = "bloc"; + publisher = "FelixAngelov"; + version = "6.6.1"; + sha256 = "0xi7yzk9lbpjjqgyph1zas2dr0cakap5gg1rziq9vvs6s63il6s7"; + } + { + name = "vscode-pull-request-github"; + publisher = "GitHub"; + version = "0.47.2022080211"; + sha256 = "14ick67g0l2sclbi0hn91mqi7xncaif9shddwf7swb7lrj6p64kv"; + } + { + name = "vscode-env"; + publisher = "IronGeek"; + version = "0.1.0"; + sha256 = "1ygfx1p38dqpk032n3x0591i274a63axh992gn6z1d45ag9bs6ji"; + } + { + name = "plantuml"; + publisher = "jebbs"; + version = "2.17.3"; + sha256 = "1i78q44y5qriai1r4y0icdv5gl5v9wzhm0rkwp2pvk0vwr4v2fks"; + } + { + name = "codeacejumper"; + publisher = "lucax88x"; + version = "3.3.2"; + sha256 = "02a5f0lg0rmrjjf52z30mk19ii71pcdxjmbcb4v6haw1pkm6anqn"; + } + { + name = "flutter-tree"; + publisher = "marcelovelasquez"; + version = "1.0.0"; + sha256 = "08glv02b5d5f4jfdfddg62jvdzscinl2jhsb7gpz36rxrbp0f17s"; + } + { + name = "git-graph"; + publisher = "mhutchie"; + version = "1.30.0"; + sha256 = "000zhgzijf3h6abhv4p3cz99ykj6489wfn81j0s691prr8q9lxxh"; + } + { + name = "remote-ssh"; + publisher = "ms-vscode-remote"; + version = "0.85.2022071315"; + sha256 = "195c22wvvw727li8wf0nhfpccgynx9sd48gzz39j8wxmi7qqvjli"; + } + { + name = "remote-ssh-edit"; + publisher = "ms-vscode-remote"; + version = "0.80.0"; + sha256 = "0zgrd2909xpr3416cji0ha3yl6gl2ry2f38bvx4lsjfmgik0ic6s"; + } +] diff --git a/profiles/boot.nix b/profiles/boot.nix index 218a431..22780ef 100644 --- a/profiles/boot.nix +++ b/profiles/boot.nix @@ -34,6 +34,8 @@ with config.deviceSpecific; { kernel.sysctl = { "vm.swappiness" = if config.deviceSpecific.isSSD then 1 else 10; }; + + cleanTmpDir = true; } else if isServer then { kernelPackages = pkgs.linuxPackages_5_15_hardened; kernelModules = [ "tcp_bbr" ]; diff --git a/profiles/nix/default.nix b/profiles/nix/default.nix index f603abd..31ccfb6 100644 --- a/profiles/nix/default.nix +++ b/profiles/nix/default.nix @@ -26,11 +26,13 @@ with config.deviceSpecific; { "https://cache.nixos.org" "https://nix-community.cachix.org" "https://nixpkgs-wayland.cachix.org" + "https://hyprland.cachix.org" ]; trusted-public-keys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "nixpkgs-wayland.cachix.org-1:3lwxaILxMRkVhehr5StQprHdEo4IrE8sRho9R9HOLYA=" + "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ]; trusted-users = [ "root" "alukard" "@wheel" ]; }; diff --git a/profiles/overlay.nix b/profiles/overlay.nix index 8195132..3d723be 100644 --- a/profiles/overlay.nix +++ b/profiles/overlay.nix @@ -30,7 +30,9 @@ with lib; { arkenfox-userjs = pkgs.callPackage ./packages/arkenfox-userjs.nix { arkenfox-repo = inputs.arkenfox-userjs; }; bibata-cursors-tokyonight = pkgs.callPackage ./packages/bibata-cursors-tokyonight.nix { }; ceserver = pkgs.callPackage ./packages/ceserver.nix { }; - gamescope = pkgs.callPackage ./packages/gamescope.nix { }; + # comma = inputs.comma.default; + gamescope = custom.gamescope; + hyprpaper = pkgs.callPackage ./packages/hyprpaper.nix { src = inputs.hyprpaper; }; ibm-plex-powerline = pkgs.callPackage ./packages/ibm-plex-powerline.nix { }; kitti3 = pkgs.python3Packages.callPackage ./packages/kitti3.nix { }; mpris-ctl = pkgs.callPackage ./packages/mpris-ctl.nix { }; @@ -48,26 +50,23 @@ with lib; { youtube-to-mpv = pkgs.callPackage ./packages/youtube-to-mpv.nix { term = config.defaultApplications.term.cmd; }; vivaldi = master.vivaldi; wine = super.wineWowPackages.staging; - pass-secret-service = custom.pass-secret-service.overrideAttrs (_: { - installCheckPhase = null; - setuptoolsCheckHook = null; - postInstall = '' - mkdir -p $out/share/{dbus-1/services,xdg-desktop-portal/portals} - cat > $out/share/dbus-1/services/org.freedesktop.secrets.service << EOF - [D-BUS Service] - Name=org.freedesktop.secrets - Exec=/run/current-system/sw/bin/systemctl --user start pass-secret-service - EOF - cp $out/share/dbus-1/services/{org.freedesktop.secrets.service,org.freedesktop.impl.portal.Secret.service} - cat > $out/share/xdg-desktop-portal/portals/pass-secret-service.portal << EOF - [portal] - DBusName=org.freedesktop.secrets - Interfaces=org.freedesktop.impl.portal.Secrets - UseIn=gnome - EOF - ''; - }); - flutter = custom.flutter; + # pass-secret-service = super.pass-secret-service.overrideAttrs (_: { + # installCheckPhase = null; + # setuptoolsCheckHook = null; + # postInstall = '' + # mkdir -p $out/share/{dbus-1/services,xdg-desktop-portal/portals} + # mkdir -p $out/lib/systemd/user/ + # cp systemd/org.freedesktop.secrets.service $out/share/dbus-1/services" + # cp systemd/dbus-org.freedesktop.secrets.service $out/lib/systemd/user/ + # cat > $out/share/xdg-desktop-portal/portals/pass-secret-service.portal << EOF + # [portal] + # DBusName=org.freedesktop.secrets + # Interfaces=org.freedesktop.impl.portal.Secrets + # UseIn=gnome + # EOF + # ''; + # }); + # flutter = custom.flutter; # qbittorrent = super.qbittorrent.overrideAttrs (old: rec { # version = "enchanced-edition"; # src = inputs.qbittorrent-ee; diff --git a/profiles/packages/hyprpaper.nix b/profiles/packages/hyprpaper.nix new file mode 100644 index 0000000..18ac551 --- /dev/null +++ b/profiles/packages/hyprpaper.nix @@ -0,0 +1,80 @@ +{ + lib, + stdenv, + pkg-config, + cmake, + ninja, + cairo, + fribidi, + libdatrie, + libjpeg, + libselinux, + libsepol, + libthai, + pango, + pcre, + utillinux, + wayland, + wayland-protocols, + wayland-scanner, + wlr-protocols, + libXdmcp, + version ? "git", + src, +}: +stdenv.mkDerivation { + pname = "hyprpaper"; + inherit version; + src = src; + + nativeBuildInputs = [ + cmake + ninja + pkg-config + ]; + + buildInputs = [ + cairo + fribidi + libdatrie + libjpeg + libselinux + libsepol + libthai + pango + pcre + wayland + wayland-protocols + wayland-scanner + wlr-protocols + libXdmcp + utillinux + ]; + + configurePhase = '' + runHook preConfigure + + make release + + runHook postConfigure + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/{bin,share/licenses} + + install -Dm755 build/hyprpaper -t $out/bin + install -Dm644 LICENSE -t $out/share/licenses/hyprpaper + + runHook postInstall + ''; + + meta = with lib; { + homepage = "https://github.com/hyprwm/hyprpaper"; + description = "A blazing fast wayland wallpaper utility with IPC controls"; + license = licenses.bsd3; + platforms = platforms.linux; + mainProgram = "hyprpaper"; + }; +} diff --git a/profiles/workspace/hyprland/default.nix b/profiles/workspace/hyprland/default.nix new file mode 100644 index 0000000..eb85c2b --- /dev/null +++ b/profiles/workspace/hyprland/default.nix @@ -0,0 +1,235 @@ +{ pkgs, lib, config, inputs, ... }: +let + thm = config.lib.base16.theme; + apps = config.defaultApplications; + gsettings = "${pkgs.glib}/bin/gsettings"; + gnomeSchema = "org.gnome.desktop.interface"; + importGsettings = pkgs.writeShellScript "import_gsettings.sh" '' + config="/home/alukard/.config/gtk-3.0/settings.ini" + if [ ! -f "$config" ]; then exit 1; fi + gtk_theme="$(grep 'gtk-theme-name' "$config" | sed 's/.*\s*=\s*//')" + icon_theme="$(grep 'gtk-icon-theme-name' "$config" | sed 's/.*\s*=\s*//')" + cursor_theme="$(grep 'gtk-cursor-theme-name' "$config" | sed 's/.*\s*=\s*//')" + font_name="$(grep 'gtk-font-name' "$config" | sed 's/.*\s*=\s*//')" + ${gsettings} set ${gnomeSchema} gtk-theme "$gtk_theme" + ${gsettings} set ${gnomeSchema} icon-theme "$icon_theme" + ${gsettings} set ${gnomeSchema} cursor-theme "$cursor_theme" + ${gsettings} set ${gnomeSchema} font-name "$font_name" + ''; +in with config.deviceSpecific; with lib; { + imports = [ inputs.hyprland.nixosModules.default ]; + programs.hyprland.enable = true; + programs.hyprland.package = null; + + environment.loginShellInit = lib.mkAfter '' + [[ "$(tty)" == /dev/tty1 ]] && { + pass unlock + exec Hyprland 2> /tmp/hyprland.debug.log + } + ''; + + + home-manager.users.alukard = { + # home.packages = [ pkgs.hyprpaper ]; + imports = [ + inputs.hyprland.homeManagerModules.default + ]; + wayland.windowManager.hyprland = { + enable = true; + xwayland = true; + systemdIntegration = true; + extraConfig = let + modifier = "SUPER"; + script = name: content: "${pkgs.writeScript name content}"; + in concatStrings [ + '' + + monitor=DP-1,2560x1440@59951,0x0,1 + general { + sensitivity=1.0 + apply_sens_to_raw=false + main_mod=${modifier} + border_size=3 + no_border_on_floating=false + gaps_in=5 + gaps_out=8 + # col.active_border=col # border color + # col.inactive_border=col # border color + # cursor_inactive_timeout=0 + damage_tracking=full + # layout=dwindle # Available: dwindle, master, default is dwindle + # no_cursor_warps=true + } + decoration { + rounding=10 + multisample_edges=true + active_opacity=0.9 + inactive_opacity=0.7 + fullscreen_opacity=1 + blur=true + blur_size=2 + blur_passes=2 + # blur_ignore_opacity=false + drop_shadow=true + shadow_range=5 + # shadow_render_power=int # (1 - 4), in what power to render the falloff (more power, the faster the falloff) + shadow_ignore_window=false + # col.shadow=col # shadow color + # shadow_offset=vec2 + } + animations { + enabled=true + } + input { + kb_layout=us,ru + kb_options=grp:win_space_toggle + + follow_mouse=true + natural_scroll=false + numlock_by_default=true + force_no_accel=true + sensitivity=1.0 + + touchpad { + natural_scroll=true + clickfinger_behavior=true + middle_button_emulation=true + tap-to-click=true + } + } + gestures { + workspace_swipe=no + } + misc { + disable_hyprland_logo=true + disable_splash_rendering=true + no_vfr=${boolToString (!isLaptop)} + mouse_move_enables_dpms=true + } + '' '' + bind=${modifier},q,killactive, + bind=${modifier},f,fullscreen,0 + bind=${modifier}SHIFT,F,togglefloating, + bind=${modifier},left,movefocus,l + bind=${modifier},right,movefocus,r + bind=${modifier},up,movefocus,u + bind=${modifier},down,movefocus,d + bind=${modifier}SHIFT,left,movewindow,l + bind=${modifier}SHIFT,right,movewindow,r + bind=${modifier}SHIFT,up,movewindow,u + bind=${modifier}SHIFT,down,movewindow,d + bind=${modifier},f5,exit, + bind=${modifier}SHIFT,f5,forcerendererreload, + bind=${modifier},f11,exec,sleep 1 && hyprctl dispatch dpms off + bind=${modifier},f12,exec,sleep 1 && hyprctl dispatch dpms on + + + bind=${modifier},escape,exec,${apps.monitor.cmd} + bind=${modifier},w,exec,${apps.dmenu.cmd} + bind=${modifier},return,exec,${apps.term.cmd} + bind=${modifier}SHIFT,return,exec,nop kitti3 + bind=${modifier},e,exec,${apps.editor.cmd} + bind=${modifier},j,exec,${pkgs.mpris-ctl}/bin/mpris-ctl prev + bind=${modifier},k,exec,${pkgs.mpris-ctl}/bin/mpris-ctl pp + bind=${modifier},l,exec,${pkgs.mpris-ctl}/bin/mpris-ctl next + bind=${modifier}SHIFT,J,exec,${pkgs.mpris-ctl}/bin/mpris-ctl --player Spotify prev + bind=${modifier}SHIFT,K,exec,${pkgs.mpris-ctl}/bin/mpris-ctl --player Spotify pp + bind=${modifier}SHIFT,L,exec,${pkgs.mpris-ctl}/bin/mpris-ctl --player Spotify next + bind=${modifier},m,exec,${pkgs.pamixer}/bin/pamixer -t + bind=${modifier},comma,exec,${pkgs.pamixer}/bin/pamixer -d 5 + bind=${modifier},period,exec,${pkgs.pamixer}/bin/pamixer -i 5 + bind=${modifier}SHIFT,comma,exec,${pkgs.pamixer}/bin/pamixer -d 2 + bind=${modifier}SHIFT,period,exec,${pkgs.pamixer}/bin/pamixer -i 2 + bind=${modifier},i,exec,${pkgs.pavucontrol}/bin/pavucontrol + bind=${modifier},d,exec,${apps.fm.cmd} + bind=${modifier},y,exec,${pkgs.youtube-to-mpv}/bin/yt-mpv + bind=${modifier}SHIFT,Y,exec,${pkgs.youtube-to-mpv}/bin/yt-mpv --no-video + bind=${modifier},print,exec,${pkgs.grim}/bin/grim $(xdg-user-dir PICTURES)/Screenshots/$(date +'%Y-%m-%d+%H:%M:%S').png && notify-send 'Screenshot Saved' + bind=${modifier}CTRL,print,exec,${pkgs.grim}/bin/grim - | ${pkgs.wl-clipboard}/bin/wl-copy && notify-send 'Screenshot Copied to Clipboard' + bind=${modifier}SHIFT,print,exec,${pkgs.grim}/bin/grim -g "$(${pkgs.slurp}/bin/slurp)" $(xdg-user-dir PICTURES)/Screenshots/$(date +'%Y-%m-%d+%H:%M:%S').png && notify-send 'Screenshot Saved' + bind=${modifier}CTRLSHIFT,print,exec,${pkgs.grim}/bin/grim -g "$(${pkgs.slurp}/bin/slurp)" - | ${pkgs.wl-clipboard}/bin/wl-copy && notify-send 'Screenshot Copied to Clipboard' + bind=,xf86audioplay,exec,${pkgs.mpris-ctl}/bin/mpris-ctl pp + bind=,xf86audionext,exec,${pkgs.mpris-ctl}/bin/mpris-ctl next + bind=,xf86audioprev,exec,${pkgs.mpris-ctl}/bin/mpris-ctl prev + bind=,xf86audiolowervolume,exec,${pkgs.pamixer}/bin/pamixer -d 5 + bind=,xf86audioraisevolume,exec,${pkgs.pamixer}/bin/pamixer -i 5 + bind=SHIFT,xf86audiolowervolume,exec,${pkgs.pamixer}/bin/pamixer -d 2 + bind=SHIFT,xf86audioraisevolume,exec,${pkgs.pamixer}/bin/pamixer -i 2 + bind=,xf86audiomute,exec,${pkgs.pamixer}/bin/pamixer -t + + bind=${modifier},1,workspace,1 + bind=${modifier},2,workspace,2 + bind=${modifier},3,workspace,3 + bind=${modifier},4,workspace,4 + bind=${modifier},5,workspace,5 + bind=${modifier},6,workspace,6 + bind=${modifier},7,workspace,7 + bind=${modifier},8,workspace,8 + bind=${modifier},9,workspace,9 + bind=${modifier},0,workspace,10 + bind=${modifier},c,workspace,name:Music + bind=${modifier},t,workspace,name:Messengers + bind=${modifier}SHIFT,1,movetoworkspacesilent,1 + bind=${modifier}SHIFT,2,movetoworkspacesilent,2 + bind=${modifier}SHIFT,3,movetoworkspacesilent,3 + bind=${modifier}SHIFT,4,movetoworkspacesilent,4 + bind=${modifier}SHIFT,5,movetoworkspacesilent,5 + bind=${modifier}SHIFT,6,movetoworkspacesilent,6 + bind=${modifier}SHIFT,7,movetoworkspacesilent,7 + bind=${modifier}SHIFT,8,movetoworkspacesilent,8 + bind=${modifier}SHIFT,9,movetoworkspacesilent,9 + bind=${modifier}SHIFT,0,movetoworkspacesilent,10 + bind=${modifier}SHIFT,C,workspace,name:Music + bind=${modifier}SHIFT,T,workspace,name:Messengers + bind=ALT,1,movetoworkspacesilent,1 + bind=ALT,2,movetoworkspacesilent,2 + bind=ALT,3,movetoworkspacesilent,3 + bind=ALT,4,movetoworkspacesilent,4 + bind=ALT,5,movetoworkspacesilent,5 + bind=ALT,6,movetoworkspacesilent,6 + bind=ALT,7,movetoworkspacesilent,7 + bind=ALT,8,movetoworkspacesilent,8 + bind=ALT,9,movetoworkspacesilent,9 + bind=ALT,0,movetoworkspacesilent,10 + bind=ALT,c,workspace,name:Music + bind=ALT,t,workspace,name:Messengers + + bind=ALT,R,submap,resize # will switch to a submap called resize + submap=resize # will start a submap called "resize" + bind=,right,resizeactive,10 0 + bind=,left,resizeactive,-10 0 + bind=,up,resizeactive,0 -10 + bind=,down,resizeactive,0 10 + bind=SHIFT,right,resizeactive,40 0 + bind=SHIFT,left,resizeactive,-40 0 + bind=SHIFT,up,resizeactive,0 -40 + bind=SHIFT,down,resizeactive,0 40 + bind=SHIFT,return,submap,reset # use reset to go back to the global submap + submap=reset # will reset the submap + '' + # (concatMapStrings (title: "windowrule=float,title:" + title) [ + # "Steam - News" ".* - Chat" "^Settings$" ".* - event started" ".* CD key" "^Steam - Self Updater$" + # "^Screenshot Uploader$" "^Steam Guard - Computer Authorization Required$" "^Steam Keyboard$" + # ]) + '' + windowrule=workspace 10 silent,^Steam$ + windowrule=workspace name:Music silent,Spotify + windowrule=workspace name:Messengers silent,^Telegram + windowrule=opaque,^(Firefox.*) + '' '' + exec=${importGsettings} + exec-once=swayidle -w timeout 600 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' + exec-once=${pkgs.swaybg}/bin/swaybg -i ${/. + ../../../misc/wallpaper} -m fill + '' + (concatMapStrings (c: "exec-once=" + c + "\n") config.startupApplications) + + ]; + }; + }; + +} + + # exec-once=${script "set-wallpaper" '' + # MONITOR=$(hyprctl -j monitors | ${pkgs.jq}/bin/jq -r '.[] .name'); + # hyprctl hyprpaper wallpaper $MONITOR,~/Pictures/myepicpng.png + # ''} diff --git a/profiles/workspace/mako.nix b/profiles/workspace/mako.nix index e4c655f..596615e 100644 --- a/profiles/workspace/mako.nix +++ b/profiles/workspace/mako.nix @@ -15,10 +15,10 @@ height = 80; defaultTimeout = 10000; maxVisible = 10; - backgroundColor = "${theme.base00-hex}AA"; + backgroundColor = "#${theme.base00-hex}AA"; textColor = "#${theme.base05-hex}"; - borderColor = "${theme.base0D-hex}AA"; - progressColor = "over ${theme.base0B-hex}"; + borderColor = "#${theme.base0D-hex}AA"; + progressColor = "over #${theme.base0B-hex}"; iconPath = "${theme.iconPackage}/share/icons/${theme.iconTheme}"; maxIconSize = 24; }; diff --git a/profiles/workspace/misc.nix b/profiles/workspace/misc.nix index 759d1b3..c478d0c 100644 --- a/profiles/workspace/misc.nix +++ b/profiles/workspace/misc.nix @@ -8,9 +8,9 @@ CARGO_HOME = "${config.home-manager.users.alukard.xdg.dataHome}/cargo"; }; - # environment.systemPackages = [ pkgs.pass-secret-service ]; - # services.dbus.packages = [ pkgs.pass-secret-service ]; - # xdg.portal.extraPortals = [ pkgs.pass-secret-service ]; + environment.systemPackages = [ pkgs.pass-secret-service ]; + services.dbus.packages = [ pkgs.pass-secret-service ]; + xdg.portal.extraPortals = [ pkgs.pass-secret-service ]; home-manager.users.alukard = { news.display = "silent"; @@ -18,19 +18,19 @@ home.stateVersion = "21.11"; #TODO: Move to another file - # services.pass-secret-service.enable = true; - # systemd.user.services.pass-secret-service = { - # Service = { - # Type = "dbus"; - # Environment = [ "GPG_TTY=/dev/tty1" "DISPLAY=:0" ]; - # BusName = "org.freedesktop.secrets"; - # }; - # Unit = rec { - # Wants = [ "gpg-agent.service" ]; - # After = Wants; - # PartOf = [ "graphical-session-pre.target" ]; - # }; - # }; + services.pass-secret-service.enable = true; + systemd.user.services.pass-secret-service = { + Service = { + Type = "dbus"; + Environment = [ "GPG_TTY=/dev/tty1" "DISPLAY=:0" ]; + BusName = "org.freedesktop.secrets"; + }; + Unit = rec { + Wants = [ "gpg-agent.service" ]; + After = Wants; + PartOf = [ "graphical-session-pre.target" ]; + }; + }; }; system.stateVersion = "21.11"; diff --git a/profiles/workspace/sway/default.nix b/profiles/workspace/sway/default.nix index 06e7fdd..e71dc5d 100644 --- a/profiles/workspace/sway/default.nix +++ b/profiles/workspace/sway/default.nix @@ -21,17 +21,17 @@ in { xdg.portal = { enable = true; extraPortals = with pkgs; [ xdg-desktop-portal-wlr xdg-desktop-portal-gtk ]; - gtkUsePortal = true; + # gtkUsePortal = true; }; users.users.alukard.extraGroups = [ "sway" ]; - environment.loginShellInit = lib.mkAfter '' - [[ "$(tty)" == /dev/tty1 ]] && { - pass unlock - exec sway 2> /tmp/sway.debug.log - } - ''; + # environment.loginShellInit = lib.mkAfter '' + # [[ "$(tty)" == /dev/tty1 ]] && { + # pass unlock + # exec sway 2> /tmp/sway.debug.log + # } + # ''; home-manager.users.alukard.wayland.windowManager.sway = let gsettings = "${pkgs.glib}/bin/gsettings"; diff --git a/roles/desktop.nix b/roles/desktop.nix index 05bcb41..6a111be 100644 --- a/roles/desktop.nix +++ b/roles/desktop.nix @@ -44,10 +44,11 @@ light mako nix-index - picom + # picom print-scan proxy sway + hyprland vscode-server ]; diff --git a/scripts/vscode_update_extensions.sh b/scripts/vscode_update_extensions.sh index 5af7476..3fd53bc 100755 --- a/scripts/vscode_update_extensions.sh +++ b/scripts/vscode_update_extensions.sh @@ -76,7 +76,7 @@ fi trap clean_up SIGINT # Begin the printing of the nix expression that will house the list of extensions. -printf '{ extensions = [\n' +printf '[\n' # Note that we are only looking to update extensions that are already installed. for i in $($CODE --list-extensions) @@ -87,4 +87,4 @@ do get_vsixpkg "$OWNER" "$EXT" done # Close off the nix expression. -printf '];\n}' +printf ']\n'