chore: merge configs

This commit is contained in:
Ahwx 2024-10-07 21:36:05 +02:00
commit c4d7eb051d
21 changed files with 448 additions and 1226 deletions

View file

@ -216,6 +216,7 @@ Other dotfiles that I learned / copy from:
- [Frost-Phoenix/nixos-config](https://github.com/Frost-Phoenix/nixos-config): This is the repository that I cloned and changed to my needs. Their credits are in their repository's readme. - [Frost-Phoenix/nixos-config](https://github.com/Frost-Phoenix/nixos-config): This is the repository that I cloned and changed to my needs. Their credits are in their repository's readme.
- [notthebee/nix-config](https://github.com/notthebee/nix-config) - [notthebee/nix-config](https://github.com/notthebee/nix-config)
- [Ruixi-rebirth/melted-flakes](https://github.com/Ruixi-rebirth/melted-flakes): Waybar configuration mostly - [Ruixi-rebirth/melted-flakes](https://github.com/Ruixi-rebirth/melted-flakes): Waybar configuration mostly
- [mrusme/dotfiles](https://github.com/mrusme/dotfiles)
<!-- Links --> <!-- Links -->
[Hyprland]: https://github.com/hyprwm/Hyprland [Hyprland]: https://github.com/hyprwm/Hyprland

194
flake.lock generated
View file

@ -41,11 +41,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1724850097, "lastModified": 1727261104,
"narHash": "sha256-3BHxvFb3NJzch1X8puRMkVZujOoarQ1llu3ZcwuvsKU=", "narHash": "sha256-rxDI7WrxIRV9it9mDCHcLa7xQykf1JloXnoXr5xQ8zI=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "aquamarine", "repo": "aquamarine",
"rev": "23c7925dd31e79e8c06086ace3edb129a070ac01", "rev": "b82fdaff917582a9d568969e15e61b398c71e990",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -56,11 +56,11 @@
}, },
"catppuccin": { "catppuccin": {
"locked": { "locked": {
"lastModified": 1724469296, "lastModified": 1726952185,
"narHash": "sha256-p3R4LUNk6gC+fTKRUm9ByXaoRIocnQMwVuJSIxECQ8o=", "narHash": "sha256-l/HbsQjJMT6tlf8KCooFYi3J6wjIips3n6/aWAoLY4g=",
"owner": "catppuccin", "owner": "catppuccin",
"repo": "nix", "repo": "nix",
"rev": "874e668ddaf3687e8d38ccd0188a641ffefe1cfb", "rev": "630b559cc1cb4c0bdd525af506935323e4ccd5d1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -149,11 +149,11 @@
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
}, },
"locked": { "locked": {
"lastModified": 1722555600, "lastModified": 1726153070,
"narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=", "narHash": "sha256-HO4zgY0ekfwO5bX0QH/3kJ/h4KvUDFZg8YpkNwIbg1U=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "8471fe90ad337a8074e957b69ca4d0089218391d", "rev": "bcef6817a8b2aa20a5a6dbb19b43e63c5bf8619a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -299,11 +299,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1724435763, "lastModified": 1727383923,
"narHash": "sha256-UNky3lJNGQtUEXT2OY8gMxejakSWPTfWKvpFkpFlAfM=", "narHash": "sha256-4/vacp3CwdGoPf8U4e/N8OsGYtO09WTcQK5FqYfJbKs=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "c2cd2a52e02f1dfa1c88f95abeb89298d46023be", "rev": "ffe2d07e771580a005e675108212597e5b367d2d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -339,11 +339,11 @@
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs_2"
}, },
"locked": { "locked": {
"lastModified": 1722636442, "lastModified": 1725551787,
"narHash": "sha256-+7IS0n3/F0I5j6ZbrVlLcIIPHY3o+/vLAqg/G48sG+w=", "narHash": "sha256-6LgsZHz8w3g4c9bRUwRAR+WIMwFGGf3P1VZQcKNRf2o=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "contrib", "repo": "contrib",
"rev": "9d67858b437d4a1299be496d371b66fc0d3e01f6", "rev": "1e531dc49ad36c88b45bf836081a7a2c8927e072",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -368,11 +368,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1722623071, "lastModified": 1727532803,
"narHash": "sha256-sLADpVgebpCBFXkA1FlCXtvEPu1tdEsTfqK1hfeHySE=", "narHash": "sha256-ZaZ7h7PY8mQc4vtGmVqWLAq9CAO02gHMyNR5yY8zDmM=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprcursor", "repo": "hyprcursor",
"rev": "912d56025f03d41b1ad29510c423757b4379eb1c", "rev": "b98726e431d4d3ed58bd58bee1047cdb81cec69f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -385,6 +385,7 @@
"inputs": { "inputs": {
"aquamarine": "aquamarine", "aquamarine": "aquamarine",
"hyprcursor": "hyprcursor", "hyprcursor": "hyprcursor",
"hyprland-protocols": "hyprland-protocols",
"hyprlang": "hyprlang", "hyprlang": "hyprlang",
"hyprutils": "hyprutils", "hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner", "hyprwayland-scanner": "hyprwayland-scanner",
@ -395,11 +396,11 @@
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1724967012, "lastModified": 1727679999,
"narHash": "sha256-Zn5Eq6Elq0SRInPrEYGGoo972JzVxd5zExF7FSuTKlo=", "narHash": "sha256-NWF3SKLMFjM0M93PDWM9+wKbc5XcnJEmojiZdNdPpUw=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "604eb21a7e55d85ec7f6cb8cba39fc4c20a07a9d", "rev": "f6387536f62454f82039b42f641cd8c44153ad47",
"revCount": 5157, "revCount": 5281,
"submodules": true, "submodules": true,
"type": "git", "type": "git",
"url": "https://github.com/hyprwm/Hyprland" "url": "https://github.com/hyprwm/Hyprland"
@ -411,6 +412,31 @@
} }
}, },
"hyprland-protocols": { "hyprland-protocols": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1727451107,
"narHash": "sha256-qV9savtHwmZUa0eJE294WYJjKPGB2+bJhwByFShsVyo=",
"owner": "hyprwm",
"repo": "hyprland-protocols",
"rev": "6b3261ee13a6d2b99de79a31d352f6996e35bde3",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-protocols",
"type": "github"
}
},
"hyprland-protocols_2": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"hyprland", "hyprland",
@ -453,11 +479,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1724174162, "lastModified": 1725997860,
"narHash": "sha256-fOOBLwil6M9QWMCiSULwjMQzrXhHXUnEqmjHX5ZHeVI=", "narHash": "sha256-d/rZ/fHR5l1n7PeyLw0StWMNLXVU9c4HFyfskw568so=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprlang", "repo": "hyprlang",
"rev": "16e5c9465f04477d8a3dd48a0a26bf437986336c", "rev": "dfeb5811dd6485490cce18d6cc1e38a055eea876",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -469,15 +495,16 @@
"hyprpicker": { "hyprpicker": {
"inputs": { "inputs": {
"hyprutils": "hyprutils_2", "hyprutils": "hyprutils_2",
"hyprwayland-scanner": "hyprwayland-scanner_2",
"nixpkgs": "nixpkgs_3", "nixpkgs": "nixpkgs_3",
"systems": "systems_2" "systems": "systems_2"
}, },
"locked": { "locked": {
"lastModified": 1724326010, "lastModified": 1727630712,
"narHash": "sha256-84Zzoi6bWAnDKDxoqiv3DCIjQmP1Y8vynP6//Wtnpc4=", "narHash": "sha256-poY/bVJ0Ytx8lf2KLx3YgxRJvgQlFiFEDXukpy1AY9I=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprpicker", "repo": "hyprpicker",
"rev": "38fe668e58014c75cf28f7cb5fc136aa710e7039", "rev": "4d6d01c4953037f944310cdf6e0183f0d58b370c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -498,11 +525,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1724863980, "lastModified": 1727300645,
"narHash": "sha256-7Ke9wFRYPUIXwm5ZndGHkWBKj6BsFTkSEXUNXQRHE54=", "narHash": "sha256-OvAtVLaSRPnbXzOwlR1fVqCXR7i+ICRX3aPMCdIiv+c=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprutils", "repo": "hyprutils",
"rev": "aadf9a27dddd2272ca354ba5a22a0c2d1f919039", "rev": "3f5293432b6dc6a99f26aca2eba3876d2660665c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -523,11 +550,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1721324102, "lastModified": 1727300645,
"narHash": "sha256-WAZ0X6yJW1hFG6otkHBfyJDKRpNP5stsRqdEuHrFRpk=", "narHash": "sha256-OvAtVLaSRPnbXzOwlR1fVqCXR7i+ICRX3aPMCdIiv+c=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprutils", "repo": "hyprutils",
"rev": "962582a090bc233c4de9d9897f46794280288989", "rev": "3f5293432b6dc6a99f26aca2eba3876d2660665c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -548,11 +575,36 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1721324119, "lastModified": 1726874836,
"narHash": "sha256-SOOqIT27/X792+vsLSeFdrNTF+OSRp5qXv6Te+fb2Qg=", "narHash": "sha256-VKR0sf0PSNCB0wPHVKSAn41mCNVCnegWmgkrneKDhHM=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprwayland-scanner", "repo": "hyprwayland-scanner",
"rev": "a048a6cb015340bd82f97c1f40a4b595ca85cc30", "rev": "500c81a9e1a76760371049a8d99e008ea77aa59e",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"type": "github"
}
},
"hyprwayland-scanner_2": {
"inputs": {
"nixpkgs": [
"hyprpicker",
"nixpkgs"
],
"systems": [
"hyprpicker",
"systems"
]
},
"locked": {
"lastModified": 1726874836,
"narHash": "sha256-VKR0sf0PSNCB0wPHVKSAn41mCNVCnegWmgkrneKDhHM=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "500c81a9e1a76760371049a8d99e008ea77aa59e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -590,11 +642,11 @@
"umu": "umu" "umu": "umu"
}, },
"locked": { "locked": {
"lastModified": 1724549799, "lastModified": 1727574085,
"narHash": "sha256-F4lN1qmMJpJALwZ2ENb6MDSXG40om7ktZyAt7yh/DS8=", "narHash": "sha256-vwERoi5pcO39raf92QMS6BjujfbRiHWA0rOb/XlQlmc=",
"owner": "fufexan", "owner": "fufexan",
"repo": "nix-gaming", "repo": "nix-gaming",
"rev": "963803d3be8ed721b21326804513dec884e9d494", "rev": "6401744e317693efe56495a863322894767277fd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -621,14 +673,14 @@
}, },
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": { "locked": {
"lastModified": 1722555339, "lastModified": 1725233747,
"narHash": "sha256-uFf2QeW7eAHlYXuDktm9c25OxOyCoUOQmh5SZ9amE5Q=", "narHash": "sha256-Ss8QWLXdr2JCBPcYChJhz4xJm+h/xjl4G0c0XlP6a74=",
"type": "tarball", "type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz" "url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz" "url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz"
} }
}, },
"nixpkgs-lib_2": { "nixpkgs-lib_2": {
@ -661,11 +713,11 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1721138476, "lastModified": 1727122398,
"narHash": "sha256-+W5eZOhhemLQxelojLxETfbFbc19NWawsXBlapYpqIA=", "narHash": "sha256-o8VBeCWHBxGd4kVMceIayf5GApqTavJbTa44Xcg5Rrk=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "ad0b5eed1b6031efaed382844806550c3dcb4206", "rev": "30439d93eb8b19861ccbe3e581abf97bdc91b093",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -677,11 +729,11 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1724395761, "lastModified": 1727524699,
"narHash": "sha256-zRkDV/nbrnp3Y8oCADf5ETl1sDrdmAW6/bBVJ8EbIdQ=", "narHash": "sha256-k6YxGj08voz9NvuKExojiGXAVd69M8COtqWSKr6sQS4=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "ae815cee91b417be55d43781eb4b73ae1ecc396c", "rev": "b5b2fecd0cadd82ef107c9583018f381ae70f222",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -693,11 +745,11 @@
}, },
"nixpkgs_5": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1724819573, "lastModified": 1727348695,
"narHash": "sha256-GnR7/ibgIH1vhoy8cYdmXE6iyZqKqFxQSVkFgosBh6w=", "narHash": "sha256-J+PeFKSDV+pHL7ukkfpVzCOO7mBSrrpJ3svwBFABbhI=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "71e91c409d1e654808b2621f28a327acfdad8dc2", "rev": "1925c603f17fc89f4c8f6bf6f631a802ad85d784",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -746,11 +798,11 @@
"nixvim": "nixvim_2" "nixvim": "nixvim_2"
}, },
"locked": { "locked": {
"lastModified": 1721648522, "lastModified": 1725867099,
"narHash": "sha256-G5s2VV9tVMaqI7Bgqf4DWPzImqwHBqWi6XeJsPipM38=", "narHash": "sha256-axHOLsAr49mWlzHIAnVVt7bt16AepAcr4kdwXnEmQ60=",
"owner": "ahwxorg", "owner": "ahwxorg",
"repo": "nixvim-config", "repo": "nixvim-config",
"rev": "9cacf44f8915fd4d1e8107a16afac3ceaae63b84", "rev": "d90d75bd7c69637e08cbd3969ec0373d6db7ffdc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -786,11 +838,11 @@
}, },
"nur": { "nur": {
"locked": { "locked": {
"lastModified": 1725014731, "lastModified": 1727689781,
"narHash": "sha256-4Y3FY4JzZsKQ0FKfdoWCt2BJFWDrnCk+Fi3+oo2kb0M=", "narHash": "sha256-uS/kWqV+Lnckl+8i0frloCSV7paeCV4Dyi8sfuRDTyk=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "8a0c673833f8c455f54b1c4596fb19715c8d1101", "rev": "13d4cb90be03e225cc11a96d019ec886c3c30296",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -907,11 +959,11 @@
}, },
"locked": { "locked": {
"dir": "packaging/nix", "dir": "packaging/nix",
"lastModified": 1724179424, "lastModified": 1727227288,
"narHash": "sha256-2r2y1p9YQuaWCxuFj45MVRqJ/uWglhzY5O9BW1jRXcg=", "narHash": "sha256-82fIhNN93zk0vmc5rltsbYJlD96AHzEFY2q1KizLP0A=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "dd3105e4ceef83bdc9d7437139f9475325e2a66d", "rev": "5cc1c3f23e2ecc9e03267c097e990d1702416852",
"revCount": 700, "revCount": 730,
"submodules": true, "submodules": true,
"type": "git", "type": "git",
"url": "https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix" "url": "https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix"
@ -925,11 +977,19 @@
}, },
"xdph": { "xdph": {
"inputs": { "inputs": {
"hyprland-protocols": "hyprland-protocols", "hyprland-protocols": "hyprland-protocols_2",
"hyprlang": [ "hyprlang": [
"hyprland", "hyprland",
"hyprlang" "hyprlang"
], ],
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [ "nixpkgs": [
"hyprland", "hyprland",
"nixpkgs" "nixpkgs"
@ -940,11 +1000,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1724073926, "lastModified": 1727524473,
"narHash": "sha256-nWlUL43jOFHf+KW6Hqrx+W/r1XdXuDyb0wC/SrHsOu4=", "narHash": "sha256-1DGktDtSWIJpnDbVoj/qpvJSH5zg6JbOfuh6xqZMap0=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland", "repo": "xdg-desktop-portal-hyprland",
"rev": "a08ecbbf33598924e93542f737fc6169a26b481e", "rev": "7e500e679ede40e79cf2d89b5f5fa3e34923bd26",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -9,6 +9,7 @@
nixpkgs.config.permittedInsecurePackages = [ nixpkgs.config.permittedInsecurePackages = [
"jitsi-meet-1.0.8043" "jitsi-meet-1.0.8043"
"olm-3.2.16"
]; ];
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [

View file

@ -1,8 +1,9 @@
{ ... }: { ... }:
{ {
imports = imports =
# [(import ./bootloader.nix)] [(import ./bootloader.nix)]
[(import ./hardware.nix)] ++ [(import ./docker.nix)] # enable docker support
++ [(import ./hardware.nix)]
++ [(import ./xserver.nix)] ++ [(import ./xserver.nix)]
++ [(import ./network.nix)] ++ [(import ./network.nix)]
++ [(import ./pipewire.nix)] ++ [(import ./pipewire.nix)]

7
modules/core/docker.nix Normal file
View file

@ -0,0 +1,7 @@
{ ... }:
{
virtualisation.docker = {
enable = true;
enableOnBoot = false;
};
}

View file

@ -1,4 +1,4 @@
{ pkgs, inputs, username, host, ...}: { pkgs, inputs, config, username, host, ...}:
{ {
imports = [ inputs.home-manager.nixosModules.home-manager ]; imports = [ inputs.home-manager.nixosModules.home-manager ];
home-manager = { home-manager = {
@ -22,9 +22,15 @@
}; };
users.users.${username} = { users.users.${username} = {
# extraGroups = if (config.virtualisation.docker.enable == true) then
# [ "networkmanager" "wheel" "docker" ]
# else
# [ "networkmanager" "wheel" ];
# if (config.virtualisation.docker.enable = true) then
# extraGroups = [ "docker" ];
isNormalUser = true; isNormalUser = true;
description = "${username}"; description = "${username}";
extraGroups = [ "networkmanager" "wheel" ]; extraGroups = [ "networkmanager" "wheel" "docker" ];
shell = pkgs.zsh; shell = pkgs.zsh;
}; };
nix.settings.allowed-users = [ "${username}" ]; nix.settings.allowed-users = [ "${username}" ];

View file

@ -16,9 +16,16 @@
greetd.u2fAuth = true; greetd.u2fAuth = true;
sudo.u2fAuth = true; sudo.u2fAuth = true;
hyprlock.u2fAuth = true; hyprlock.u2fAuth = true;
swaylock.fprintAuth = true;
hyprlock.fprintAuth = true;
# pam.services.swaylock = {}; # Already enabled
}; };
}; };
services = {
fprintd.enable = true;
};
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
yubikey-manager yubikey-manager
]; ];

View file

@ -2,6 +2,7 @@
imports = imports =
[(import ./bat.nix)] # better cat command [(import ./bat.nix)] # better cat command
++ [(import ./git.nix)] # version control ++ [(import ./git.nix)] # version control
++ [(import ./security.nix)] # yubikey-touch-detector for now
++ [(import ./gtk.nix)] # gtk theme ++ [(import ./gtk.nix)] # gtk theme
++ [(import ./hyprland)] # window manager ++ [(import ./hyprland)] # window manager
++ [(import ./kitty.nix)] # terminal ++ [(import ./kitty.nix)] # terminal

View file

@ -39,7 +39,7 @@
gaps_in = 5; gaps_in = 5;
gaps_out = 10; gaps_out = 10;
border_size = 2; border_size = 2;
"col.active_border" = "rgb(cba6f7) rgb(94e2d5) 45deg"; "col.active_border" = "rgb(cda5ef) rgb(cda5ef) 45deg";
"col.inactive_border" = "0x00000000"; "col.inactive_border" = "0x00000000";
border_part_of_window = false; border_part_of_window = false;
no_border_on_floating = false; no_border_on_floating = false;
@ -56,7 +56,7 @@
}; };
dwindle = { dwindle = {
no_gaps_when_only = false; # Is ugly with current Waybar setup no_gaps_when_only = true;
force_split = 0; force_split = 0;
special_scale_factor = 1.0; special_scale_factor = 1.0;
split_width_multiplier = 1.0; split_width_multiplier = 1.0;
@ -67,7 +67,7 @@
master = { master = {
special_scale_factor = 1; special_scale_factor = 1;
no_gaps_when_only = false; no_gaps_when_only = true;
}; };
decoration = { decoration = {
@ -77,7 +77,7 @@
# fullscreen_opacity = 1.0; # fullscreen_opacity = 1.0;
blur = { blur = {
enabled = true; enabled = false;
size = 1; size = 1;
passes = 1; passes = 1;
# size = 4; # size = 4;
@ -146,9 +146,9 @@
# clipboard manager # clipboard manager
"$mainMod SHIFT, V, exec, cliphist list | wofi --dmenu | cliphist decode | wl-copy" "$mainMod SHIFT, V, exec, cliphist list | wofi --dmenu | cliphist decode | wl-copy"
"$mainMod SHIFT, F, exec, firefox" "$mainMod SHIFT, F, exec, firefox"
"$mainMod SHIFT, T, exec, thunderbird" "$mainMod SHIFT, T, exec, thunderbird"
"$mainMod SHIFT, P, exec, pavucontrol" "$mainMod SHIFT, P, exec, pavucontrol-qt"
# screenshot # screenshot
"SUPER SHIFT, S, exec, grimblast --notify --cursor save area ~/Pictures/$(date +'%Y-%m-%d-At-%Ih%Mm%Ss').png" "SUPER SHIFT, S, exec, grimblast --notify --cursor save area ~/Pictures/$(date +'%Y-%m-%d-At-%Ih%Mm%Ss').png"
@ -266,6 +266,7 @@
"opacity 1.0 override 1.0 override, class:(Unity)" "opacity 1.0 override 1.0 override, class:(Unity)"
"idleinhibit focus, class:^(mpv)$" "idleinhibit focus, class:^(mpv)$"
"idleinhibit fullscreen, class:^(firefox)$" "idleinhibit fullscreen, class:^(firefox)$"
"float,class:^(pavucontrol-qt)$"
"float,class:^(pavucontrol)$" "float,class:^(pavucontrol)$"
"float,class:^(SoundWireServer)$" "float,class:^(SoundWireServer)$"
"float,class:^(.sameboy-wrapped)$" "float,class:^(.sameboy-wrapped)$"

View file

@ -1,106 +1,100 @@
{ pkgs, ... }: { pkgs, ... }:
let
text = "rgb(251, 241, 199)";
in
{ {
programs.hyprlock = { home.packages = [ pkgs.hyprlock ];
enable = true; xdg.configFile."hypr/hyprlock.conf".text = ''
# BACKGROUND
background {
monitor =
path = ${/home/liv/Pictures/wallpapers/others/liv-schiermonnikoog-zonsondergang.jpeg}
blur_passes = 1
contrast = 0.8916
brightness = 0.8172
vibrancy = 0.1696
vibrancy_darkness = 0.0
}
extraConfig = '' # GENERAL
source = $HOME/nixos-config/modules/home/hyprland/mocha.conf general {
hide_cursor = true
no_fade_in = false
grace = 0
disable_loading_bar = false
}
$accent = 0xb3$tealAlpha # Time
$accentAlpha = $tealAlpha label {
$font = JetBrainsMono Nerd Font monitor =
text = cmd[update:1000] echo "$(date +"%k:%M")"
# GENERAL color = rgba(235, 219, 178, .9)
general { font_size = 111
disable_loading_bar = true font_family = JetBrainsMono NF Bold
hide_cursor = true position = 0, 270
} halign = center
valign = center
# BACKGROUND }
background {
monitor = # Day
path = ~/Pictures/wallpapers/others/street-by-ahwx.jpg label {
blur_passes = 2 monitor =
color = $base text = cmd[update:1000] echo "- $(date +"%A, %B %d") -"
} color = rgba(235, 219, 178, .9)
font_size = 20
# TIME font_family = CaskaydiaCove Nerd Font
label { position = 0, 160
monitor = halign = center
text = cmd[update:30000] echo "$(date +"%R")" valign = center
color = $text }
font_size = 90
font_family = $font
position = -130, -100 # USER-BOX
halign = right shape {
valign = top monitor =
shadow_passes = 2 size = 350, 50
} color = rgba(225, 225, 225, .2)
rounding = 15
# DATE border_size = 0
label { border_color = rgba(255, 255, 255, 0)
monitor = rotate = 0
text = cmd[update:43200000] echo "$(date +"%A, %d %B %Y")"
color = $text position = 0, -230
font_size = 25 halign = center
font_family = $font valign = center
position = -130, -250 }
halign = right
valign = top # USER
shadow_passes = 2 label {
} monitor =
text = $USER
# KEYBOARD LAYOUT color = rgba(235, 219, 178, .9)
label { font_size = 16
monitor = font_family = CaskaydiaCove Nerd Font
text = $LAYOUT position = 0, -230
color = $text halign = center
font_size = 20 valign = center
font_family = $font }
rotate = 0 # degrees, counter-clockwise
# INPUT FIELD
position = -130, -310 input-field {
halign = right monitor =
valign = top size = 350, 50
shadow_passes = 2 outline_thickness = 0
} rounding = 15
dots_size = 0.25 # Scale of input-field height, 0.2 - 0.8
# USER AVATAR dots_spacing = 0.4 # Scale of dots' absolute size, 0.0 - 1.0
image { dots_center = true
monitor = outer_color = rgba(255, 255, 255, 0)
path = $HOME/.face inner_color = rgba(225, 225, 225, 0.2)
size = 350 color = rgba(235, 219, 178, .9)
border_color = $accent font_color = rgba(235, 219, 178, .9)
rounding = -1 fade_on_empty = false
placeholder_text = <i><span foreground="##ebdbb2e5">Enter Password</span></i>
position = 0, 75 hide_input = false
halign = center position = 0, -300
valign = center halign = center
shadow_passes = 2 valign = center
} }
'';
# INPUT FIELD
input-field {
monitor =
size = 400, 70
outline_thickness = 4
dots_size = 0.2
dots_spacing = 0.2
dots_center = true
outer_color = $accent
inner_color = $surface0
font_color = $text
fade_on_empty = false
placeholder_text = <span foreground="##$textAlpha">󰌾 Logged in as $USER</span>
hide_input = false
check_color = $accent
fail_color = $red
fail_text = <i>$FAIL <b>($ATTEMPTS)</b></i>
capslock_color = $yellow
position = 0, -185
halign = center
valign = center
shadow_passes = 2
}'';
};
} }

View file

@ -1,16 +1,37 @@
{ inputs, pkgs, ... }: { inputs, pkgs, ... }:
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
anki-bin # Learn languages gajim # XMPP client
vimv # Bulk rename nheko # Matrix client
audacity # Record audio stuff linuxKernel.packages.linux_hardened.v4l2loopback # Use A7ii as webcam
obs-studio # Record video stuff # wikit # Wikipedia summaries from the terminal, not added to Nix yet
exiftool # Read exif data from CLI # reader # Firefox reader mode but in the terminal, not added to Nix yet
pinta # "Paint.NET-like editor" vimv # edit filenames in batch with $EDITOR
kdenlive # Video editor iamb # Try CLI Matrix
translate-shell # Google Translate but in the CLI pastel # generate, analyze, convert and manipulate colors
wireguard-tools # VPN connections glow # Render Markdown from the terminal
openresolv # required for wireguard-tools htmlq # jq but for HTML
lemmeknow # Identify anything
android-tools # ADB/Fastboot
eva # Calculator
tofi # drun type launcher
# termpdfpy # Read PDFs from the terminal, errors out for now
anki-bin # Learn languages
vimv # Bulk rename
audacity # Record audio stuff
obs-studio # Record video stuff
exiftool # Read exif data from CLI
pinta # "Paint.NET-like editor"
kdenlive # Video editor
translate-shell # Google Translate but in the CLI
wireguard-tools # VPN connections
openresolv # required for wireguard-tools
prusa-slicer
blender
progress
epy
zip
ripdrag
pwgen pwgen
jq jq
tmux tmux
@ -33,10 +54,11 @@
ripgrep ripgrep
yt-dlp yt-dlp
wineWowPackages.wayland wineWowPackages.wayland
element-desktop # wayland version is very laggy for me # element-desktop # wayland version is very laggy for me
spotify spotify
thunderbird thunderbird
neofetch neofetch
nodejs_22
yarn yarn
# C / C++ # C / C++
@ -53,7 +75,7 @@
mpv # video player mpv # video player
openssl openssl
pamixer # pulseaudio command line mixer pamixer # pulseaudio command line mixer
pavucontrol # pulseaudio volume controle (GUI) lxqt.pavucontrol-qt # pulseaudio volume controle (GUI)
playerctl # controller for media players playerctl # controller for media players
wl-clipboard # clipboard utils for wayland (wl-copy, wl-paste) wl-clipboard # clipboard utils for wayland (wl-copy, wl-paste)
cliphist # clipboard history manager cliphist # clipboard history manager
@ -65,4 +87,8 @@
inputs.alejandra.defaultPackage.${system} inputs.alejandra.defaultPackage.${system}
inputs.nixvim.packages.${pkgs.system}.default inputs.nixvim.packages.${pkgs.system}.default
]; ];
# environment.systemPackages = with pkgs; [
# nodePackages.
# ]
} }

View file

@ -0,0 +1,6 @@
{ ... }:
{
# services = {
# yubikey-touch-detector.enable = true;
# };
}

View file

@ -58,6 +58,7 @@
''; '';
plugins = with pkgs.tmuxPlugins; [ plugins = with pkgs.tmuxPlugins; [
yank yank
fzf-tmux-url
]; ];
}; };
} }

View file

@ -1,6 +1,9 @@
{ config, lib, pkgs, user, ... }: { config, lib, pkgs, user, ... }:
{ {
imports =
[(import ./scripts.nix)];
programs.waybar = { programs.waybar = {
enable = true; enable = true;
package = pkgs.waybar.overrideAttrs (oa: { package = pkgs.waybar.overrideAttrs (oa: {
@ -10,799 +13,6 @@
enable = false; enable = false;
target = "graphical-session.target"; target = "graphical-session.target";
}; };
style = ''
* {
font-family: "JetBrainsMono Nerd Font";
font-size: 12pt;
font-weight: bold;
border-radius: 0px;
transition-property: background-color;
transition-duration: 0.5s;
}
@keyframes blink_red {
to {
background-color: rgb(242, 143, 173);
color: rgb(26, 24, 38);
}
}
.warning, .critical, .urgent {
animation-name: blink_red;
animation-duration: 1s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
window#waybar {
background-color: transparent;
}
window > box {
margin-left: 5px;
margin-right: 5px;
margin-top: 5px;
background-color: rgb(30, 30, 46);
}
#workspaces {
padding-left: 0px;
padding-right: 4px;
}
#workspaces button {
padding-top: 5px;
padding-bottom: 5px;
padding-left: 6px;
padding-right: 6px;
}
#workspaces button.active {
background-color: rgb(181, 232, 224);
color: rgb(26, 24, 38);
}
#workspaces button.urgent {
color: rgb(26, 24, 38);
}
#workspaces button:hover {
background-color: rgb(248, 189, 150);
color: rgb(26, 24, 38);
}
tooltip {
background: rgb(48, 45, 65);
}
tooltip label {
color: rgb(217, 224, 238);
}
#mode, #clock, #memory, #temperature,#cpu,#mpd, #custom-wall, #temperature, #backlight, #pulseaudio, #network, #battery, #custom-powermenu, #custom-cava-internal {
padding-left: 10px;
padding-right: 10px;
}
/* #mode { */
/* margin-left: 10px; */
/* background-color: rgb(248, 189, 150); */
/* color: rgb(26, 24, 38); */
/* } */
#memory {
color: rgb(181, 232, 224);
}
#cpu {
color: rgb(245, 194, 231);
}
#clock {
color: rgb(217, 224, 238);
}
/* #idle_inhibitor {
color: rgb(221, 182, 242);
}*/
#custom-wall {
color: rgb(221, 182, 242);
}
#temperature {
color: rgb(150, 205, 251);
}
#backlight {
color: rgb(248, 189, 150);
}
#pulseaudio {
color: rgb(245, 224, 220);
}
#network {
color: #ABE9B3;
}
#network.disconnected {
color: rgb(255, 255, 255);
}
#battery.charging, #battery.full, #battery.discharging {
color: rgb(250, 227, 176);
}
#battery.critical:not(.charging) {
color: rgb(242, 143, 173);
}
#custom-powermenu {
color: rgb(242, 143, 173);
}
#tray {
padding-right: 8px;
padding-left: 10px;
}
#mpd.paused {
color: #414868;
font-style: italic;
}
#mpd.stopped {
background: transparent;
}
#mpd {
color: #c0caf5;
}
#custom-cava-internal{
font-family: "Hack Nerd Font" ;
}
'';
settings = [{
"layer" = "top";
"position" = "top";
modules-left = [
"hyprland/workspaces"
"temperature"
#"idle_inhibitor"
"mpd"
"custom/cava-internal"
];
modules-center = [
"clock"
];
modules-right = [
"pulseaudio"
"backlight"
"memory"
"cpu"
"network"
"battery"
"custom/powermenu"
"tray"
];
"custom/cava-internal" = {
"exec" = "sleep 1s && cava-internal";
"tooltip" = false;
};
"hyprland/workspaces" = {
"format" = "{icon}";
"on-click" = "activate";
# "on-scroll-up" = "hyprctl dispatch workspace e+1";
# "on-scroll-down" = "hyprctl dispatch workspace e-1";
};
"idle_inhibitor" = {
"format" = "{icon}";
"format-icons" = {
"activated" = "";
"deactivated" = "";
};
"tooltip" = false;
};
"backlight" = {
"device" = "intel_backlight";
"on-scroll-up" = "light -A 5";
"on-scroll-down" = "light -U 5";
"format" = "{icon} {percent}%";
"format-icons" = [ "󰃝" "󰃞" "󰃟" "󰃠" ];
};
"pulseaudio" = {
"scroll-step" = 1;
"format" = "{icon} {volume}%";
"format-muted" = "󰖁 Muted";
"format-icons" = {
"default" = [ "" "" "" ];
};
"on-click" = "pamixer -t";
"tooltip" = false;
};
"battery" = {
"interval" = 10;
"states" = {
"warning" = 20;
"critical" = 10;
};
"format" = "{icon} {capacity}%";
"format-icons" = [ "󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹" ];
"format-full" = "{icon} {capacity}%";
"format-charging" = "󰂄 {capacity}%";
"tooltip" = false;
};
"clock" = {
"interval" = 1;
"format" = "{:%I:%M %p %A %b %d}";
"tooltip" = true;
/* "tooltip-format"= "{=%A; %d %B %Y}\n<tt>{calendar}</tt>" */
"tooltip-format" = "\nPs\nGolang\n<tt>{calendar}</tt>";
};
"memory" = {
"interval" = 1;
"format" = "󰍛 {percentage}%";
"states" = {
"warning" = 85;
};
};
"cpu" = {
"interval" = 1;
"format" = "󰻠 {usage}%";
};
"mpd" = {
"max-length" = 25;
"format" = "<span foreground='#bb9af7'></span> {title}";
"format-paused" = " {title}";
"format-stopped" = "<span foreground='#bb9af7'></span>";
"format-disconnected" = "";
"on-click" = "mpc --quiet toggle";
"on-click-right" = "mpc update; mpc ls | mpc add";
"on-click-middle" = "kitty --class='ncmpcpp' ncmpcpp ";
"on-scroll-up" = "mpc --quiet prev";
"on-scroll-down" = "mpc --quiet next";
"smooth-scrolling-threshold" = 5;
"tooltip-format" = "{title} - {artist} ({elapsedTime:%M:%S}/{totalTime:%H:%M:%S})";
};
"network" = {
"format-disconnected" = "󰯡 Disconnected";
"format-ethernet" = "󰀂 {ifname} ({ipaddr})";
"format-linked" = "󰖪 {essid} (No IP)";
"format-wifi" = "󰖩 {essid}";
"interval" = 1;
"tooltip" = false;
};
"temperature" = {
# "hwmon-path"= "${env:HWMON_PATH}";
#"critical-threshold"= 80;
"tooltip" = false;
"format" = " {temperatureC}°C";
};
"custom/powermenu" = {
"format" = "";
"on-click" = "pkill rofi || ~/.config/rofi/powermenu.sh";
"tooltip" = false;
};
"tray" = {
"icon-size" = 15;
"spacing" = 5;
};
}];
};
#other config & style
home.file = {
".config/waybar/light_config".text = ''
[
{
"backlight": {
"device": "intel_backlight",
"format": "{icon} {percent}%",
"format-icons": [
"󰃝", "󰃞", "󰃟", "󰃠"
],
"on-scroll-down": "light -U 5",
"on-scroll-up": "light -A 5"
},
"battery": {
"format": "{icon} {capacity}%",
"format-charging": "󰂄 {capacity}%",
"format-full": "{icon} {capacity}%",
"format-icons": [
"󰁺", "󰁻", "󰁼", "󰁽", "󰁾", "󰁿", "󰂀", "󰂁", "󰂂", "󰁹"
],
"interval": 10,
"states": {
"critical": 10,
"warning": 20
},
"tooltip": false
},
"clock": {
"format": "{:%I:%M %p %A %b %d}",
"interval": 1,
"tooltip": true,
"tooltip-format": "\nPs\nGolang\n<tt>{calendar}</tt>"
},
"cpu": {
"format": "󰻠 {usage}%",
"interval": 1
},
"custom/cava-internal": {
"exec": "sleep 1s && cava-internal",
"tooltip": false
},
"custom/powermenu": {
"format": "",
"on-click": "pkill rofi || ~/.config/rofi/powermenu.sh",
"tooltip": false
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
},
"tooltip": false
},
"layer": "top",
"memory": {
"format": "󰍛 {percentage}%",
"interval": 1,
"states": {
"warning": 85
}
},
"modules-center": [
"clock"
],
"modules-left": [
"hyprland/workspaces",
"temperature",
//"idle_inhibitor",
"mpd",
"custom/cava-internal"
],
"modules-right": [
"pulseaudio",
"backlight",
"memory",
"cpu",
"network",
"battery",
"custom/powermenu",
"tray"
],
"mpd": {
"format": "<span foreground='#FF99FF'></span> {title}",
"format-disconnected": "",
"format-paused": " {title}",
"format-stopped": "<span foreground='#bb9af7'></span>",
"max-length": 25,
"on-click": "mpc --quiet toggle",
"on-click-middle": "kitty --class='ncmpcpp' ncmpcpp ",
"on-click-right": "mpc update; mpc ls | mpc add",
"on-scroll-down": "mpc --quiet next",
"on-scroll-up": "mpc --quiet prev",
"smooth-scrolling-threshold": 5,
"tooltip-format": "{title} - {artist} ({elapsedTime:%M:%S}/{totalTime:%H:%M:%S})"
},
"network": {
"interval": 1,
"format-wifi": "󰖩 {essid}",
"format-ethernet": "󰀂 {ifname} ({ipaddr})",
"format-linked": "󰖪 {essid} (No IP)",
"format-disconnected": "󰯡 Disconnected",
"tooltip": false,
},
"position": "top",
"pulseaudio": {
"format": "{icon} {volume}%",
"format-icons": {
"default": [
"",
"",
""
]
},
"format-muted": "󰖁 Muted",
"on-click": "pamixer -t",
"scroll-step": 1,
"tooltip": false
},
"temperature": {
"format": " {temperatureC}°C",
"tooltip": false
},
"tray": {
"icon-size": 15,
"spacing": 5
},
"hyprland/workspaces": {
"format": "{icon}",
"on-click": "activate",
"active-only": false,
}
}
]
'';
".config/waybar/light_style.css".text = ''
* {
font-family: "JetBrainsMono Nerd Font";
font-size: 12pt;
font-weight: bold;
border-radius: 0px;
transition-property: background-color;
transition-duration: 0.5s;
}
@keyframes blink_red {
to {
background-color: rgb(242, 143, 173);
color: rgb(26, 24, 38);
}
}
.warning, .critical, .urgent {
animation-name: blink_red;
animation-duration: 1s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
window#waybar {
background-color: transparent;
}
window > box {
margin-left: 5px;
margin-right: 5px;
margin-top: 5px;
background-color: rgb(250, 244, 252);
}
#workspaces {
padding-left: 0px;
padding-right: 4px;
}
#workspaces button {
padding-top: 5px;
padding-bottom: 5px;
padding-left: 6px;
padding-right: 6px;
color:#99CCFF;
}
#workspaces button.active {
background-color: rgb(181, 232, 224);
color: rgb(26, 24, 38);
}
#workspaces button.urgent {
color: rgb(26, 24, 38);
}
#workspaces button:hover {
background-color: #CCCCFF;
color: rgb(26, 24, 38);
}
tooltip {
/* background: rgb(250, 244, 252); */
background: rgb(250, 244, 252);
}
tooltip label {
color: rgb(65, 72, 104);
}
#mode, #clock, #memory, #temperature,#cpu,#mpd, #custom-wall, #temperature, #backlight, #pulseaudio, #network, #battery, #custom-powermenu, #custom-cava-internal {
padding-left: 10px;
padding-right: 10px;
}
/* #mode { */
/* margin-left: 10px; */
/* background-color: rgb(248, 189, 150); */
/* color: rgb(26, 24, 38); */
/* } */
#memory {
color: #66CCFF;
}
#cpu {
color: #FF99FF;
}
#clock {
color: rgb(65, 72, 104);
}
/*
#idle_inhibitor {
color: #FF6699;
}*/
#custom-wall {
color: #FF6699;
}
#temperature {
color: #9933FF;
}
#backlight {
color: #6666FF;
}
#pulseaudio {
color: #FF9900;
}
#network {
color: #00CC66;
}
#network.disconnected {
color: #99CCCC;
}
#battery.charging, #battery.full, #battery.discharging {
color: #FF99CC;
}
#battery.critical:not(.charging) {
color: rgb(242, 143, 173);
}
#custom-powermenu {
color: #FF0066;
}
#tray {
padding-right: 8px;
padding-left: 10px;
}
#tray menu {
background: rgb(250, 244, 252);
color:rgb(192, 202, 245);
}
#mpd.paused {
color: rgb(192, 202, 245);
font-style: italic;
}
#mpd.stopped {
background: transparent;
}
#mpd {
color: rgb(65, 72, 104);
/* color: #c0caf5; */
}
#custom-cava-internal{
font-family: "Hack Nerd Font" ;
}
'';
};
home.file = {
".config/waybar/nord_config".text = ''
[
{
"backlight": {
"device": "intel_backlight",
"format": "{icon} {percent}%",
"format-icons": [
"󰃝", "󰃞", "󰃟", "󰃠"
],
"on-scroll-down": "light -U 5",
"on-scroll-up": "light -A 5"
},
"battery": {
"format": "{icon} {capacity}%",
"format-charging": "󰂄 {capacity}%",
"format-full": "{icon} {capacity}%",
"format-icons": [
"󰁺", "󰁻", "󰁼", "󰁽", "󰁾", "󰁿", "󰂀", "󰂁", "󰂂", "󰁹"
],
"interval": 10,
"states": {
"critical": 10,
"warning": 20
},
"tooltip": false
},
"clock": {
"format": "{:%I:%M %p %A %b %d}",
"interval": 1,
"tooltip": true,
"tooltip-format": "\nPs\nGolang\n<tt>{calendar}</tt>"
},
"cpu": {
"format": "󰻠 {usage}%",
"interval": 1
},
"custom/cava-internal": {
"exec": "sleep 1s && cava-internal",
"tooltip": false
},
"custom/powermenu": {
"format": "",
"on-click": "pkill rofi || ~/.config/rofi/powermenu.sh",
"tooltip": false
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
},
"tooltip": false
},
"layer": "top",
"memory": {
"format": "󰍛 {percentage}%",
"interval": 1,
"states": {
"warning": 85
}
},
"modules-center": [
"clock"
],
"modules-left": [
"hyprland/workspaces",
"temperature",
//"idle_inhibitor",
"mpd",
"custom/cava-internal"
],
"modules-right": [
"pulseaudio",
"backlight",
"memory",
"cpu",
"network",
"battery",
"custom/powermenu",
"tray"
],
"mpd": {
"format": "<span foreground='#8EBBBA'></span> {title}",
"format-disconnected": "",
"format-paused": " {title}",
"format-stopped": "<span foreground='#bb9af7'></span>",
"max-length": 25,
"on-click": "mpc --quiet toggle",
"on-click-middle": "kitty --class='ncmpcpp' ncmpcpp ",
"on-click-right": "mpc update; mpc ls | mpc add",
"on-scroll-down": "mpc --quiet next",
"on-scroll-up": "mpc --quiet prev",
"smooth-scrolling-threshold": 5,
"tooltip-format": "{title} - {artist} ({elapsedTime:%M:%S}/{totalTime:%H:%M:%S})"
},
"network": {
"format-disconnected": "󰯡 Disconnected",
"format-ethernet": "󰀂 {ifname} ({ipaddr})",
"format-linked": "󰖪 {essid} (No IP)",
"format-wifi": "󰖩 {essid}",
"interval": 1,
"tooltip": false
},
"position": "top",
"pulseaudio": {
"format": "{icon} {volume}%",
"format-icons": {
"default": [
"",
"",
""
]
},
"format-muted": "󰖁 Muted",
"on-click": "pamixer -t",
"scroll-step": 1,
"tooltip": false
},
"temperature": {
"format": " {temperatureC}°C",
"tooltip": false
},
"tray": {
"icon-size": 15,
"spacing": 5
},
"hyprland/workspaces": {
"format": "{icon}",
"on-click": "activate",
"active-only": false,
}
}
]
'';
".config/waybar/nord_style.css".text = ''
* {
font-family: "JetBrainsMono Nerd Font";
font-size: 12pt;
font-weight: bold;
border-radius: 0px;
transition-property: background-color;
transition-duration: 0.5s;
}
@keyframes blink_red {
to {
background-color: rgb(242, 143, 173);
color: rgb(26, 24, 38);
}
}
.warning, .critical, .urgent {
animation-name: blink_red;
animation-duration: 1s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
window#waybar {
background-color: transparent;
}
window > box {
margin-left: 5px;
margin-right: 5px;
margin-top: 5px;
background-color: #3b4252;
}
#workspaces {
padding-left: 0px;
padding-right: 4px;
}
#workspaces button {
padding-top: 5px;
padding-bottom: 5px;
padding-left: 6px;
padding-right: 6px;
color:#D8DEE9;
}
#workspaces button.active {
background-color: rgb(181, 232, 224);
color: rgb(26, 24, 38);
}
#workspaces button.urgent {
color: rgb(26, 24, 38);
}
#workspaces button:hover {
background-color: #B38DAC;
color: rgb(26, 24, 38);
}
tooltip {
/* background: rgb(250, 244, 252); */
background: #3b4253;
}
tooltip label {
color: #E4E8EF;
}
#mode, #clock, #memory, #temperature,#cpu,#mpd, #custom-wall, #temperature, #backlight, #pulseaudio, #network, #battery, #custom-powermenu, #custom-cava-internal {
padding-left: 10px;
padding-right: 10px;
}
/* #mode { */
/* margin-left: 10px; */
/* background-color: rgb(248, 189, 150); */
/* color: rgb(26, 24, 38); */
/* } */
#memory {
color: #8EBBBA;
}
#cpu {
color: #B38DAC;
}
#clock {
color: #E4E8EF;
}
/*
#idle_inhibitor {
color: #FF6699;
}*/
#custom-wall {
color: #B38DAC;
}
#temperature {
color: #80A0C0;
}
#backlight {
color: #A2BD8B;
}
#pulseaudio {
color: #E9C98A;
}
#network {
color: #99CC99;
}
#network.disconnected {
color: #CCCCCC;
}
#battery.charging, #battery.full, #battery.discharging {
color: #CF876F;
}
#battery.critical:not(.charging) {
color: #D6DCE7;
}
#custom-powermenu {
color: #BD6069;
}
#tray {
padding-right: 8px;
padding-left: 10px;
}
#tray menu {
background: #3b4252;
color: #DEE2EA;
}
#mpd.paused {
color: rgb(192, 202, 245);
font-style: italic;
}
#mpd.stopped {
background: transparent;
}
#mpd {
color: #E4E8EF;
/* color: #c0caf5; */
}
#custom-cava-internal{
font-family: "Hack Nerd Font" ;
}
'';
}; };
} }

View file

@ -1,6 +0,0 @@
{ ... }:
{
imports = [ (import ./waybar.nix) ]
++ [ (import ./settings.nix) ]
++ [ (import ./style.nix) ];
}

View file

@ -1,118 +0,0 @@
{ ... }:
{
programs.waybar.settings.mainBar = {
position= "top";
layer= "top";
height= 5;
margin-top= 0;
margin-bottom= 0;
margin-left= 0;
margin-right= 0;
modules-left= [
# "custom/launcher"
"hyprland/workspaces"
];
modules-center= [
"clock"
];
modules-right= [
# "cpu"
# "memory"
# "disk"
"pulseaudio"
"battery"
#"network"
"tray"
];
clock= {
calendar = {
format = { today = "<span color='#b4befe'><b><u>{}</u></b></span>"; };
};
format = " {:%H:%M}";
tooltip= "true";
tooltip-format= "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
format-alt= " {:%d/%m}";
};
"hyprland/workspaces"= {
active-only= false;
disable-scroll= true;
format = "{icon}";
on-click= "activate";
format-icons= {
"1"= "1";
"2"= "2";
"3"= "3";
"4"= "4";
"5"= "5";
"6"= "6";
"7"= "7";
"8"= "8";
"9"= "9";
"10"= "10";
urgent= "";
default = "";
sort-by-number= true;
};
# persistent-workspaces = {
# "1"= [];
# "2"= [];
# "3"= [];
# };
};
memory= {
format= "󰟜 {}%";
format-alt= "󰟜 {used} GiB"; # 
interval= 2;
};
cpu= {
format= " {usage}%";
format-alt= " {avg_frequency} GHz";
interval= 2;
};
disk = {
# path = "/";
format = "󰋊 {percentage_used}%";
interval= 60;
};
network = {
format-wifi = " {signalStrength}%";
format-ethernet = "󰀂 ";
tooltip-format = "Connected to {essid} {ifname} via {gwaddr}";
format-linked = "{ifname} (No IP)";
format-disconnected = "󰖪 ";
};
tray= {
icon-size= 20;
spacing = 2; # was 8 originally
};
pulseaudio= {
format= "{icon} {volume}%";
format-muted= "󰖁 {volume}%";
format-icons= {
default= [" "];
};
scroll-step= 5;
on-click= "pamixer -t";
};
battery = {
format = "{icon} {capacity}%";
format-icons = [" " " " " " " " " "];
format-charging = " {capacity}%";
format-full = " {capacity}%";
format-warning = " {capacity}%";
interval = 5;
states = {
warning = 20;
};
format-time = "{H}h{M}m";
tooltip = true;
tooltip-format = "{time}";
};
"custom/launcher"= {
format= "";
on-click= "pkill wofi || wofi --show drun";
on-click-right= "pkill wofi || wallpaper-picker";
tooltip= "false";
};
};
}

View file

@ -1,99 +0,0 @@
{ ... }:
let custom = {
font = "JetBrainsMono Nerd Font";
font_size = "10px";
font_weight = "bold";
text_color = "#cdd6f4";
secondary_accent= "89b4fa";
tertiary_accent = "f5f5f5";
background = "11111B";
opacity = "0.98";
};
in
{
programs.waybar.style = ''
* {
border: none;
border-radius: 0px;
padding: 0;
margin: 0;
min-height: 0px;
font-family: ${custom.font};
font-weight: ${custom.font_weight};
opacity: ${custom.opacity};
}
window#waybar {
background: none;
}
#workspaces {
font-size: 10px;
padding-left: 15px;
}
#workspaces button {
color: ${custom.text_color};
padding-left: 6px;
padding-right: 6px;
}
#workspaces button.empty {
color: #6c7086;
}
#workspaces button.active {
color: #b4befe;
}
#tray, #pulseaudio, #network, #cpu, #memory, #disk, #clock, #battery {
font-size: ${custom.font_size};
color: ${custom.text_color};
}
#cpu {
padding-left: 15px;
padding-right: 9px;
margin-left: 7px;
}
#memory {
padding-left: 9px;
padding-right: 9px;
}
#disk {
padding-left: 9px;
padding-right: 15px;
}
#tray {
padding: 0 20px;
margin-left: 7px;
}
#pulseaudio {
padding-left: 15px;
padding-right: 9px;
margin-left: 7px;
}
#battery {
padding-left: 9px;
padding-right: 9px;
}
#network {
padding-left: 9px;
padding-right: 15px;
}
#clock {
padding-left: 9px;
padding-right: 15px;
}
#custom-launcher {
font-size: 20px;
color: #b4befe;
font-weight: ${custom.font_weight};
padding-left: 10px;
padding-right: 15px;
}
'';
}

View file

@ -1,9 +0,0 @@
{ pkgs, ... }:
{
programs.waybar = {
enable = true;
};
programs.waybar.package = pkgs.waybar.overrideAttrs (oa: {
mesonFlags = (oa.mesonFlags or [ ]) ++ [ "-Dexperimental=true" ];
});
}

View file

@ -0,0 +1,110 @@
{ pkgs, username, ... }:
{
home.file = {
"/home/${username}/.local/bin/waybar-screenrecord" = {
executable = true;
text = ''
#!/bin/sh
output_off="{\"text\": \"<span color='#aaaaaa'></span>\", \"tooltip\": \"Not recording\", \"alt\": \"\", \"class\": \"\" }"
output_rec="{\"text\": \"<span color='#e98989'></span>\", \"tooltip\": \"Recording\", \"alt\": \"\", \"class\": \"\" }"
pidof wf-recorder > /dev/null 2>&1
if [ $? -eq 0 ]
then
if [[ "$1" == "toggle" ]]
then
killall -s SIGINT wf-recorder > /dev/null 2>&1
notify-send -a screenrecorder -t 3000 'Screen recording' "Screen recording was stopped!"
echo -n $output_off
exit 0
fi
echo -n $output_rec
exit 0
else
if [[ "$1" == "toggle" ]]
then
geometry=$(slurp)
if [ $? -eq 0 ]
then
notify-send -a screenrecorder -t 3000 'Screen recording' "Screen recording was started!"
sleep 3
wf-recorder -f "$HOME/downloads/$(date +'screenrecording_%Y-%m-%d-%H%M%S.mp4')" -g "$geometry" > /dev/null 2>&1 &
echo -n $output_rec
exit 0
fi
fi
echo -n $output_off
exit 0
fi
'';
};
"/home/${username}/.local/bin/waybar-bluetooth" = {
executable = true;
text = ''
#!/usr/bin/env zsh
typeset -A known=(
'headphones' '38:18:4C:D1:AE:48'
'airpods' '2C:18:09:EF:BD:11'
)
function get_addr_or_fail () {
if [ "$known[$1]" = "" ]
then
printf 'No device specified\n'
exit 1
fi
printf "$known[$1]"
}
case "$1" in
"list")
for k v ("''${(@kv)known}") printf "$k\n"
;;
"toggle")
device=""
tmp="$2"
if [ "$tmp" = "" ]
then
tmp=$($0 list | bemenu)
fi
device=$(get_addr_or_fail "$tmp")
is_connected=$(bluetoothctl info $device | grep -i 'connected: yes')
if [ "$is_connected" != "" ]
then
bluetoothctl disconnect $device
else
bluetoothctl connect $device
fi
;;
"status")
device=$(get_addr_or_fail "$2")
is_connected=$(bluetoothctl info $device | grep -i 'connected: yes')
if [ "$is_connected" != "" ]
then
echo "{\"text\": \"Connected\", \"class\": \"custom-btdevice\", \"alt\": \"connected\" }"
else
echo "{\"text\": \"Disconnected\", \"class\": \"custom-btdevice\", \"alt\": \"disconnected\" }"
fi
;;
*)
printf "$0 list|toggle <device>|status <device>\n"
exit 1
;;
esac
'';
# "/home/${username}/.local/bin/waybar-cpu" = {
# executable = true;
# text = ''
# '';
# };
};
};
home.packages = with pkgs; [
wf-recorder
bemenu
];
}

View file

@ -0,0 +1,3 @@
{ ... }: {
services.wlsunset.enable = true;
}

View file

@ -17,6 +17,8 @@
# Make Vi mode transitions faster (in hundredths of a second) # Make Vi mode transitions faster (in hundredths of a second)
# KEYTIMEOUT = 1; # KEYTIMEOUT = 1;
LANG = "en_US.UTF-8"; LANG = "en_US.UTF-8";
EDITOR = "nvim";
SYSTEMD_LESS = "FRXMK"; # Fix weird sideways scrolling in systemctl status ...
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE = "fg=#808080"; ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE = "fg=#808080";
ZSH_AUTOSUGGEST_USE_ASYNC = 1; ZSH_AUTOSUGGEST_USE_ASYNC = 1;
HISTSIZE = 100000; HISTSIZE = 100000;
@ -94,8 +96,34 @@
bindkey -M menuselect 'j' vi-down-line-or-history bindkey -M menuselect 'j' vi-down-line-or-history
bindkey -M menuselect 'l' vi-forward-char bindkey -M menuselect 'l' vi-forward-char
function jitsi-link() {
url=$(printf "https://meet.jit.si/%s" "$(uuidgen)")
printf "%s" "''${url}" | wl-copy
printf "%s\n" "''${url}"
}
''; '';
zsh-abbr = {
enable = true;
abbreviations = {
mkdir="mkdir -p";
vim="nvim";
v="nvim";
vi="nvim";
nv="nvim";
nvi="nvim";
gc="git clone";
ga="git add .";
gcm="git commit -m";
gph="git push -u origin main";
g="git";
calc="eva";
wikipedia="wikit";
};
};
# setOptions = [ # setOptions = [
# # Corrections # # Corrections
# "CORRECT" # "CORRECT"
@ -115,6 +143,7 @@
# ]; # ];
shellAliases = { shellAliases = {
convert = "magick";
ls = "eza -lh --git"; ls = "eza -lh --git";
la = "eza -A --git"; la = "eza -A --git";
ll = "eza -l --git"; ll = "eza -l --git";
@ -149,16 +178,6 @@
}; };
file = "zsh-syntax-highlighting.zsh"; file = "zsh-syntax-highlighting.zsh";
} }
{
name = "zsh-abbr";
src = fetchFromGitHub {
owner = "olets";
repo = "zsh-abbr";
rev = "752e9fcc4daff680545c30f8f857913d66f6f5e6";
sha256 = "sha256-HY/F43fpWn1PBYb2c+qp0CyF3hpSFHUZdZLZRS1d9Yc=";
};
file = "zsh-abbr.sh";
}
{ {
name = "zsh-autopair"; name = "zsh-autopair";
src = fetchFromGitHub { src = fetchFromGitHub {