This commit is contained in:
Mars 2024-06-26 03:14:20 -04:00
parent 34ab1b9119
commit 6794105303
Signed by: pupbrained
GPG key ID: 0FF5B8826803F895
7 changed files with 783 additions and 612 deletions

View file

@ -39,11 +39,11 @@
},
"catppuccin": {
"locked": {
"lastModified": 1718339789,
"narHash": "sha256-Q3fgY7huFE+uaw7BNsAl1x+FvjDAi3EDWPnlALJt5pM=",
"lastModified": 1719311390,
"narHash": "sha256-eP+SydN7alV3ln7a1BrGhDoLVTBa6RaHxYZ9bTHAQIA=",
"owner": "catppuccin",
"repo": "nix",
"rev": "73e06d5bd7ed34bdd0168030893ef8364fdc1d4a",
"rev": "1adbfeb44a54be0ae79eca751ba948a6faa3bb0f",
"type": "github"
},
"original": {
@ -63,11 +63,11 @@
"yafas": "yafas"
},
"locked": {
"lastModified": 1718291710,
"narHash": "sha256-yp3pQStGFCd0qSAULA7RaI9evMRZHPuN4dUuNNOhH80=",
"lastModified": 1719337945,
"narHash": "sha256-huUuEiHzpqex8wiREzXpi8nose3zSFQebOH+eFCIvRQ=",
"owner": "chaotic-cx",
"repo": "nyx",
"rev": "edbd85ef842fad14b8fe26cad2067868674dcf8d",
"rev": "ea7cff23f3f25e1c6958f29f9aa623234a55d52c",
"type": "github"
},
"original": {
@ -558,11 +558,11 @@
]
},
"locked": {
"lastModified": 1717664902,
"narHash": "sha256-7XfBuLULizXjXfBYy/VV+SpYMHreNRHk9nKMsm1bgb4=",
"lastModified": 1719259945,
"narHash": "sha256-F1h+XIsGKT9TkGO3omxDLEb/9jOOsI6NnzsXFsZhry4=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "cc4d466cb1254af050ff7bdf47f6d404a7c646d1",
"rev": "0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07",
"type": "github"
},
"original": {
@ -650,11 +650,11 @@
]
},
"locked": {
"lastModified": 1718243258,
"narHash": "sha256-abBpj2VU8p6qlRzTU8o22q68MmOaZ4v8zZ4UlYl5YRU=",
"lastModified": 1719180626,
"narHash": "sha256-vZAzm5KQpR6RGple1dzmSJw5kPivES2heCFM+ZWkt0I=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "8d5e27b4807d25308dfe369d5a923d87e7dbfda3",
"rev": "6b1f90a8ff92e81638ae6eb48cd62349c3e387bb",
"type": "github"
},
"original": {
@ -670,11 +670,11 @@
]
},
"locked": {
"lastModified": 1718243258,
"narHash": "sha256-abBpj2VU8p6qlRzTU8o22q68MmOaZ4v8zZ4UlYl5YRU=",
"lastModified": 1719180626,
"narHash": "sha256-vZAzm5KQpR6RGple1dzmSJw5kPivES2heCFM+ZWkt0I=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "8d5e27b4807d25308dfe369d5a923d87e7dbfda3",
"rev": "6b1f90a8ff92e81638ae6eb48cd62349c3e387bb",
"type": "github"
},
"original": {
@ -692,11 +692,11 @@
]
},
"locked": {
"lastModified": 1718141734,
"narHash": "sha256-cA+6l8ZCZ7MXGijVuY/1f55+wF/RT4PlTR9+g4bx86w=",
"lastModified": 1719180626,
"narHash": "sha256-vZAzm5KQpR6RGple1dzmSJw5kPivES2heCFM+ZWkt0I=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "892f76bd0aa09a0f7f73eb41834b8a904b6d0fad",
"rev": "6b1f90a8ff92e81638ae6eb48cd62349c3e387bb",
"type": "github"
},
"original": {
@ -742,11 +742,11 @@
]
},
"locked": {
"lastModified": 1718368322,
"narHash": "sha256-VfMg3RsnRLQzbq0hFIh1dCM09b5C/F/qPFUOgU/CRi0=",
"lastModified": 1718450675,
"narHash": "sha256-jpsns6buS4bK+1sF8sL8AaixAiCRjA+nldTKvcwmvUs=",
"owner": "hyprwm",
"repo": "hyprcursor",
"rev": "dd3a853c8239d1c3f3f37de7d2b8ae4b4f3840df",
"rev": "66d5b46ff94efbfa6fa3d1d1b66735f1779c34a6",
"type": "github"
},
"original": {
@ -766,11 +766,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1718480796,
"narHash": "sha256-BMLFzvIn5Qdrfc1zyIXWTMA5FHx+R9JNDJ7dkwbvdzk=",
"lastModified": 1719350558,
"narHash": "sha256-oACeKBS762XSJbN/rz5Y2xPYGzWQHhwDqn+CeODuWsM=",
"ref": "refs/heads/main",
"rev": "1f5fd7e64a1c0e8d1815bdd6d168193bf9c28d6d",
"revCount": 4839,
"rev": "e4d09aa3a9de9a9e71c10bf4b6800585b3db9a4c",
"revCount": 4891,
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
@ -798,11 +798,11 @@
]
},
"locked": {
"lastModified": 1718479633,
"narHash": "sha256-Bw3JRBUZg2kmDwxa/UHvD//gGcNjbftTj2MSeLvx1q8=",
"lastModified": 1719318037,
"narHash": "sha256-TnlAcO5K2gkab0mpKurP5Co6eWRycP/KbFqWNS2rsMA=",
"owner": "hyprwm",
"repo": "hyprland-plugins",
"rev": "d92d9d6cd93b731143119cbcab54dcc7a0481131",
"rev": "3ae670253a5a3ae1e3a3104fb732a8c990a31487",
"type": "github"
},
"original": {
@ -825,11 +825,11 @@
]
},
"locked": {
"lastModified": 1691753796,
"narHash": "sha256-zOEwiWoXk3j3+EoF3ySUJmberFewWlagvewDRuWYAso=",
"lastModified": 1714869498,
"narHash": "sha256-vbLVOWvQqo4n1yvkg/Q70VTlPbMmTiCQfNTgcWDCfJM=",
"owner": "hyprwm",
"repo": "hyprland-protocols",
"rev": "0c2ce70625cb30aef199cb388f99e19a61a6ce03",
"rev": "e06482e0e611130cd1929f75e8c1cf679e57d161",
"type": "github"
},
"original": {
@ -879,11 +879,11 @@
]
},
"locked": {
"lastModified": 1718271409,
"narHash": "sha256-8KvVqtApNt4FWTdn1TqVvw00rpqyG9UuUPA2ilPVD1U=",
"lastModified": 1719316102,
"narHash": "sha256-dmRz128j/lJmMuTYeCYPfSBRHHQO3VeH4PbmoyAhHzw=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "8e10e0626fb26a14b859b3811b6ed7932400c86e",
"rev": "1f6bbec5954f623ff8d68e567bddcce97cd2f085",
"type": "github"
},
"original": {
@ -904,11 +904,11 @@
]
},
"locked": {
"lastModified": 1718119275,
"narHash": "sha256-nqDYXATNkyGXVmNMkT19fT4sjtSPBDS1LLOxa3Fueo4=",
"lastModified": 1719067853,
"narHash": "sha256-mAnZG/eQy72Fp1ImGtqCgUrDumnR1rMZv2E/zgP4U74=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "1419520d5f7f38d35e05504da5c1b38212a38525",
"rev": "914f083741e694092ee60a39d31f693d0a6dc734",
"type": "github"
},
"original": {
@ -919,11 +919,11 @@
},
"impermanence": {
"locked": {
"lastModified": 1717932370,
"narHash": "sha256-7C5lCpiWiyPoIACOcu2mukn/1JRtz6HC/1aEMhUdcw0=",
"lastModified": 1719091691,
"narHash": "sha256-AxaLX5cBEcGtE02PeGsfscSb/fWMnyS7zMWBXQWDKbE=",
"owner": "nix-community",
"repo": "impermanence",
"rev": "27979f1c3a0d3b9617a3563e2839114ba7d48d3f",
"rev": "23c1f06316b67cb5dabdfe2973da3785cfe9c34a",
"type": "github"
},
"original": {
@ -941,11 +941,11 @@
]
},
"locked": {
"lastModified": 1718173451,
"narHash": "sha256-ySzjpSDAmecKsoSqgqjKfEsgzRMiI87pLLJgY8haP+s=",
"lastModified": 1719292813,
"narHash": "sha256-6w/buoRKo4ijH9O4D/0KjNtiWjtrJebuV7djTEEa0+k=",
"owner": "Jovian-Experiments",
"repo": "Jovian-NixOS",
"rev": "326c1ab2b816f520d298b7a4319a0b50cde01c48",
"rev": "d6222e7818aa5528f8369afe84bc53556a57c329",
"type": "github"
},
"original": {
@ -998,11 +998,11 @@
]
},
"locked": {
"lastModified": 1717976995,
"narHash": "sha256-u3HBinyIyUvL1+N816bODpJmSQdgn0Mbb8BprFw7kqo=",
"lastModified": 1719128254,
"narHash": "sha256-I7jMpq0CAOZA/i70+HDQO/ulLttyQu/K70cSESiMX7A=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "315aa649ba307704db0b16c92f097a08a65ec955",
"rev": "50581970f37f06a4719001735828519925ef8310",
"type": "github"
},
"original": {
@ -1041,11 +1041,11 @@
]
},
"locked": {
"lastModified": 1718507237,
"narHash": "sha256-xBEWCxWeRpWQggFFp8ugJCDa63cOJsVvx71R9F0Eowg=",
"lastModified": 1719111455,
"narHash": "sha256-rnIxHx+fLpydjMQsbpZ21kblUr/lMqSaAtMA4+qMMEE=",
"owner": "nix-community",
"repo": "nix-index-database",
"rev": "6af2c5e58c20311276f59d247341cafeebfcb6f4",
"rev": "4293f532d0107dfb7e6f8b34a0421dc8111320e6",
"type": "github"
},
"original": {
@ -1170,16 +1170,16 @@
},
"nixpkgs_10": {
"locked": {
"lastModified": 1716948383,
"narHash": "sha256-SzDKxseEcHR5KzPXLwsemyTR/kaM9whxeiJohbL04rs=",
"lastModified": 1718419000,
"narHash": "sha256-v4+aJpRDbJil691DXo5SydqowcB01B6E9+wFH/pNk6k=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ad57eef4ef0659193044870c731987a6df5cf56b",
"rev": "24b048f70e34020c93ed7c11491bc050ff6eb142",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"ref": "nixos-unstable-small",
"repo": "nixpkgs",
"type": "github"
}
@ -1202,11 +1202,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1718160348,
"narHash": "sha256-9YrUjdztqi4Gz8n3mBuqvCkMo4ojrA6nASwyIKWMpus=",
"lastModified": 1719075281,
"narHash": "sha256-CyyxvOwFf12I91PBWz43iGT1kjsf5oi6ax7CrvaMyAo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "57d6973abba7ea108bac64ae7629e7431e0199b6",
"rev": "a71e967ef3694799d0c418c98332f7ff4cc5f6af",
"type": "github"
},
"original": {
@ -1218,11 +1218,11 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1718318537,
"narHash": "sha256-4Zu0RYRcAY/VWuu6awwq4opuiD//ahpc2aFHg2CWqFY=",
"lastModified": 1719075281,
"narHash": "sha256-CyyxvOwFf12I91PBWz43iGT1kjsf5oi6ax7CrvaMyAo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "e9ee548d90ff586a6471b4ae80ae9cfcbceb3420",
"rev": "a71e967ef3694799d0c418c98332f7ff4cc5f6af",
"type": "github"
},
"original": {
@ -1250,11 +1250,11 @@
},
"nixpkgs_5": {
"locked": {
"lastModified": 1718318537,
"narHash": "sha256-4Zu0RYRcAY/VWuu6awwq4opuiD//ahpc2aFHg2CWqFY=",
"lastModified": 1719254875,
"narHash": "sha256-ECni+IkwXjusHsm9Sexdtq8weAq/yUyt1TWIemXt3Ko=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "e9ee548d90ff586a6471b4ae80ae9cfcbceb3420",
"rev": "2893f56de08021cffd9b6b6dfc70fd9ccd51eb60",
"type": "github"
},
"original": {
@ -1282,11 +1282,11 @@
},
"nixpkgs_7": {
"locked": {
"lastModified": 1718515200,
"narHash": "sha256-ghq01El4/pQvuosauFhhK/X564XhLdbJthtgbdWZHAU=",
"lastModified": 1719366746,
"narHash": "sha256-lzWQP7WulTNycJjlLGHQYSCDjiz77+1kAFVODWyBdjI=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "6f35d8d79416ecaabd062437baa2ee68eb7b2cfa",
"rev": "c7221bae0fbcef01eaa896fe661f0cbf7cf9ce0c",
"type": "github"
},
"original": {
@ -1297,11 +1297,11 @@
},
"nixpkgs_8": {
"locked": {
"lastModified": 1718160348,
"narHash": "sha256-9YrUjdztqi4Gz8n3mBuqvCkMo4ojrA6nASwyIKWMpus=",
"lastModified": 1719254875,
"narHash": "sha256-ECni+IkwXjusHsm9Sexdtq8weAq/yUyt1TWIemXt3Ko=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "57d6973abba7ea108bac64ae7629e7431e0199b6",
"rev": "2893f56de08021cffd9b6b6dfc70fd9ccd51eb60",
"type": "github"
},
"original": {
@ -1336,11 +1336,11 @@
"treefmt-nix": "treefmt-nix_2"
},
"locked": {
"lastModified": 1718516943,
"narHash": "sha256-W46cIFgSPPoNDQnFtV2sHZOqf8F6xbRy2qGwe4Qtbc0=",
"lastModified": 1719373723,
"narHash": "sha256-LPDMHp20wW8QEiSZHcTtiu3XmGwMt0JPD5dLIKqtDfk=",
"owner": "pupbrained",
"repo": "nixvim",
"rev": "99548070f8447190c8ae3a9fe0134d0964eeb667",
"rev": "dfcc8eeb3ee7c264aaa86835f8b442403ea42a6c",
"type": "github"
},
"original": {
@ -1361,11 +1361,11 @@
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1718376125,
"narHash": "sha256-NIJZxmY2CWsqJK/9BQCRSHfcCY9K6thjq/1XtJobxmU=",
"lastModified": 1719349326,
"narHash": "sha256-siY3ck/6Ey2VyUpzziZ7XreM9h672CHEwTNuSqqnarA=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "7a2a25af02be25987aa43cd681312f4b5ba12317",
"rev": "1a46075dfe8dbbd2c99980b59af7860a1de010db",
"type": "github"
},
"original": {
@ -1438,11 +1438,11 @@
"systems": "systems_8"
},
"locked": {
"lastModified": 1718445001,
"narHash": "sha256-L2GTsS0K2Jh7fboBWbqbyjWZpllYl/2vtd9bEJPlpGU=",
"lastModified": 1719058240,
"narHash": "sha256-pprpeDB/mvINS5m5FIOq/1I0xpBvO8l7FyWNmmO0Ir0=",
"owner": "schizofox",
"repo": "schizofox",
"rev": "c47f46cffd57bd233d7d8c3a2d2e9738ef05edf1",
"rev": "becff9b92a28c3cd6e6a215da7f5f56883d3a304",
"type": "github"
},
"original": {
@ -1687,11 +1687,11 @@
]
},
"locked": {
"lastModified": 1718139168,
"narHash": "sha256-1TZQcdETNdJMcfwwoshVeCjwWfrPtkSQ8y8wFX3it7k=",
"lastModified": 1719243788,
"narHash": "sha256-9T9mSY35EZSM1KAwb7K9zwQ78qTlLjosZgtUGnw4rn4=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "1cb529bffa880746a1d0ec4e0f5076876af931f1",
"rev": "065a23edceff48f948816b795ea8cc6c0dee7cdf",
"type": "github"
},
"original": {
@ -1705,11 +1705,11 @@
"nixpkgs": "nixpkgs_9"
},
"locked": {
"lastModified": 1718271476,
"narHash": "sha256-35hUMmFesmchb+u7heKHLG5B6c8fBOcSYo0jj0CHLes=",
"lastModified": 1719243788,
"narHash": "sha256-9T9mSY35EZSM1KAwb7K9zwQ78qTlLjosZgtUGnw4rn4=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "e75ba0a6bb562d2ce275db28f6a36a2e4fd81391",
"rev": "065a23edceff48f948816b795ea8cc6c0dee7cdf",
"type": "github"
},
"original": {
@ -1723,11 +1723,11 @@
"nixpkgs": "nixpkgs_11"
},
"locked": {
"lastModified": 1718271476,
"narHash": "sha256-35hUMmFesmchb+u7heKHLG5B6c8fBOcSYo0jj0CHLes=",
"lastModified": 1719243788,
"narHash": "sha256-9T9mSY35EZSM1KAwb7K9zwQ78qTlLjosZgtUGnw4rn4=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "e75ba0a6bb562d2ce275db28f6a36a2e4fd81391",
"rev": "065a23edceff48f948816b795ea8cc6c0dee7cdf",
"type": "github"
},
"original": {
@ -1753,11 +1753,11 @@
]
},
"locked": {
"lastModified": 1718272114,
"narHash": "sha256-KsX7sAwkEFpXiwyjt0HGTnnrUU58wW1jlzj5IA/LRz8=",
"lastModified": 1718619174,
"narHash": "sha256-FWW68AVYmB91ZDQnhLMBNCUUTCjb1ZpO2k2KIytHtkA=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "24be4a26f0706e456fca1b61b8c79f7486a9e86d",
"rev": "c7894aa54f9a7dbd16df5cd24d420c8af22d5623",
"type": "github"
},
"original": {

View file

@ -9,27 +9,26 @@
home = {
packages = with pkgs;
[
beeper
duf
eternal-terminal
glow
grc
iamb
jamesdsp
jetbrains-toolbox
jdk21
killall
libnotify
lm_sensors
loupe
mpv
neovide
playerctl
prismlauncher
slack
telegram-desktop
vesktop
youki
jetbrains.clion
jetbrains.idea-ultimate
]
++ (with inputs; [
nixvim.packages.${pkgs.system}.default
@ -39,14 +38,6 @@
firefox_nightly
]);
pointerCursor = {
gtk.enable = true;
x11.enable = true;
name = "Catppuccin-Mocha-Green-Cursors";
package = pkgs.catppuccin-cursors.mochaGreen;
size = 24;
};
stateVersion = "24.05";
};
@ -63,17 +54,48 @@
enable = true;
flavor = "mocha";
accent = "green";
pointerCursor.enable = true;
};
gtk = {
enable = true;
gtk = let
gradiencePreset = pkgs.fetchurl {
url = "https://raw.githubusercontent.com/GradienceTeam/Community/next/official/catppuccin-macchiato.json";
hash = "sha256-FgQvmK/Pjn980o+UVc2a70kGa6sGse045zPS9hzCs14=";
};
catppuccin = {
gradienceBuild = pkgs.stdenv.mkDerivation {
name = "gradience-build";
phases = ["buildPhase" "installPhase"];
nativeBuildInputs = [pkgs.gradience];
buildPhase = ''
shopt -s nullglob
export HOME=$TMPDIR
mkdir -p $HOME/.config/presets
gradience-cli apply -p ${gradiencePreset} --gtk both
'';
installPhase = ''
mkdir -p $out
cp -r .config/gtk-4.0 $out/
cp -r .config/gtk-3.0 $out/
'';
};
in {
enable = true;
icon.enable = true;
cursor.enable = true;
size = "standard";
tweaks = ["rimless"];
theme.name = "adw-gtk3-dark";
theme.package = pkgs.adw-gtk3;
gtk3 = {
extraCss = builtins.readFile "${gradienceBuild}/gtk-3.0/gtk.css";
extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
};
gtk4 = {
extraCss = builtins.readFile "${gradienceBuild}/gtk-4.0/gtk.css";
extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
};
};

View file

@ -1,332 +1,15 @@
{
pkgs,
config,
lib,
...
}: let
palette = config.colorScheme.palette;
betterTransition = "all 0.3s cubic-bezier(.55,-0.68,.48,1.682)";
in
with pkgs; {
{pkgs, ...}:
with pkgs; {
imports = [
./rofi.nix
./services.nix
./waybar.nix
];
home.packages = [
wl-clipboard
];
programs = {
rofi = {
enable = true;
catppuccin.enable = true;
package = pkgs.rofi-wayland;
extraConfig = {
modi = "run,drun,window";
icon-theme = "Oranchelo";
show-icons = true;
terminal = "wezterm";
drun-display-format = "{icon} {name}";
location = 0;
disable-history = false;
hide-scrollbar = true;
display-drun = " Apps ";
display-run = " Run ";
display-window = " 󰍲 Window";
display-Network = " 󰤨 Network";
sidebar-mode = true;
};
theme = {
"*".font = "Maple Mono NF 14";
window.border-radius = 10;
};
};
waybar = {
enable = true;
package = pkgs.waybar;
settings = [
{
layer = "top";
position = "top";
modules-center = ["hyprland/workspaces"];
modules-left = [
"custom/startmenu"
"hyprland/window"
"pulseaudio"
"cpu"
"memory"
];
modules-right = [
"mpris"
"network"
"custom/notification"
"tray"
"clock"
];
"mpris" = {
format = "{player_icon} {title} - {artist}";
format-paused = "{status_icon} {title} - {artist}";
player-icons.default = "󰝚";
status-icons.paused = "󰏤";
max-length = 40;
};
"hyprland/workspaces" = {
format = "{name}";
format-icons = {
default = " ";
active = " ";
urgent = " ";
};
on-scroll-up = "hyprctl dispatch workspace e-1";
on-scroll-down = "hyprctl dispatch workspace e+1";
};
"clock" = {
format = " {:L%I:%M %p}";
tooltip = true;
tooltip-format = "<big>{:%A, %d.%B %Y }</big>\n<tt><small>{calendar}</small></tt>";
};
"hyprland/window" = {
max-length = 40;
rewrite = {
"" = "󰍹 Desktop";
"(.*) Firefox Nightly" = "󰈹 $1";
"(.*) - Slack" = "󰒱 $1";
".*?Discord \\| @?(.*)" = "󰙯 $1";
"WezTerm - (?:\\[.*] ?)?(.*)" = " $1";
"Telegram(?: \\((\\d+)\\))?" = " Telegram";
"Steam" = "󰓓 Steam";
};
};
"memory" = {
interval = 5;
format = " {}%";
tooltip = true;
};
"cpu" = {
interval = 5;
format = " {usage:2}%";
tooltip = true;
};
"disk" = {
format = " {free}";
tooltip = true;
};
"network" = {
format-icons = [
"󰤯"
"󰤟"
"󰤢"
"󰤥"
"󰤨"
];
format-ethernet = " {bandwidthDownOctets}";
format-wifi = "{icon} {essid}";
format-disconnected = "󰤮";
tooltip = false;
};
"tray" = {
spacing = 12;
};
"pulseaudio" = {
format = "{icon} {volume}% {format_source}";
format-bluetooth = "{volume}% {icon} {format_source}";
format-bluetooth-muted = "󰅶 {icon} {format_source}";
format-muted = "󰅶 {format_source}";
format-source = " {volume}%";
format-source-muted = "";
format-icons = {
headphone = "";
hands-free = "";
headset = "󰋎";
phone = "";
portable = "";
car = "";
default = [
""
""
""
];
};
on-click = "sleep 0.1 && pavucontrol";
};
"custom/startmenu" = {
tooltip = false;
format = "";
on-click = "rofi -show drun";
};
"custom/notification" = {
tooltip = false;
format = "{icon} {}";
format-icons = {
notification = "<span foreground='red'><sup></sup></span>";
none = "";
dnd-notification = "<span foreground='red'><sup></sup></span>";
dnd-none = "";
inhibited-notification = "<span foreground='red'><sup></sup></span>";
inhibited-none = "";
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span>";
dnd-inhibited-none = "";
};
return-type = "json";
exec = "swaync-client -swb";
on-click = "swaync-client -t &";
escape = true;
};
}
];
style = lib.concatStrings [
''
* {
border: none;
border-radius: 0px;
font-family: Maple Mono NF;
font-size: 16px;
min-height: 0px;
}
window#waybar {
background-color: #${palette.base00};
}
#workspaces {
background: #${palette.base01};
border-radius: 16px;
color: #${palette.base00};
margin: 4px 4px;
padding: 8px 5px;
}
#workspaces button {
animation: gradient_horizontal 15s ease infinite;
background: linear-gradient(45deg, #${palette.base0E}, #${palette.base0F}, #${palette.base0D}, #${palette.base09});
background-size: 300% 300%;
border-radius: 16px;
color: #${palette.base00};
font-weight: bold;
margin: 0px 3px;
opacity: 0.5;
padding: 0px 5px;
transition: ${betterTransition};
}
#workspaces button.active {
animation: gradient_horizontal 15s ease infinite;
background: linear-gradient(45deg, #${palette.base0E}, #${palette.base0F}, #${palette.base0D}, #${palette.base09});
background-size: 300% 300%;
border-radius: 16px;
color: #${palette.base00};
font-weight: bold;
margin: 0px 3px;
min-width: 40px;
opacity: 1.0;
padding: 0px 5px;
transition: ${betterTransition};
}
#workspaces button:hover {
animation: gradient_horizontal 15s ease infinite;
background: linear-gradient(45deg, #${palette.base0E}, #${palette.base0F}, #${palette.base0D}, #${palette.base09});
background-size: 300% 300%;
border-radius: 16px;
color: #${palette.base00};
font-weight: bold;
opacity: 0.8;
transition: ${betterTransition};
}
@keyframes gradient_horizontal {
0% { background-position: 0% 50%; }
50% { background-position: 100% 50%; }
100% { background-position: 0% 50%; }
}
@keyframes swiping {
0% { background-position: 0% 200%; }
100% { background-position: 200% 200%; }
}
tooltip {
background: #${palette.base00};
border: 1px solid #${palette.base0E};
border-radius: 12px;
}
tooltip label {
color: #${palette.base07};
}
#window, #pulseaudio, #cpu, #memory, #idle_inhibitor {
background: #${palette.base01};
border-radius: 24px 10px 24px 10px;
color: #${palette.base05};
font-weight: bold;
margin: 4px 0px;
margin-left: 7px;
padding: 0px 18px;
}
#custom-startmenu {
background: #${palette.base01};
border-radius: 0px 0px 40px 0px;
color: #${palette.base0D};
font-size: 28px;
margin: 0px;
padding: 0px 30px 0px 15px;
}
#mpris, #network, #custom-notification, #tray {
background: #${palette.base01};
border-radius: 10px 24px 10px 24px;
color: #${palette.base05};
font-weight: bold;
margin: 4px 0px;
margin-right: 7px;
padding: 0px 18px;
}
#clock {
animation: gradient_horizontal 15s ease infinite;
background: linear-gradient(45deg, #${palette.base0C}, #${palette.base0F}, #${palette.base0B}, #${palette.base08});
background-size: 300% 300%;
border-radius: 0px 0px 0px 40px;
color: #${palette.base00};
font-weight: bold;
margin: 0px;
padding: 0px 15px 0px 30px;
}
''
];
};
};
services = {
cliphist.enable = true;
udiskie.enable = true;
swaync = {
enable = true;
style = builtins.fetchurl {
url = "https://github.com/catppuccin/swaync/releases/download/v0.2.3/mocha.css";
sha256 = "1xr1wkg4zb467b35xhsfqiwhimfnn88i3ml5rf173rkm7fyby9qy";
};
};
};
wayland.windowManager.hyprland = {
enable = true;
systemd.variables = ["--all"];
@ -355,6 +38,18 @@ in
cliphist list | gawk "$prog"
'';
scratchpad = pkgs.writeScriptBin "hyprscratchpad" ''
COMMAND=$1
CLASS=$2
WORKSPACE=$3
if [[ $(hyprctl clients | grep -v '"title":' | grep "class: $CLASS") ]];then
hyprctl dispatch togglespecialworkspace $WORKSPACE
else
hyprctl dispatch togglespecialworkspace $WORKSPACE && hyprctl dispatch exec "$COMMAND"
fi
'';
mod = "SUPER";
modC = "SUPER CTRL";
modS = "SUPER SHIFT";
@ -393,6 +88,11 @@ in
}
];
windowrule = [
"float, ^(vesktop)$"
"float, ^(org.telegram.desktop)$"
];
layerrule = [
"dimaround, rofi"
];
@ -423,9 +123,8 @@ in
};
exec-once = [
"waybar"
"${mpvpaper}/bin/mpvpaper -vp -o 'no-audio loop' DP-1 ${builtins.toString ./wall.mp4}"
"${copyq}/bin/copyq --start-server"
"waybar"
];
misc = {
@ -465,6 +164,10 @@ in
"${mod}, r, exec, ${launcher}"
"${mod}, Return, exec, ${terminal}"
# Scratchpads
"${mod}, d, exec, ${scratchpad}/bin/hyprscratchpad vesktop vesktop vesktop"
"${mod}, t, exec, ${scratchpad}/bin/hyprscratchpad telegram-desktop org.telegram.desktop telegram"
# Screenshots
"${modS}, s, exec, ${screenshot "window"}"
"${modC}, 3, exec, ${screenshot "output -c"}"
@ -493,6 +196,12 @@ in
"${modS}, j, movewindow, d"
"${modS}, k, movewindow, u"
"${modS}, l, movewindow, r"
# Window resizing
"${modC}, h, resizeactive, -30 0"
"${modC}, j, resizeactive, 0 30"
"${modC}, k, resizeactive, 0 -30"
"${modC}, l, resizeactive, 30 0"
]
++ (
builtins.concatLists (builtins.genList (
@ -511,4 +220,4 @@ in
);
};
};
}
}

View file

@ -0,0 +1,28 @@
{pkgs, ...}: {
programs.rofi = {
enable = true;
catppuccin.enable = true;
package = pkgs.rofi-wayland;
extraConfig = {
modi = "run,drun,window";
icon-theme = "Oranchelo";
show-icons = true;
terminal = "wezterm";
drun-display-format = "{icon} {name}";
location = 0;
disable-history = false;
hide-scrollbar = true;
display-drun = " Apps ";
display-run = " Run ";
display-window = " 󰍲 Window";
display-Network = " 󰤨 Network";
sidebar-mode = true;
};
theme = {
"*".font = "Maple Mono NF 14";
window.border-radius = 10;
};
};
}

View file

@ -0,0 +1,14 @@
{...}: {
services = {
cliphist.enable = true;
udiskie.enable = true;
swaync = {
enable = true;
style = builtins.fetchurl {
url = "https://github.com/catppuccin/swaync/releases/download/v0.2.3/mocha.css";
sha256 = "1xr1wkg4zb467b35xhsfqiwhimfnn88i3ml5rf173rkm7fyby9qy";
};
};
};
}

View file

@ -0,0 +1,282 @@
{
config,
lib,
pkgs,
...
}: let
palette = config.colorScheme.palette;
betterTransition = "all 0.3s cubic-bezier(.55,-0.68,.48,1.682)";
in {
programs.waybar = {
enable = true;
package = pkgs.waybar;
settings = [
{
layer = "top";
position = "top";
modules-center = ["hyprland/workspaces"];
modules-left = [
"custom/startmenu"
"hyprland/window"
"pulseaudio"
"cpu"
"memory"
];
modules-right = [
"mpris"
"network"
"custom/notification"
"tray"
"clock"
];
"mpris" = {
format = "{player_icon} {title} - {artist}";
format-paused = "{status_icon} {title} - {artist}";
player-icons.default = "󰝚";
status-icons.paused = "󰏤";
max-length = 40;
};
"hyprland/workspaces" = {
format = "{name}";
format-icons = {
default = " ";
active = " ";
urgent = " ";
};
on-scroll-up = "hyprctl dispatch workspace e-1";
on-scroll-down = "hyprctl dispatch workspace e+1";
};
"clock" = {
format = " {:L%I:%M %p}";
tooltip = true;
tooltip-format = "<big>{:%A, %d.%B %Y }</big>\n<tt><small>{calendar}</small></tt>";
};
"hyprland/window" = {
max-length = 40;
rewrite = {
"" = "󰍹 Desktop";
"(.*) Firefox Nightly" = "󰈹 $1";
"(.*) - Slack" = "󰒱 $1";
".*?Discord \\| @?(.*)" = "󰙯 $1";
"WezTerm - (?:\\[.*] ?)?(.*)" = " $1";
"Telegram(?: \\((\\d+)\\))?" = " Telegram";
"Steam" = "󰓓 Steam";
};
};
"memory" = {
interval = 5;
format = " {}%";
tooltip = true;
};
"cpu" = {
interval = 5;
format = " {usage:2}%";
tooltip = true;
};
"disk" = {
format = " {free}";
tooltip = true;
};
"network" = {
format-icons = [
"󰤯"
"󰤟"
"󰤢"
"󰤥"
"󰤨"
];
format-ethernet = " {bandwidthDownOctets}";
format-wifi = "{icon} {essid}";
format-disconnected = "󰤮";
tooltip = false;
};
"tray" = {
spacing = 12;
};
"pulseaudio" = {
format = "{icon} {volume}% {format_source}";
format-bluetooth = "{volume}% {icon} {format_source}";
format-bluetooth-muted = "󰅶 {icon} {format_source}";
format-muted = "󰅶 {format_source}";
format-source = " {volume}%";
format-source-muted = "";
format-icons = {
headphone = "";
hands-free = "";
headset = "󰋎";
phone = "";
portable = "";
car = "";
default = [
""
""
""
];
};
on-click = "sleep 0.1 && pavucontrol";
};
"custom/startmenu" = {
tooltip = false;
format = "";
on-click = "rofi -show drun";
};
"custom/notification" = {
tooltip = false;
format = "{icon} {}";
format-icons = {
notification = "<span foreground='red'><sup></sup></span>";
none = "";
dnd-notification = "<span foreground='red'><sup></sup></span>";
dnd-none = "";
inhibited-notification = "<span foreground='red'><sup></sup></span>";
inhibited-none = "";
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span>";
dnd-inhibited-none = "";
};
return-type = "json";
exec = "swaync-client -swb";
on-click = "swaync-client -t &";
escape = true;
};
}
];
style = lib.concatStrings [
''
* {
border: none;
border-radius: 0px;
font-family: Maple Mono NF;
font-size: 16px;
min-height: 0px;
}
window#waybar {
background-color: #${palette.base00};
}
#workspaces {
background: #${palette.base01};
border-radius: 16px;
color: #${palette.base00};
margin: 4px 4px;
padding: 8px 5px;
}
#workspaces button {
animation: gradient_horizontal 15s ease infinite;
background: linear-gradient(45deg, #${palette.base0E}, #${palette.base0F}, #${palette.base0D}, #${palette.base09});
background-size: 300% 300%;
border-radius: 16px;
color: #${palette.base00};
font-weight: bold;
margin: 0px 3px;
opacity: 0.5;
padding: 0px 5px;
transition: ${betterTransition};
}
#workspaces button.active {
animation: gradient_horizontal 15s ease infinite;
background: linear-gradient(45deg, #${palette.base0E}, #${palette.base0F}, #${palette.base0D}, #${palette.base09});
background-size: 300% 300%;
border-radius: 16px;
color: #${palette.base00};
font-weight: bold;
margin: 0px 3px;
min-width: 40px;
opacity: 1.0;
padding: 0px 5px;
transition: ${betterTransition};
}
#workspaces button:hover {
animation: gradient_horizontal 15s ease infinite;
background: linear-gradient(45deg, #${palette.base0E}, #${palette.base0F}, #${palette.base0D}, #${palette.base09});
background-size: 300% 300%;
border-radius: 16px;
color: #${palette.base00};
font-weight: bold;
opacity: 0.8;
transition: ${betterTransition};
}
@keyframes gradient_horizontal {
0% { background-position: 0% 50%; }
50% { background-position: 100% 50%; }
100% { background-position: 0% 50%; }
}
@keyframes swiping {
0% { background-position: 0% 200%; }
100% { background-position: 200% 200%; }
}
tooltip {
background: #${palette.base00};
border: 1px solid #${palette.base0E};
border-radius: 12px;
}
tooltip label {
color: #${palette.base07};
}
#window, #pulseaudio, #cpu, #memory, #idle_inhibitor {
background: #${palette.base01};
border-radius: 24px 10px 24px 10px;
color: #${palette.base05};
font-weight: bold;
margin: 4px 0px;
margin-left: 7px;
padding: 0px 18px;
}
#custom-startmenu {
background: #${palette.base01};
border-radius: 0px 0px 40px 0px;
color: #${palette.base0D};
font-size: 28px;
margin: 0px;
padding: 0px 30px 0px 15px;
}
#mpris, #network, #custom-notification, #tray {
background: #${palette.base01};
border-radius: 10px 24px 10px 24px;
color: #${palette.base05};
font-weight: bold;
margin: 4px 0px;
margin-right: 7px;
padding: 0px 18px;
}
#clock {
animation: gradient_horizontal 15s ease infinite;
background: linear-gradient(45deg, #${palette.base0C}, #${palette.base0F}, #${palette.base0B}, #${palette.base08});
background-size: 300% 300%;
border-radius: 0px 0px 0px 40px;
color: #${palette.base00};
font-weight: bold;
margin: 0px;
padding: 0px 15px 0px 30px;
}
''
];
};
}

View file

@ -97,7 +97,6 @@ with lib // pkgs // inputs; {
BROWSER = "firefox-nightly";
DIRENV_WARN_TIMEOUT = "100s";
EDITOR = "nvim";
NIXOS_OZONE_WL = "1";
TERMINAL = "wezterm";
};
@ -118,7 +117,6 @@ with lib // pkgs // inputs; {
persistence."/persist" = {
hideMounts = true;
directories = [
"/etc/mullvad-vpn"
"/etc/NetworkManager"
"/etc/secrets"
"/etc/ssh"
@ -249,6 +247,7 @@ with lib // pkgs // inputs; {
};
programs = {
darling.enable = true;
dconf.enable = true;
fish.enable = true;
gamemode.enable = true;
@ -265,6 +264,125 @@ with lib // pkgs // inputs; {
enable = true;
flake = "/home/marshall/nix-config";
};
nix-ld = {
enable = true;
libraries = with pkgs; [
SDL
SDL2
SDL2_image
SDL2_mixer
SDL2_ttf
SDL_image
SDL_mixer
SDL_ttf
alsa-lib
at-spi2-atk
at-spi2-core
atk
bzip2
cairo
cups
curlWithGnuTls
dbus
dbus-glib
desktop-file-utils
e2fsprogs
expat
flac
fontconfig
freeglut
freetype
fribidi
fuse
fuse3
gdk-pixbuf
glew110
glib
gmp
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-ugly
gst_all_1.gstreamer
gtk2
harfbuzz
icu
keyutils.lib
libGL
libGLU
libappindicator-gtk2
libcaca
libcanberra
libcap
libclang.lib
libdbusmenu
libdrm
libgcrypt
libgpg-error
libidn
libjack2
libjpeg
libmikmod
libogg
libpng12
libpulseaudio
librsvg
libsamplerate
libthai
libtheora
libtiff
libudev0-shim
libusb1
libuuid
libvdpau
libvorbis
libvpx
libxcrypt-legacy
libxkbcommon
libxml2
mesa
nspr
nss
openssl
p11-kit
pango
pixman
python3
speex
stdenv.cc.cc
tbb
udev
vulkan-loader
wayland
xorg.libICE
xorg.libSM
xorg.libX11
xorg.libXScrnSaver
xorg.libXcomposite
xorg.libXcursor
xorg.libXdamage
xorg.libXext
xorg.libXfixes
xorg.libXft
xorg.libXi
xorg.libXinerama
xorg.libXmu
xorg.libXrandr
xorg.libXrender
xorg.libXt
xorg.libXtst
xorg.libXxf86vm
xorg.libpciaccess
xorg.libxcb
xorg.xcbutil
xorg.xcbutilimage
xorg.xcbutilkeysyms
xorg.xcbutilrenderutil
xorg.xcbutilwm
xorg.xkeyboardconfig
xz
zlib
];
};
};
networking = {
@ -283,7 +401,6 @@ with lib // pkgs // inputs; {
flatpak.enable = true;
getty.autologinUser = "marshall";
gnome.gnome-keyring.enable = true;
mullvad-vpn.enable = true;
ollama.enable = true;
openssh.enable = true;
spice-vdagentd.enable = true;
@ -336,7 +453,6 @@ with lib // pkgs // inputs; {
opengl = {
enable = true;
driSupport = true;
driSupport32Bit = true;
extraPackages = [
vaapiVdpau