From ed13e85157b1104434d5ad2fbd4c42ddff8b4464 Mon Sep 17 00:00:00 2001 From: Dmitriy Kholkin Date: Mon, 21 Nov 2022 02:53:20 +0300 Subject: [PATCH] large update --- flake.lock | 240 +++++++------- flake.nix | 4 +- machines/AMD-Workstation/default.nix | 2 +- .../hardware-configuration.nix | 2 +- modules/xray.nix | 22 +- patches/update-zfs.patch | 62 ---- patches/update.patch | 64 ++++ patches/zen-kernels.patch | 17 + profiles/applications/packages.nix | 2 +- profiles/applications/spotify.nix | 87 +---- profiles/applications/steam.nix | 50 +-- profiles/applications/vscode/extensions.nix | 34 +- profiles/applications/waydroid.nix | 2 +- profiles/overlay.nix | 30 +- profiles/packages/xray-core.nix | 20 +- profiles/servers/stable-diffusion.nix | 3 + profiles/themes.nix | 1 + profiles/workspace/hyprland/default.nix | 39 ++- profiles/workspace/i3status-rust/default.nix | 2 +- profiles/workspace/proxy.nix | 6 +- profiles/workspace/sway/default.nix | 307 ------------------ profiles/workspace/waybar/default.nix | 38 ++- scripts/gen-patch-zen.sh | 10 +- todo.md | 4 +- 24 files changed, 371 insertions(+), 677 deletions(-) delete mode 100644 patches/update-zfs.patch create mode 100644 patches/update.patch create mode 100644 patches/zen-kernels.patch delete mode 100644 profiles/workspace/sway/default.nix diff --git a/flake.lock b/flake.lock index 10f0d19..06a02f4 100644 --- a/flake.lock +++ b/flake.lock @@ -27,11 +27,11 @@ "arkenfox-userjs": { "flake": false, "locked": { - "lastModified": 1665257885, - "narHash": "sha256-4PNnCRLomAd5OdN4UEbsVSm8eNuteZHKaUqRVvIBvN8=", + "lastModified": 1668350246, + "narHash": "sha256-yBHOofhwXRDzuv/PeZ4J7LME42wt5Hb2+5LDd0aliYE=", "owner": "arkenfox", "repo": "user.js", - "rev": "f4187632faef76df4de0cbb0cdc7199f22fadd76", + "rev": "365e76bc9f2c9bf30509ce5f1aec6627ad84c84b", "type": "github" }, "original": { @@ -62,11 +62,11 @@ "base16-tokyonight-scheme": { "flake": false, "locked": { - "lastModified": 1632603666, - "narHash": "sha256-a3SiLVuCoFa+2SDJ3GpVrnDYotcqCcJjAwvLSIf+PL0=", + "lastModified": 1668095661, + "narHash": "sha256-L/P6x4hinGdyP5OqfUZtMfApyCiMtq0No27VrS2NdB4=", "owner": "alukardbf", "repo": "base16-tokyonight-scheme", - "rev": "ed352bd5d44e0d7249dec382208c1fe294dd4539", + "rev": "b81ee92f37b29ba5dd3bc86eae59b39125324a9d", "type": "github" }, "original": { @@ -91,22 +91,6 @@ "type": "gitlab" } }, - "cachix": { - "locked": { - "lastModified": 1659446231, - "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-21.11", - "repo": "nixpkgs", - "type": "github" - } - }, "comma": { "inputs": { "flake-compat": "flake-compat", @@ -117,11 +101,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1663284638, - "narHash": "sha256-rXAX14yB8v9BOG4ZsdGEedpZAnNqhQ4DtjQwzFX/TLY=", + "lastModified": 1666010793, + "narHash": "sha256-6zhTpR0cfaHrupOXRZAdCzLAGINgsB6h3HQnj7+qHWs=", "owner": "nix-community", "repo": "comma", - "rev": "c83ff3839983b3cb8deb407ff618ca12179de588", + "rev": "691120d169189f3a9cb29b1c72bcd521ac372b2b", "type": "github" }, "original": { @@ -174,7 +158,7 @@ "webcord", "nixpkgs" ], - "poetry2nix": "poetry2nix_2", + "poetry2nix": "poetry2nix", "pre-commit-hooks": "pre-commit-hooks" }, "locked": { @@ -347,11 +331,11 @@ }, "flake-utils_2": { "locked": { - "lastModified": 1638122382, - "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", + "lastModified": 1644229661, + "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", "owner": "numtide", "repo": "flake-utils", - "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", + "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", "type": "github" }, "original": { @@ -362,11 +346,11 @@ }, "flake-utils_3": { "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", "owner": "numtide", "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", "type": "github" }, "original": { @@ -377,11 +361,26 @@ }, "flake-utils_4": { "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", "owner": "numtide", "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_5": { + "locked": { + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", "type": "github" }, "original": { @@ -430,11 +429,11 @@ "utils": "utils_2" }, "locked": { - "lastModified": 1665949912, - "narHash": "sha256-NAp+YHTxgnpEaIJanOmtUx9XAnhKTCzG8LlFyZIAz7M=", + "lastModified": 1668332334, + "narHash": "sha256-YT1qcE/MCqBO1Bi/Yr6GcFpNKsvmzrBKh8juyXDbxQc=", "owner": "nix-community", "repo": "home-manager", - "rev": "04f53999788cd47c6ce932d6cbd7cbfd3998712f", + "rev": "bc90de24d898655542589237cc0a6ada7564cb6c", "type": "github" }, "original": { @@ -451,11 +450,11 @@ "wlroots": "wlroots" }, "locked": { - "lastModified": 1666001925, - "narHash": "sha256-K4rxS7uj3DfCkdS65BfhNJlEIou4VV5+qAoekrbxroU=", + "lastModified": 1668612936, + "narHash": "sha256-C5p+LpueYK9tI3F+7hKBVjYxn7gk2kW4kxe/jasIbuk=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "da4cfb9c32fecf2e5d2fa065c9e180a2bdec76a3", + "rev": "c02bfc3897137439596df4670cef2441d24c8367", "type": "github" }, "original": { @@ -470,11 +469,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1665317514, - "narHash": "sha256-Kk1uPg/yRm6gweBwNn5HrXbgm/tJ6ClHp7a00yQh7gI=", + "lastModified": 1668341496, + "narHash": "sha256-RztQBdjzVOG8TRoWikG62//kPcC1JSHaqYeM+UFl46k=", "owner": "nix-community", "repo": "lib-aggregate", - "rev": "d6f8e6456ec59ff51034d3e434739926470af7aa", + "rev": "0d285b79d0478307e5e180161174169263bea84a", "type": "github" }, "original": { @@ -559,11 +558,11 @@ "nixpkgs-regression": "nixpkgs-regression" }, "locked": { - "lastModified": 1665761757, - "narHash": "sha256-A6DEvsXzVvBCUah/wD/ZsLu+oGkCmHdJg9x0HHj1jhs=", + "lastModified": 1668594520, + "narHash": "sha256-/9iBitEL6mtWZDikR/T0FNlkzj5HVkduw/Nek7HjgcY=", "owner": "nixos", "repo": "nix", - "rev": "3093bd3a855b8fa1f572fd5a33c1971adf5e3e08", + "rev": "62960f32915909a5104f2ca3a32b25fb3cfd34c7", "type": "github" }, "original": { @@ -577,15 +576,14 @@ "flake-utils": "flake-utils_3", "nixpkgs": [ "nixpkgs" - ], - "poetry2nix": "poetry2nix" + ] }, "locked": { - "lastModified": 1665917083, - "narHash": "sha256-oyln5pIe+tplxrjGmcVnW/3ydmG1rcily3lOe3nq1no=", + "lastModified": 1668504894, + "narHash": "sha256-Q/URqJtTONNEoVfat+UMZq8rl7MvMwLEKF1uPFQm/cs=", "owner": "thiagokokada", "repo": "nix-alien", - "rev": "b47b2d88b2d0d825efd309f7fd58c76df34f7048", + "rev": "ec6dabeaddecab75794bfa1070989371b2636b70", "type": "github" }, "original": { @@ -594,6 +592,28 @@ "type": "github" } }, + "nix-eval-jobs": { + "inputs": { + "flake-utils": "flake-utils_5", + "nixpkgs": [ + "nixpkgs-wayland", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1668390437, + "narHash": "sha256-NLH+7Wl/xLCBhqOPsMOXzcBv/lTGv9xFNQ1G1GShmIY=", + "owner": "nix-community", + "repo": "nix-eval-jobs", + "rev": "4777023e8661e320bbad87992741b7b3aeda9c86", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-eval-jobs", + "type": "github" + } + }, "nixlib": { "locked": { "lastModified": 1636849918, @@ -617,11 +637,11 @@ ] }, "locked": { - "lastModified": 1660727616, - "narHash": "sha256-zYTIvdPMYMx/EYqXODAwIIU30RiEHqNHdgarIHuEYZc=", + "lastModified": 1666812839, + "narHash": "sha256-0nBDgjPU+iDsvz89W+cDEyhnFGSwCJmwDl/gMGqYiU0=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "adccd191a0e83039d537e021f19495b7bad546a1", + "rev": "41f3518bc194389df22a3d198215eae75e6b5ab9", "type": "github" }, "original": { @@ -663,11 +683,11 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1665277441, - "narHash": "sha256-TTuO5F7sStTBL/twYMSnRakrw1l7FqAYulN7+HPYjqc=", + "lastModified": 1668300937, + "narHash": "sha256-E9/ir9++M58btaHOqugyrE4lfVnM0gIq5M9QWhGX0aM=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "76ef73e385f96bb438676cf5f21f220694fd3d73", + "rev": "41386dc5b4915d0d5716e9d09dbf372ea3bd24f3", "type": "github" }, "original": { @@ -678,11 +698,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1665959510, - "narHash": "sha256-6wE4sgN/rzMiRegJYyM8PrzV0EhXJJC6w7qRZXLfJ+s=", + "lastModified": 1668634318, + "narHash": "sha256-PBJeaml9rpJl3MsXF1IwEweCRiFUIHW/amRwBS/cUN0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d96b7cb160b700892ef54ea22e046f744c774496", + "rev": "5d1d22047c98ab15f529ec661852961f61b5b170", "type": "github" }, "original": { @@ -708,21 +728,37 @@ "type": "github" } }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1659914493, + "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-21.05", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-wayland": { "inputs": { - "cachix": "cachix", "flake-compat": "flake-compat_3", "lib-aggregate": "lib-aggregate", + "nix-eval-jobs": "nix-eval-jobs", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1665858291, - "narHash": "sha256-aqazSjyKXnHu0PF7K1Y4i6E4UK/w+BTC5NTu+FvPg/c=", + "lastModified": 1668618606, + "narHash": "sha256-Jls6nqGeQNQj/W4eeYbIs7pFnH4EutHVdAo0Q01LmSI=", "owner": "nix-community", "repo": "nixpkgs-wayland", - "rev": "1e4635a232db95976217590c77f5d76a91a87f61", + "rev": "d755869ccb15201ab3c9edc600a0fa6fbbe2ffcc", "type": "github" }, "original": { @@ -749,11 +785,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1665848363, - "narHash": "sha256-3Jow1YxzPtQnck1bAAvbVxgRH4gNnkIdw871Vm6UtAU=", + "lastModified": 1668505710, + "narHash": "sha256-DulcfsGjpSXL9Ma0iQIsb3HRbARCDcA+CNH67pPyMQ0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "83b198a2083774844962c854f811538323f9f7b1", + "rev": "85d6b3990def7eef45f4502a82496de02a02b6e8", "type": "github" }, "original": { @@ -780,11 +816,11 @@ }, "nur": { "locked": { - "lastModified": 1665947847, - "narHash": "sha256-yNNbvo/u4hyKW37hQhzNBH2r25TmHp74lbeUlMgc43M=", + "lastModified": 1668634603, + "narHash": "sha256-kYeXsBCH8ZV+BrgLk73lAS33peRzicRxPoob67Ggi5s=", "owner": "nix-community", "repo": "NUR", - "rev": "e945ad29f5d2449cd4d3fdace6a1222f07701b21", + "rev": "521f59ced507c5ee305787d66b1019875b645397", "type": "github" }, "original": { @@ -794,31 +830,6 @@ } }, "poetry2nix": { - "inputs": { - "flake-utils": [ - "nix-alien", - "flake-utils" - ], - "nixpkgs": [ - "nix-alien", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1665455310, - "narHash": "sha256-gEG1UiKz65SNWDU1NJmxLneo+kn7WjxrfucSk1zhU6o=", - "owner": "nix-community", - "repo": "poetry2nix", - "rev": "d62ba59f1e28c382665c57203a4b9ad11fd7f449", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "poetry2nix", - "type": "github" - } - }, - "poetry2nix_2": { "flake": false, "locked": { "lastModified": 1632969109, @@ -845,11 +856,11 @@ "quazip": "quazip" }, "locked": { - "lastModified": 1653268165, - "narHash": "sha256-f7y9fJrK/kVu4t/6BpRCvgZabD5c+bwHgdyCJBDtUkQ=", + "lastModified": 1666556983, + "narHash": "sha256-jJtMO2qHxgARl/ENbwsgRpM0d7fOlQL/cQfWJaakm7c=", "owner": "AquaVirus", "repo": "PolyMC-Cracked", - "rev": "7191b8edd8c7334ae0da279f018dc1d39ea05c00", + "rev": "0f26c7e59ef6705c6b90adb20a5f9e33d297eb1d", "type": "github" }, "original": { @@ -888,11 +899,11 @@ "qbittorrent-ee": { "flake": false, "locked": { - "lastModified": 1664604308, - "narHash": "sha256-O638UnZLtA4L4IsrGt+Psoe2k4oDEwcrM1xJa8NejbM=", + "lastModified": 1668147006, + "narHash": "sha256-tkge0YUKr1rLYZDI4EsWQwjfIfZPub7pmdPb3O9JWjQ=", "owner": "c0re100", "repo": "qBittorrent-Enhanced-Edition", - "rev": "26addb643ce6c8affcc197d1f4290d6f092b5a58", + "rev": "a910c836086a781c5565257efed5ae1f51258ec0", "type": "github" }, "original": { @@ -932,6 +943,7 @@ "nixos-generators": "nixos-generators", "nixpkgs": "nixpkgs_3", "nixpkgs-master": "nixpkgs-master", + "nixpkgs-stable": "nixpkgs-stable", "nixpkgs-wayland": "nixpkgs-wayland", "nur": "nur", "polymc": "polymc", @@ -965,11 +977,11 @@ "rycee": { "flake": false, "locked": { - "lastModified": 1665892985, - "narHash": "sha256-+amqfLbUtgOetJzrLNweWiqNvyYJiLPBI4ih0p8Be5o=", + "lastModified": 1668571382, + "narHash": "sha256-dqJnUFxe+KzlUXnPawWpGgeA+zdXiTnPcFJ6VYZ98c4=", "owner": "rycee", "repo": "nur-expressions", - "rev": "6e2e55833bd983b963cf10ec2dddcd586b836743", + "rev": "5472ae54ef6a1e7ed46982e87e3130c80f2d38f7", "type": "gitlab" }, "original": { @@ -1018,11 +1030,11 @@ }, "utils_2": { "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", "owner": "numtide", "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", "type": "github" }, "original": { @@ -1073,11 +1085,11 @@ "webcord": "webcord_2" }, "locked": { - "lastModified": 1665619753, - "narHash": "sha256-FmwkmuXTE3gaQaDwD6abKgIED6qKOSVNo1SAeFE/rvY=", + "lastModified": 1666097086, + "narHash": "sha256-6WKh4NwItcz9IGY5rGkkeWCtGOmpU3nf85dX29suDjE=", "owner": "fufexan", "repo": "webcord-flake", - "rev": "f94b5553fb8dcda6cfdd1ab569212c3324aa3885", + "rev": "9098504f2a08ac848ea43de40496925c450e7111", "type": "github" }, "original": { @@ -1106,11 +1118,11 @@ "flake": false, "locked": { "host": "gitlab.freedesktop.org", - "lastModified": 1665405587, - "narHash": "sha256-lVL48azhjGA/oEIcUSZQNwomNs0EzPxCcjgzyDST0PM=", + "lastModified": 1668292512, + "narHash": "sha256-lCMnIguyZgAGq7W2IwIVPoQS8fAfZ/XFwz/1TQ53eI8=", "owner": "wlroots", "repo": "wlroots", - "rev": "221ee83d440fb7dcbfd141ef3a459a5a973331b6", + "rev": "627a5c511278e67c3c308cdc6a639cbb490f48c3", "type": "gitlab" }, "original": { diff --git a/flake.nix b/flake.nix index d78fff8..017808b 100644 --- a/flake.nix +++ b/flake.nix @@ -4,6 +4,7 @@ inputs = { flake-utils-plus.url = "github:alukardbf/flake-utils-plus"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-21.05"; nixpkgs-master.url = "github:nixos/nixpkgs/master"; nixpkgs-wayland = { url = "github:nix-community/nixpkgs-wayland"; @@ -105,8 +106,9 @@ channelsConfig = { allowUnfree = true; }; channels.unstable.input = nixpkgs; + channels.unstable.patches = [ ./patches/update.patch ]; channels.unstable-zfs.input = nixpkgs; - # channels.unstable-zfs.patches = [ ./patches/update-zfs.patch ]; + channels.unstable-zfs.patches = [ ./patches/update.patch ./patches/zen-kernels.patch ]; hostDefaults.system = "x86_64-linux"; hostDefaults.channelName = "unstable"; diff --git a/machines/AMD-Workstation/default.nix b/machines/AMD-Workstation/default.nix index 8996828..ae4b75b 100644 --- a/machines/AMD-Workstation/default.nix +++ b/machines/AMD-Workstation/default.nix @@ -37,7 +37,7 @@ hardware.firmware = [ pkgs.rtl8761b-firmware ]; home-manager.users.alukard.home.packages = lib.mkIf config.deviceSpecific.enableVirtualisation [ - inputs.nixos-generators.packages.${pkgs.system}.nixos-generators + inputs.nixos-generators.packages.${pkgs.system}.nixos-generate # pkgs.looking-glass-client ]; diff --git a/machines/AMD-Workstation/hardware-configuration.nix b/machines/AMD-Workstation/hardware-configuration.nix index df0000e..601de53 100644 --- a/machines/AMD-Workstation/hardware-configuration.nix +++ b/machines/AMD-Workstation/hardware-configuration.nix @@ -76,5 +76,5 @@ networking.hostId = "a32bd2dc"; boot.zfs.devNodes = "/dev/disk/by-partuuid/4c6b8cfb-9643-4ff7-961e-89b097328e0e"; boot.supportedFilesystems = [ "zfs" ]; - boot.kernelParams = [ "zfs.zfs_arc_max=12884901888" ]; + boot.kernelParams = [ "zfs.zfs_arc_max=8589934592" ]; } diff --git a/modules/xray.nix b/modules/xray.nix index 807d4f7..ab5237f 100644 --- a/modules/xray.nix +++ b/modules/xray.nix @@ -7,24 +7,24 @@ with lib; { default = false; description = '' Whether to run xray server. - Either configFile or config must be specified. + Either settingsFile or config must be specified. ''; }; package = mkOption { type = types.package; - default = pkgs.xray-core; - defaultText = literalExpression "pkgs.xray-core"; + default = pkgs.xray; + defaultText = literalExpression "pkgs.xray"; description = '' Which xray package to use. ''; }; - configFile = mkOption { + settingsFile = mkOption { type = types.nullOr types.str; default = null; example = "/etc/xray/config.json"; description = '' The absolute path to the configuration file. - Either configFile or config must be specified. + Either settingsFile or config must be specified. ''; }; config = mkOption { @@ -42,7 +42,7 @@ with lib; { }; description = '' The configuration object. - Either `configFile` or `config` must be specified. + Either `settingsFile` or `config` must be specified. ''; }; }; @@ -50,8 +50,8 @@ with lib; { config = let cfg = config.services.xray; - configFile = if cfg.configFile != null - then cfg.configFile + settingsFile = if cfg.settingsFile != null + then cfg.settingsFile else pkgs.writeTextFile { name = "xray.json"; text = builtins.toJSON cfg.config; @@ -62,8 +62,8 @@ with lib; { in mkIf cfg.enable { assertions = [ { - assertion = (cfg.configFile == null) != (cfg.config == null); - message = "Either but not both `configFile` and `config` should be specified for xray."; + assertion = (cfg.settingsFile == null) != (cfg.config == null); + message = "Either but not both `settingsFile` and `config` should be specified for xray."; } ]; systemd.services.xray = { @@ -71,7 +71,7 @@ with lib; { after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { - ExecStart = "${cfg.package}/bin/xray run -format=json -config ${configFile}"; + ExecStart = "${cfg.package}/bin/xray run -format=json -config ${settingsFile}"; }; }; }; diff --git a/patches/update-zfs.patch b/patches/update-zfs.patch deleted file mode 100644 index a5d2ee8..0000000 --- a/patches/update-zfs.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 5bae92a7155b885619cbab9d3ddae91aa59e91cc Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= -Date: Tue, 4 Oct 2022 14:18:13 +0200 -Subject: [PATCH] =?UTF-8?q?zfs:=202.1.5=20=E2=86=92=202.1.6?= -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - ---- - pkgs/os-specific/linux/zfs/default.nix | 18 +++++++++--------- - 1 file changed, 9 insertions(+), 9 deletions(-) - -diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix -index 5e92e63553d0c..080a198b0f408 100644 ---- a/pkgs/os-specific/linux/zfs/default.nix -+++ b/pkgs/os-specific/linux/zfs/default.nix -@@ -16,7 +16,7 @@ - , enablePython ? true - - # for determining the latest compatible linuxPackages --, linuxPackages_5_15 ? pkgs.linuxKernel.packages.linux_5_15 -+, linuxPackages_5_19 ? pkgs.linuxKernel.packages.linux_5_19 - }: - - let -@@ -216,28 +216,28 @@ in { - # to be adapted - zfsStable = common { - # check the release notes for compatible kernels -- kernelCompatible = kernel.kernelOlder "5.19"; -- latestCompatibleLinuxPackages = linuxPackages_5_15; -+ kernelCompatible = kernel.kernelOlder "5.20"; -+ latestCompatibleLinuxPackages = linuxPackages_5_19; - - # this package should point to the latest release. -- version = "2.1.5"; -+ version = "2.1.6"; - -- sha256 = "sha256-a9rmuPO8R8UfxdHvwjfFuYRGn97a1MPmLZRvr3l0swE="; -+ sha256 = "sha256-gd5WlNtnoSiVj4sKUGf0WhR7Z1GPebwu3Z1mkNsoC/I="; - }; - - zfsUnstable = common { - # check the release notes for compatible kernels -- kernelCompatible = kernel.kernelOlder "5.19"; -- latestCompatibleLinuxPackages = linuxPackages_5_15; -+ kernelCompatible = kernel.kernelOlder "5.20"; -+ latestCompatibleLinuxPackages = linuxPackages_5_19; - - # this package should point to a version / git revision compatible with the latest kernel release - # IMPORTANT: Always use a tagged release candidate or commits from the - # zfs--staging branch, because this is tested by the OpenZFS - # maintainers. -- version = "2.1.5"; -+ version = "2.1.6"; - # rev = "0000000000000000000000000000000000000000"; - -- sha256 = "sha256-a9rmuPO8R8UfxdHvwjfFuYRGn97a1MPmLZRvr3l0swE="; -+ sha256 = "sha256-gd5WlNtnoSiVj4sKUGf0WhR7Z1GPebwu3Z1mkNsoC/I="; - - isUnstable = true; - }; diff --git a/patches/update.patch b/patches/update.patch new file mode 100644 index 0000000..66e566e --- /dev/null +++ b/patches/update.patch @@ -0,0 +1,64 @@ +diff --git a/pkgs/applications/networking/mullvad-vpn/default.nix b/pkgs/applications/networking/mullvad-vpn/default.nix +index 0d79f41..e463f70 100644 +--- a/pkgs/applications/networking/mullvad-vpn/default.nix ++++ b/pkgs/applications/networking/mullvad-vpn/default.nix +@@ -43,11 +43,11 @@ in + + stdenv.mkDerivation rec { + pname = "mullvad-vpn"; +- version = "2022.4"; ++ version = "2022.5"; + + src = fetchurl { + url = "https://github.com/mullvad/mullvadvpn-app/releases/download/${version}/MullvadVPN-${version}_amd64.deb"; +- sha256 = "sha256-OwTtWzlZjHNFSN5/UjFJbcrPCv9+ucWYEL2idYjeozU="; ++ sha256 = "1sk7xizxs045r6b7wxdls6gvfyz3r1qxqir5nhcfk0mfpy8phw0v"; + }; + + nativeBuildInputs = [ +@@ -75,7 +75,6 @@ stdenv.mkDerivation rec { + mv opt/Mullvad\ VPN/* $out/share/mullvad + + ln -s $out/share/mullvad/mullvad-{gui,vpn} $out/bin/ +- ln -s $out/share/mullvad/resources/mullvad-daemon $out/bin/mullvad-daemon + ln -sf $out/share/mullvad/resources/mullvad-problem-report $out/bin/mullvad-problem-report + + wrapProgram $out/bin/mullvad-vpn --set MULLVAD_DISABLE_UPDATE_NOTIFICATION 1 +diff --git a/pkgs/applications/networking/mullvad/libwg.nix b/pkgs/applications/networking/mullvad/libwg.nix +index d54a2ca..287797f 100644 +--- a/pkgs/applications/networking/mullvad/libwg.nix ++++ b/pkgs/applications/networking/mullvad/libwg.nix +@@ -13,7 +13,7 @@ buildGoModule { + + sourceRoot = "source/wireguard/libwg"; + +- vendorSha256 = "qvymWCdJ+GY90W/Fpdp+r1+mTq6O4LyN2Yw/PjKdFm0="; ++ vendorSha256 = "QNde5BqkSuqp3VJQOhn7aG6XknRDZQ62PE3WGhEJ5LU="; + + # XXX: hack to make the ar archive go to the correct place + # This is necessary because passing `-o ...` to `ldflags` does not work +diff --git a/pkgs/applications/networking/mullvad/mullvad.nix b/pkgs/applications/networking/mullvad/mullvad.nix +index 65aeab2..b047562 100644 +--- a/pkgs/applications/networking/mullvad/mullvad.nix ++++ b/pkgs/applications/networking/mullvad/mullvad.nix +@@ -15,16 +15,16 @@ + }: + rustPlatform.buildRustPackage rec { + pname = "mullvad"; +- version = "2022.4"; ++ version = "2022.5"; + + src = fetchFromGitHub { + owner = "mullvad"; + repo = "mullvadvpn-app"; +- rev = version; +- hash = "sha256-s0Cmeh10lQUB5BK4i1qxkDy/ylx/3c6V66dxH+kcnLs="; ++ rev = "2022.5"; ++ sha256 = "1jd7wpz6pp1fa0y3cs99i7wdwcfwarp7zji6cv37y8h1w4nq89if"; + }; + +- cargoHash = "sha256-HPURL+CFUVLWRq8nzLiZxDhckgH76b6JBUObLGtoEEw="; ++ cargoHash = "sha256-KpBhdZce8Ug3ws7f1qg+5LtOMQw2Mf/uJsBg/TZSYyk="; + + nativeBuildInputs = [ + pkg-config diff --git a/patches/zen-kernels.patch b/patches/zen-kernels.patch new file mode 100644 index 0000000..6390dd6 --- /dev/null +++ b/patches/zen-kernels.patch @@ -0,0 +1,17 @@ +diff --git a/pkgs/os-specific/linux/kernel/zen-kernels.nix b/pkgs/os-specific/linux/kernel/zen-kernels.nix +index 2fc9d8f..a568d83 100644 +--- a/pkgs/os-specific/linux/kernel/zen-kernels.nix ++++ b/pkgs/os-specific/linux/kernel/zen-kernels.nix +@@ -11,9 +11,9 @@ let + }; + # ./update-zen.py lqx + lqxVariant = { +- version = "6.0.7"; #lqx +- suffix = "lqx1"; #lqx +- sha256 = "09h99fdzicbc4kkl51dqwgqqa9416hd7bvrghr4pdjqrw4z15557"; #lqx ++ version = "5.19.17"; #lqx ++ suffix = "lqx2"; #lqx ++ sha256 = "11ghnfh37hh4pr09na8as32l4jixvqpwhwf5cia2zsyrd1pw7cb3"; #lqx + isLqx = true; + }; + zenKernelsFor = { version, suffix, sha256, isLqx }: buildLinux (args // { diff --git a/profiles/applications/packages.nix b/profiles/applications/packages.nix index 93a5444..431662d 100644 --- a/profiles/applications/packages.nix +++ b/profiles/applications/packages.nix @@ -17,7 +17,7 @@ with config.deviceSpecific; { libqalculate lm_sensors lnav - nix-alien + # nix-alien nixfmt nixpkgs-fmt nix-prefetch-git diff --git a/profiles/applications/spotify.nix b/profiles/applications/spotify.nix index 317c936..ea739a8 100644 --- a/profiles/applications/spotify.nix +++ b/profiles/applications/spotify.nix @@ -1,83 +1,8 @@ -{ config, lib, pkgs, ... }: -with lib; -let - cfg = config.services.spotifyd-user; - tomlFormat = pkgs.formats.toml { }; - configFile = tomlFormat.generate "spotifyd.conf" cfg.settings; -in { - options.services.spotifyd-user = { - enable = mkEnableOption "SpotifyD connect"; - - package = mkOption { - type = types.package; - default = pkgs.spotifyd; - defaultText = literalExample "pkgs.spotifyd"; - example = - literalExample "(pkgs.spotifyd.override { withKeyring = true; })"; - description = '' - The spotifyd package to use. - Can be used to specify extensions. - ''; - }; - - settings = mkOption { - type = tomlFormat.type; - default = { }; - description = "Configuration for spotifyd"; - example = literalExample '' - { - global = { - username = "Alex"; - password = "foo"; - device_name = "nix"; - }; - } - ''; - }; - }; - - config = mkMerge [ - (lib.mkIf cfg.enable { - systemd.user.services.spotifyd = { - path = [ pkgs.zsh pkgs.pass-nodmenu ]; - unitConfig = { - Description = "Spotify daemon"; - Requires = [ "pipewire-pulse.service" ]; - After = [ "easyeffects.service" ]; - }; - wantedBy = [ "multi-user.target" ]; - serviceConfig = { - ExecStart = - "${cfg.package}/bin/spotifyd --no-daemon --config-path ${configFile}"; - Restart = "always"; - RestartSec = 12; - }; - }; - }) - { - services.spotifyd-user = { - # enable = true; - package = (pkgs.spotifyd.override { withALSA = false; withPulseAudio = true; withPortAudio = false; withMpris = true; }); - settings = { - global = { - username = "alukard.files@gmail.com"; - password_cmd = "pass show spotify"; - backend = "pulseaudio"; - volume_controller = "softvol"; - device_name = "${config.device}"; - bitrate = 320; - no_audio_cache = true; - volume_normalisation = false; - device_type = "computer"; - cache_path = "${config.users.users.alukard.home}/.cache/spotifyd"; - }; - }; - }; - - home-manager.users.alukard.home.packages = with pkgs; [ - spotify-tui - spotifywm - ]; - } +{ config, lib, pkgs, ... }: { + home-manager.users.alukard.home.packages = with pkgs; [ + spotifywm + ]; + startupApplications = [ + "${pkgs.spotifywm}/bin/spotifywm" ]; } \ No newline at end of file diff --git a/profiles/applications/steam.nix b/profiles/applications/steam.nix index 4c269de..835964f 100644 --- a/profiles/applications/steam.nix +++ b/profiles/applications/steam.nix @@ -6,31 +6,31 @@ # "${pkgs.steam}/bin/steam" # ]; - systemd.user.services.x11-ownership = rec { - # serviceConfig.Type = "oneshot"; - script = '' - chown alukard /tmp/.X11-unix - ''; - after = [ "graphical-session.target" ]; - wants = after; - wantedBy = [ "multi-user.target" ]; - }; + # systemd.user.services.x11-ownership = rec { + # # serviceConfig.Type = "oneshot"; + # script = '' + # chown alukard /tmp/.X11-unix + # ''; + # after = [ "graphical-session.target" ]; + # wants = after; + # wantedBy = [ "graphical-session-pre.target" ]; + # }; # Start Steam only after the network is up - home-manager.users.alukard.systemd.user.services.steam-startup = { - Service = { - ExecStart = "${pkgs.steam}/bin/steam"; - Type = "oneshot"; - }; - Unit = rec { - # After = if config.deviceSpecific.wireguard.enable then [ - # "mullvad-daemon.service" - # ] else [ - # "network-online.target" - # ]; - After = [ "network-online.target" ]; - Wants = After; - }; - Install.WantedBy = [ "multi-user.target" ]; - }; + # home-manager.users.alukard.systemd.user.services.steam-startup = { + # Service = { + # ExecStart = "${pkgs.steam}/bin/steam"; + # Type = "oneshot"; + # }; + # Unit = rec { + # # After = if config.deviceSpecific.wireguard.enable then [ + # # "mullvad-daemon.service" + # # ] else [ + # # "network-online.target" + # # ]; + # After = [ "network-online.target" ]; + # Wants = After; + # }; + # Install.WantedBy = [ "graphical-session-pre.target" ]; + # }; } diff --git a/profiles/applications/vscode/extensions.nix b/profiles/applications/vscode/extensions.nix index d05abcd..8584342 100644 --- a/profiles/applications/vscode/extensions.nix +++ b/profiles/applications/vscode/extensions.nix @@ -38,8 +38,8 @@ { name = "catppuccin-vsc"; publisher = "Catppuccin"; - version = "2.1.1"; - sha256 = "0x5gnzmn8mzqzf636jzqnld47mbbwml1ramiz290bpylbxvh553h"; + version = "2.4.0"; + sha256 = "0kb4ddwvkl06d7mbkid32ck87hmx6bpdkflkxhr7phh9s2nrfbp5"; } { name = "path-intellisense"; @@ -56,14 +56,14 @@ { name = "dart-code"; publisher = "Dart-Code"; - version = "3.51.20221003"; - sha256 = "0vkb10gjk87fdc33s2yhwphb0q8jbl5sgpg1k7svbcpbakcn3kp6"; + version = "3.53.20221107"; + sha256 = "17si9970q6nj2s3caxma5r94c72yg8bjh0rgzvsskr8gsmx7vkdc"; } { name = "flutter"; publisher = "Dart-Code"; - version = "3.51.20221003"; - sha256 = "1whplxis4zgr0q42dzn49hrm2ylfhrpkqmfs1r9xvcbhvs97wl9k"; + version = "3.53.20221101"; + sha256 = "0s51a8lhzw25ynivdl0cwwv29p2m6ncjmryr6mjsfzzv377kf9pr"; } { name = "wal-theme"; @@ -74,8 +74,8 @@ { name = "gitlens"; publisher = "eamodio"; - version = "2022.8.3105"; - sha256 = "11axaxi06j0hb9xv35azqy4fys15pllg67gk3sqsc3s66q4qzk6w"; + version = "2022.11.1604"; + sha256 = "1c7qllq4s48259f973rr5if1m4jjsbkj8610ydd105341fb0fy22"; } { name = "tokyo-night"; @@ -92,14 +92,14 @@ { name = "bloc"; publisher = "FelixAngelov"; - version = "6.6.1"; - sha256 = "0xi7yzk9lbpjjqgyph1zas2dr0cakap5gg1rziq9vvs6s63il6s7"; + version = "6.6.2"; + sha256 = "11fynj7qpgxampjwvxma3li6icl3715qnqr3yd26lg6pn7r3ps38"; } { name = "vscode-pull-request-github"; publisher = "GitHub"; - version = "0.53.2022100514"; - sha256 = "0wlp1xba4hb0pbz9zxawfgixswwmws8yidfz61kxq450lb1sq59k"; + version = "0.55.2022111609"; + sha256 = "18hz42p4hdswsww14jigy3w9nnr9s0ma4s9z97k2yf5shnjfy8rx"; } { name = "vscode-env"; @@ -131,11 +131,17 @@ version = "1.30.0"; sha256 = "000zhgzijf3h6abhv4p3cz99ykj6489wfn81j0s691prr8q9lxxh"; } + { + name = "vscode-docker"; + publisher = "ms-azuretools"; + version = "1.22.2"; + sha256 = "13scns5iazzsjx8rli311ym2z8i8f4nvbcd5w8hqj5z0rzsds6xi"; + } { name = "remote-ssh"; publisher = "ms-vscode-remote"; - version = "0.87.2022092915"; - sha256 = "1bviy4xh8bff3gky08ilya073390pyyizkdsg7rzmlwcza9dq9i5"; + version = "0.93.2022111515"; + sha256 = "1zqx6n1xhydqzqcm4g3xdsivyhrck2sklx7k89pv6sxbri77fxpb"; } { name = "remote-ssh-edit"; diff --git a/profiles/applications/waydroid.nix b/profiles/applications/waydroid.nix index 43f574c..17975d7 100644 --- a/profiles/applications/waydroid.nix +++ b/profiles/applications/waydroid.nix @@ -2,7 +2,7 @@ let waydroidGbinderConf = pkgs.writeText "waydroid.conf" '' [General] - ApiLevel = 29 + ApiLevel = 30 ''; # anboxGbinderConf = pkgs.writeText "anbox.conf" '' # [Protocol] diff --git a/profiles/overlay.nix b/profiles/overlay.nix index b767455..e2477dc 100644 --- a/profiles/overlay.nix +++ b/profiles/overlay.nix @@ -13,6 +13,7 @@ with lib; { inputs.nix-alien.overlay inputs.nur.overlay inputs.polymc.overlay + # inputs.nixos-rocm.overlay roundcube-plugins (self: super: rec { @@ -37,13 +38,13 @@ with lib; { vscode = master.vscode; vscode-fhs = master.vscode-fhs; xonar-fp = pkgs.callPackage ./packages/xonar-fp.nix { }; - xray-core = pkgs.callPackage ./packages/xray-core.nix { }; + # xray-core = pkgs.callPackage ./packages/xray-core.nix { }; youtube-to-mpv = pkgs.callPackage ./packages/youtube-to-mpv.nix { term = config.defaultApplications.term.cmd; }; vivaldi = master.vivaldi; - steam = super.steam.override { - extraPkgs = pkgs: with pkgs; [ libkrb5 keyutils ]; - }; - waybar = super.waybar.overrideAttrs (old: { + # steam = stable.steam.override { + # extraPkgs = pkgs: with pkgs; [ libkrb5 keyutils ]; + # }; + waybar = inputs.nixpkgs-wayland.packages.${system}.waybar.overrideAttrs (old: { mesonFlags = old.mesonFlags ++ [ "-Dexperimental=true" ]; @@ -59,6 +60,25 @@ with lib; { doInstallCheck = false; patches = [ ./nix/nix.patch ] ++ oa.patches or [ ]; }); + + pass-secret-service = super.pass-secret-service.overrideAttrs (_: { + installCheckPhase = 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 + ''; + }); } ) ]; diff --git a/profiles/packages/xray-core.nix b/profiles/packages/xray-core.nix index 73d351a..f2f1871 100644 --- a/profiles/packages/xray-core.nix +++ b/profiles/packages/xray-core.nix @@ -3,36 +3,26 @@ }: let - version = "1.5.4"; + version = "1.6.1"; src = fetchFromGitHub { owner = "XTLS"; repo = "Xray-core"; rev = "v${version}"; - sha256 = "068i2sdykmr7xznsvq5d80ivzkmmnd8gy3v90n8g8h7aqkgx25w6"; + sha256 = "0g2bmy522lhip0rgb3hqyi3bidf4ljyjvvv3n1kb6lvm0p3br51b"; }; - vendorSha256 = "sha256-ZFbYUybbKKqmFz7mi7QpgaRj0i7is4iM/aBbPAqCuSM="; + vendorSha256 = "sha256-QAF/05/5toP31a/l7mTIetFhXuAKsT69OI1K/gMXei0="; assets = { # MIT licensed "geoip.dat" = let - geoipRev = "202203170039"; - geoipSha256 = "1j76akll181xnrgrs032sri3m7azjmzql27bjsyycln0zgg87h8j"; + geoipRev = "202210270100"; + geoipSha256 = "13qsgka98c8dwm1ykk59w76llv9lpbgqnhxrm3ndkdfkazacm85r"; in fetchurl { url = "https://github.com/v2fly/geoip/releases/download/${geoipRev}/geoip.dat"; sha256 = geoipSha256; }; - - # MIT licensed - "geosite.dat" = let - geositeRev = "20220320175821"; - geositeSha256 = "11j7j4hmzfr2l3zwa2xlinjdqmsfjg4952qzkw1qwrafifrarzvf"; - in fetchurl { - url = "https://github.com/v2fly/domain-list-community/releases/download/${geositeRev}/dlc.dat"; - sha256 = geositeSha256; - }; - } // assetOverrides; assetsDrv = linkFarm "Xray-assets" (lib.mapAttrsToList (name: path: { diff --git a/profiles/servers/stable-diffusion.nix b/profiles/servers/stable-diffusion.nix index 2a21ced..56b8265 100644 --- a/profiles/servers/stable-diffusion.nix +++ b/profiles/servers/stable-diffusion.nix @@ -8,6 +8,9 @@ in with config.virtualisation.oci-containers; { # autoStart = true; autoStart = false; cmd = [ "./init.sh" ]; + # environment = { + # COMMANDLINE_ARGS = "--listen --port 7860 --deepdanbooru --medvram --opt-split-attention --disable-console-progressbars --enable-console-prompts"; + # }; extraOptions = [ "--device=/dev/kfd" "--device=/dev/dri" diff --git a/profiles/themes.nix b/profiles/themes.nix index c1908c1..42b6142 100644 --- a/profiles/themes.nix +++ b/profiles/themes.nix @@ -67,6 +67,7 @@ cursorPackage = pkgs.bibata-cursors-tokyonight; # cursorPackage = pkgs.bibata-cursors; cursorSize = 16; + cursorTheme = "Bibata-Modern-TokyoNight"; }; }; } diff --git a/profiles/workspace/hyprland/default.nix b/profiles/workspace/hyprland/default.nix index 4c2e9af..7476f9e 100644 --- a/profiles/workspace/hyprland/default.nix +++ b/profiles/workspace/hyprland/default.nix @@ -47,9 +47,12 @@ in with config.deviceSpecific; with lib; { programs.zsh.loginExtra = let initScript = pkgs.writeShellScriptBin "wrappedHypr" '' - export _JAVA_AWT_WM_NONREPARENTING=1 - export XCURSOR_SIZE=${toString thm.cursorSize} + # export SDL_VIDEODRIVER=wayland + export QT_QPA_PLATFORM=wayland + export QT_WAYLAND_DISABLE_WINDOWDECORATION=1 # export XDG_CURRENT_DESKTOP=sway + #export _JAVA_AWT_WM_NONPARENTING=1 + # export XCURSOR_SIZE=${toString thm.cursorSize} exec Hyprland 2> /tmp/hyprland.debug.log ''; @@ -63,8 +66,9 @@ in with config.deviceSpecific; with lib; { wayland.windowManager.hyprland = { enable = true; xwayland.enable = true; - xwayland.hidpi = true; + # xwayland.hidpi = false; systemdIntegration = true; + recommendedEnvironment = true; extraConfig = let modifier = "SUPER"; script = name: content: "${pkgs.writeScript name content}"; @@ -73,14 +77,9 @@ in with config.deviceSpecific; with lib; { ${if config.device == "AMD-Workstation" then '' monitor=DP-1,2560x1440@59951,0x0,1 '' else '' - monitor=,preffered,0x0,1 + monitor=,highres,auto,1 ''} general { - ${if config.device == "AMD-Workstation" then '' - sensitivity=0.65 - '' else '' - sensitivity=1.3 - ''} apply_sens_to_raw=false border_size=1 no_border_on_floating=false @@ -88,10 +87,9 @@ in with config.deviceSpecific; with lib; { gaps_out=16 col.active_border=0xAA${thm.base08-hex} # border color col.inactive_border=0xAA${thm.base0A-hex} # border color - # cursor_inactive_timeout=0 - damage_tracking=full # layout=dwindle # Available: dwindle, master, default is dwindle # no_cursor_warps=true + sensitivity=1 } decoration { rounding=8 @@ -121,7 +119,16 @@ in with config.deviceSpecific; with lib; { natural_scroll=false numlock_by_default=true force_no_accel=true - sensitivity=1 + ${if config.device == "AMD-Workstation" then '' + sensitivity=0.35 + '' else '' + sensitivity=1.3 + ''} + ${if isLaptop then '' + scroll_method=2fg + '' else '' + scroll_method=on_button_down + ''} touchpad { natural_scroll=true @@ -260,10 +267,13 @@ in with config.deviceSpecific; with lib; { # ]) '' windowrule=workspace 10 silent,Steam - windowrule=workspace name:Music silent,(^Spotify) - windowrule=opaque,(^Spotify) + windowrule=workspace name:Music silent,Spotify + # windowrule=opaque,Spotify + windowrule=tile,Spotify windowrule=workspace name:Messengers silent,telegramdesktop windowrule=opaque,firefox + windowrule=opaque,chromium-browser + windowrule=opaque,mpv windowrule=float,Waydroid ${if config.device == "AMD-Workstation" then '' @@ -285,6 +295,7 @@ in with config.deviceSpecific; with lib; { 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 + exec-once=hyprctl setcursor ${config.lib.base16.theme.cursorTheme} ${toString config.lib.base16.theme.cursorSize} '' (concatMapStrings (c: "exec-once=" + c + "\n") config.startupApplications) diff --git a/profiles/workspace/i3status-rust/default.nix b/profiles/workspace/i3status-rust/default.nix index 62852ba..37aa416 100644 --- a/profiles/workspace/i3status-rust/default.nix +++ b/profiles/workspace/i3status-rust/default.nix @@ -11,7 +11,7 @@ in { statusCommand = "${pkgs.i3status-rust}/bin/i3status-rs ~/.config/i3status-rust/config-top.toml"; workspaceNumbers = false; fonts = { - names = [ "${thm.fonts.powerline.family}" "${thm.fonts.icon.family}" "${thm.fonts.iconFallback.family}" ]; + names = [ "${thm.fonts.mono.family}" "${thm.fonts.icon.family}" "${thm.fonts.iconFallback.family}" ]; style = "Regular"; size = thm.fontSizes.micro.float; }; diff --git a/profiles/workspace/proxy.nix b/profiles/workspace/proxy.nix index 2bfd82e..efbe256 100644 --- a/profiles/workspace/proxy.nix +++ b/profiles/workspace/proxy.nix @@ -1,9 +1,11 @@ { config, pkgs, lib, ... }: { + disabledModules = [ "services/networking/xray.nix" ]; + secrets.xray-config = {}; - services.xray = { + services.xray-custom = { enable = true; - configFile = config.secrets.xray-config.decrypted; + settingsFile = config.secrets.xray-config.decrypted; }; } \ No newline at end of file diff --git a/profiles/workspace/sway/default.nix b/profiles/workspace/sway/default.nix deleted file mode 100644 index 6fc380d..0000000 --- a/profiles/workspace/sway/default.nix +++ /dev/null @@ -1,307 +0,0 @@ -{ pkgs, lib, config, ... }: -let - thm = config.lib.base16.theme; - apps = config.defaultApplications; - # lock_fork = - # pkgs.writeShellScript "lock_fork" "sudo /run/current-system/sw/bin/lock &"; - # lock = pkgs.writeShellScript "lock" - # "swaymsg 'output * dpms off'; sudo /run/current-system/sw/bin/lock; swaymsg 'output * dpms on'"; -in { - programs.sway.enable = true; - programs.sway.wrapperFeatures.gtk = true; - programs.sway.extraPackages = lib.mkForce (with pkgs; [ - swayidle - swaylock-effects - xwayland - wl-clipboard - libsForQt5.qt5.qtwayland - gsettings-desktop-schemas - ]); - - xdg.portal = { - enable = true; - extraPortals = with pkgs; [ xdg-desktop-portal-wlr ]; - # gtkUsePortal = true; - }; - - users.users.alukard.extraGroups = [ "sway" ]; - - # 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"; - 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 { - enable = true; - config = rec { - assigns = { - # "" = [ - # { class = "Chromium"; } - # { app_id = "firefox"; } - # { class = "Firefox"; } - # ]; - "" = [ - { class = "spotify"; } - { title = "spt"; } - ]; - "" = [ - { class = "^Telegram"; } - ]; - }; - fonts = { - names = [ "${thm.fonts.main.family}" ]; - style = "Regular"; - size = thm.fontSizes.micro.float; - }; - - bars = [ ]; - - colors = rec { - background = "#${thm.base00-hex}"; - unfocused = { - text = "#${thm.base02-hex}"; - border = "#${thm.base01-hex}"; - background = "#${thm.base00-hex}"; - childBorder = "#${thm.base01-hex}"; - indicator = "#${thm.base07-hex}"; - }; - focusedInactive = unfocused; - urgent = unfocused // { - text = "#${thm.base05-hex}"; - border = "#${thm.base09-hex}"; - childBorder = "#${thm.base09-hex}"; - }; - focused = unfocused // { - childBorder = "#${thm.base03-hex}"; - border = "#${thm.base03-hex}"; - background = "#${thm.base01-hex}"; - text = "#${thm.base05-hex}"; - }; - }; - - gaps = { - inner = 15; - smartGaps = true; - smartBorders = "on"; - }; - focus.followMouse = false; - focus.forceWrapping = false; - modifier = "Mod4"; - window = { - border = 0; - titlebar = false; - commands = [ - { - command = "border pixel 2px"; - criteria = { window_role = "popup"; }; - } - # { - # command = "sticky enable"; - # criteria = { floating = ""; }; - # } - { - command = "move to workspace "; - criteria = { class = "Spotify"; }; - } - { - command = "floating enable"; - criteria = { instance = "origin.exe"; }; - } - ]; - }; - startup = (map (command: { inherit command; }) config.startupApplications) - ++ [ - { command = "${importGsettings}"; always = true; } - { - always = true; - command = '' - swayidle -w timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' ''; - } - # { - # command = - # "swayidle -w before-sleep '${lock_fork}' lock '${lock_fork}' unlock 'pkill -9 swaylock'"; - # } - ]; - - keybindings = let - script = name: content: "exec ${pkgs.writeScript name content}"; - workspaces = (builtins.genList (x: [ (toString x) (toString x) ]) 10) - ++ [ [ "c" "" ] [ "t" "" ] ]; - in ({ - "${modifier}+q" = "kill"; - "${modifier}+Shift+q" = - "move container to workspace temp; [workspace=__focused__] kill; workspace temp; move container to workspace temp; workspace temp"; - "${modifier}+w" = "exec ${apps.dmenu.cmd}"; - "${modifier}+Return" = "exec ${apps.term.cmd}"; - "${modifier}+Shift+Return" = "nop kitti3"; - "${modifier}+e" = "exec ${apps.editor.cmd}"; - "${modifier}+o" = "layout toggle all"; - - "${modifier}+Left" = "focus child; focus left"; - "${modifier}+Right" = "focus child; focus right"; - "${modifier}+Up" = "focus child; focus up"; - "${modifier}+Down" = "focus child; focus down"; - "${modifier}+Control+Left" = "focus parent; focus left"; - "${modifier}+Control+Right" = "focus parent; focus right"; - "${modifier}+Control+Up" = "focus parent; focus up"; - "${modifier}+Control+Down" = "focus parent; focus down"; - "${modifier}+Shift+Up" = "move up"; - "${modifier}+Shift+Down" = "move down"; - "${modifier}+Shift+Right" = "move right"; - "${modifier}+Shift+Left" = "move left"; - - "${modifier}+bracketleft" = "workspace prev"; - "${modifier}+bracketright" = "workspace next"; - - # "${modifier}+a" = "focus child; focus left"; - # "${modifier}+d" = "focus child; focus right"; - # "${modifier}+w" = "focus child; focus up"; - # "${modifier}+s" = "focus child; focus down"; - # "${modifier}+Control+a" = "focus parent; focus left"; - # "${modifier}+Control+d" = "focus parent; focus right"; - # "${modifier}+Control+w" = "focus parent; focus up"; - # "${modifier}+Control+s" = "focus parent; focus down"; - # "${modifier}+Shift+w" = "move up"; - # "${modifier}+Shift+s" = "move down"; - # "${modifier}+Shift+d" = "move right"; - # "${modifier}+Shift+a" = "move left"; - - "${modifier}+f" = "fullscreen toggle; floating toggle"; - "${modifier}+r" = "mode resize"; - "${modifier}+Shift+f" = "floating toggle"; - - "${modifier}+Escape" = "exec ${apps.monitor.cmd}"; - - "${modifier}+j" = "exec ${pkgs.mpris-ctl}/bin/mpris-ctl prev"; - "${modifier}+k" = "exec ${pkgs.mpris-ctl}/bin/mpris-ctl pp"; - "${modifier}+l" = "exec ${pkgs.mpris-ctl}/bin/mpris-ctl next"; - "${modifier}+Slash" = "exec ${pkgs.copyq}/bin/copyq menu"; - "${modifier}+Shift+j" = "exec ${pkgs.mpris-ctl}/bin/mpris-ctl --player Spotify prev"; - "${modifier}+Shift+k" = "exec ${pkgs.mpris-ctl}/bin/mpris-ctl --player Spotify pp"; - "${modifier}+Shift+l" = "exec ${pkgs.mpris-ctl}/bin/mpris-ctl --player Spotify next"; - "${modifier}+m" = "exec ${pkgs.pamixer}/bin/pamixer -t"; - "${modifier}+comma" = "exec ${pkgs.pamixer}/bin/pamixer -d 5"; - "${modifier}+period" = "exec ${pkgs.pamixer}/bin/pamixer -i 5"; - "${modifier}+Shift+comma" = "exec ${pkgs.pamixer}/bin/pamixer -d 2"; - "${modifier}+Shift+period" = "exec ${pkgs.pamixer}/bin/pamixer -i 2"; - "${modifier}+i" = "exec ${pkgs.pavucontrol}/bin/pavucontrol"; - - "${modifier}+d" = "exec ${apps.fm.cmd}"; - "${modifier}+y" = "exec ${pkgs.youtube-to-mpv}/bin/yt-mpv"; - "${modifier}+Shift+y" = "exec ${pkgs.youtube-to-mpv}/bin/yt-mpv --no-video"; - - "${modifier}+Print" = script "screenshot" - "${pkgs.grim}/bin/grim Pictures/$(date +'%Y-%m-%d+%H:%M:%S').png"; - - "${modifier}+Control+Print" = script "screenshot-copy" - "${pkgs.grim}/bin/grim - | ${pkgs.wl-clipboard}/bin/wl-copy"; - - "--release ${modifier}+Shift+Print" = script "screenshot-area" '' - ${pkgs.grim}/bin/grim -g "$(${pkgs.slurp}/bin/slurp)" Pictures/$(date +'%Y-%m-%d+%H:%M:%S').png''; - - "--release ${modifier}+Control+Shift+Print" = - script "screenshot-area-copy" '' - ${pkgs.grim}/bin/grim -g "$(${pkgs.slurp}/bin/slurp)" - | ${pkgs.wl-clipboard}/bin/wl-copy''; - - "${modifier}+x" = "focus output right"; - "${modifier}+Shift+x" = "move workspace to output right"; - "${modifier}+F5" = "reload"; - "${modifier}+Shift+F5" = "exit"; - "${modifier}+Shift+h" = "layout splith"; - "${modifier}+Shift+v" = "layout splitv"; - "${modifier}+h" = "split h"; - "${modifier}+v" = "split v"; - "${modifier}+F1" = "move to scratchpad"; - "${modifier}+F2" = "scratchpad show"; - "${modifier}+F11" = "output * dpms off"; - "${modifier}+F12" = "output * dpms on"; - # "${modifier}+End" = "exec ${lock}"; - "${modifier}+p" = "sticky toggle"; - "${modifier}+backslash" = - script "0x0" ''wl-paste | curl -F"file=@-" https://0x0.st | wl-copy''; - "${modifier}+b" = "focus mode_toggle"; - - "XF86AudioPlay" = "exec ${pkgs.mpris-ctl}/bin/mpris-ctl pp"; - "XF86AudioNext" = "exec ${pkgs.mpris-ctl}/bin/mpris-ctl next"; - "XF86AudioPrev" = "exec ${pkgs.mpris-ctl}/bin/mpris-ctl prev"; - "XF86AudioLowerVolume" = "exec ${pkgs.pamixer}/bin/pamixer -d 5"; - "XF86AudioRaiseVolume" = "exec ${pkgs.pamixer}/bin/pamixer -i 5"; - "XF86AudioMute" = "exec ${pkgs.pamixer}/bin/pamixer -t"; - "Shift+XF86AudioLowerVolume" = "exec ${pkgs.pamixer}/bin/pamixer -d 2"; - "Shift+XF86AudioRaiseVolume" = "exec ${pkgs.pamixer}/bin/pamixer -i 2"; - "button2" = "kill"; - "--whole-window ${modifier}+button2" = "kill"; - } // builtins.listToAttrs (builtins.map (x: { - name = "${modifier}+${builtins.elemAt x 0}"; - value = "workspace ${builtins.elemAt x 1}"; - }) workspaces) // builtins.listToAttrs (builtins.map (x: { - name = "${modifier}+Shift+${builtins.elemAt x 0}"; - value = "move container to workspace ${builtins.elemAt x 1}"; - }) workspaces)); - keycodebindings = { }; - workspaceLayout = "tabbed"; - workspaceAutoBackAndForth = true; - input = { - "type:touchpad" = { - accel_profile = "adaptive"; - dwt = "enabled"; - middle_emulation = "enabled"; - natural_scroll = "enabled"; - tap = "enabled"; - }; - "type:mouse" = { - accel_profile = "flat"; - natural_scroll = "disabled"; - }; - "type:keyboard" = { - xkb_layout = "us,ru"; - xkb_options = "grp:win_space_toggle"; - }; - "3468:12:C-Media_USB_Headphone_Set" = { - events = "disabled"; - }; - }; - output = { - "*".bg = "${/. + ../../../misc/wallpaper} fill"; - "*".scale = "1"; - }; - }; - wrapperFeatures = { gtk = true; }; - xwayland = true; - extraConfig = '' - default_border pixel 1 - hide_edge_borders --i3 smart - exec pkill swaynag - exec dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP - exec_always --no-startup-id kitti3 -p BC - ''; - extraSessionCommands = '' - # export SDL_VIDEODRIVER=wayland - export GDK_BACKEND=wayland - export QT_QPA_PLATFORM=wayland-egl - export QT_WAYLAND_DISABLE_WINDOWDECORATION=1 - export XDG_CURRENT_DESKTOP=sway - export XDG_SESSION_DESKTOP=sway - export XDG_SESSION_TYPE=wayland - export _JAVA_AWT_WM_NONPARENTING=1 - export _JAVA_AWT_WM_NONREPARENTING=1 - ''; - }; -} diff --git a/profiles/workspace/waybar/default.nix b/profiles/workspace/waybar/default.nix index a742de8..17ff64b 100644 --- a/profiles/workspace/waybar/default.nix +++ b/profiles/workspace/waybar/default.nix @@ -1,14 +1,16 @@ -{ config, lib, pkgs, ... }: { +{ config, lib, pkgs, inputs, ... }: +with config.deviceSpecific; { home-manager.users.alukard.programs.waybar = { enable = true; + # package = inputs.nixpkgs-wayland.packages.${pkgs.system}.waybar; settings = { mainBar = { layer = "top"; position = "top"; margin = "10 10 0 8"; modules-left = [ "wlr/workspaces" ]; - modules-right = [ - # "cpu" + modules-right = if isLaptop then [ + "cpu" "disk" "temperature" "custom/mem" @@ -16,10 +18,17 @@ "battery" "clock" "tray" + ] else [ + "cpu" + "disk" + "temperature" + "custom/mem" + "clock" + "tray" ]; cpu = { interval = 4; - format = "{usage}"; + format = "{usage}%"; }; disk = { interval = 60; @@ -49,7 +58,7 @@ "custom/mem" = { format = "{} "; interval = 3; - exec = "free -h | awk '/Mem:/{printf $7}'"; + exec = "${pkgs.procps}/bin/free -h | ${pkgs.gawk}/bin/awk '/Mem:/{printf $7}'"; tooltip = false; }; backlight = { @@ -151,15 +160,6 @@ background: #383c4a; } - #custom-pacman { - padding-left: 16px; - padding-right: 8px; - border-radius: 10px 0px 0px 10px; - transition: none; - color: #ffffff; - background: #383c4a; - } - #custom-mail { /* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ margin-right: 8px; @@ -295,6 +295,16 @@ background: #383c4a; } + #cpu { + margin-right: 8px; + padding-left: 16px; + padding-right: 16px; + border-radius: 10px; + transition: none; + color: #ffffff; + background: #383c4a; + } + @keyframes blink { to { background-color: #ffffff; diff --git a/scripts/gen-patch-zen.sh b/scripts/gen-patch-zen.sh index ff55949..3aff225 100755 --- a/scripts/gen-patch-zen.sh +++ b/scripts/gen-patch-zen.sh @@ -3,11 +3,11 @@ set -eu -o pipefail kCONFIG="$(pwd)" -kNIXPKGS=$(nix flake archive --json --dry-run nixpkgs | jq -r '.path') +kNIXPKGS=$(nix flake metadata --json --inputs-from . nixpkgs | jq -r '.path') kMAX_VER=`python $kCONFIG/scripts/find-latest-zfs-kernel.py $kNIXPKGS/pkgs/os-specific/linux/zfs/default.nix` echo $kMAX_VER -read -p "> Press any key to continue...1" -n 1 -r +# read -p "> Press any key to continue...1" -n 1 -r mkdir -p /tmp/nixpkgs/pkgs/os-specific/linux/kernel/ mkdir -p ./patches @@ -18,15 +18,15 @@ git init git add -A git commit -m "temp" -read -p "> Press any key to continue...2" -n 1 -r +# read -p "> Press any key to continue...2" -n 1 -r python $kCONFIG/scripts/update-zen.py lqx $kMAX_VER /tmp/nixpkgs/pkgs/os-specific/linux/kernel/zen-kernels.nix -read -p "> Press any key to continue...3" -n 1 -r +# read -p "> Press any key to continue...3" -n 1 -r git add -A git diff --cached > $kCONFIG/patches/zen-kernels.patch cd $kCONFIG rm -rf /tmp/nixpkgs -echo "Complete!" \ No newline at end of file +echo "Complete!" diff --git a/todo.md b/todo.md index d640e57..b7f7144 100644 --- a/todo.md +++ b/todo.md @@ -1,6 +1,6 @@ # TODO -* spotifyd + cli * config qbittorrent * telegram theme -* use theme engine from https://github.com/SenchoPens/senixos \ No newline at end of file +* use theme engine from https://github.com/SenchoPens/senixos +* update waybar \ No newline at end of file