This commit is contained in:
zack 2024-12-19 21:47:51 -05:00
parent ed77ae6e6b
commit bf86126a00
No known key found for this signature in database
GPG key ID: 5F873416BCF59F35
22 changed files with 1490 additions and 243 deletions

202
flake.lock generated
View file

@ -116,6 +116,7 @@
"original": {
"owner": "ymatsiuk",
"repo": "awsvpnclient",
"rev": "56ca114e3f7fe4db9d745a0ab8ed70c6bd803a8f",
"type": "github"
}
},
@ -562,7 +563,7 @@
},
"flake-utils-plus": {
"inputs": {
"flake-utils": "flake-utils_6"
"flake-utils": "flake-utils_7"
},
"locked": {
"lastModified": 1715533576,
@ -581,7 +582,7 @@
},
"flake-utils-plus_2": {
"inputs": {
"flake-utils": "flake-utils_7"
"flake-utils": "flake-utils_8"
},
"locked": {
"lastModified": 1715533576,
@ -618,7 +619,25 @@
},
"flake-utils_3": {
"inputs": {
"systems": "systems_11"
"systems": "systems_8"
},
"locked": {
"lastModified": 1705309234,
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_4": {
"inputs": {
"systems": "systems_12"
},
"locked": {
"lastModified": 1710146030,
@ -634,9 +653,9 @@
"type": "github"
}
},
"flake-utils_4": {
"flake-utils_5": {
"inputs": {
"systems": "systems_12"
"systems": "systems_13"
},
"locked": {
"lastModified": 1726560853,
@ -652,9 +671,9 @@
"type": "github"
}
},
"flake-utils_5": {
"flake-utils_6": {
"inputs": {
"systems": "systems_13"
"systems": "systems_14"
},
"locked": {
"lastModified": 1701680307,
@ -670,9 +689,9 @@
"type": "github"
}
},
"flake-utils_6": {
"flake-utils_7": {
"inputs": {
"systems": "systems_16"
"systems": "systems_17"
},
"locked": {
"lastModified": 1694529238,
@ -688,9 +707,9 @@
"type": "github"
}
},
"flake-utils_7": {
"flake-utils_8": {
"inputs": {
"systems": "systems_17"
"systems": "systems_18"
},
"locked": {
"lastModified": 1694529238,
@ -744,6 +763,23 @@
"url": "https://git.zoeys.cloud/zoey/g2claude.git"
}
},
"ghostty": {
"inputs": {
"nixpkgs-stable": "nixpkgs-stable_2",
"nixpkgs-unstable": "nixpkgs-unstable",
"zig": "zig"
},
"locked": {
"lastModified": 1734381839,
"narHash": "sha256-s3IrXBkJQ8oM+CSzmh3k1lO2EPZ0CqkIgin6LZ07edc=",
"path": "/home/zoey/dev/ghostty",
"type": "path"
},
"original": {
"path": "/home/zoey/dev/ghostty",
"type": "path"
}
},
"git-hooks": {
"inputs": {
"flake-compat": "flake-compat_4",
@ -966,7 +1002,7 @@
"nixpkgs": [
"nixpkgs"
],
"systems": "systems_8"
"systems": "systems_9"
},
"locked": {
"lastModified": 1731958956,
@ -994,7 +1030,7 @@
"hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": "nixpkgs_8",
"pre-commit-hooks": "pre-commit-hooks",
"systems": "systems_9",
"systems": "systems_10",
"xdph": "xdph"
},
"locked": {
@ -1208,7 +1244,7 @@
"nixpkgs"
],
"rust-overlay": "rust-overlay_2",
"systems": "systems_10",
"systems": "systems_11",
"treefmt-nix": "treefmt-nix_2"
},
"locked": {
@ -1230,7 +1266,7 @@
"crane": "crane_3",
"flake-compat": "flake-compat_2",
"flake-parts": "flake-parts_4",
"flake-utils": "flake-utils_3",
"flake-utils": "flake-utils_4",
"nixpkgs": [
"nixpkgs"
],
@ -1256,7 +1292,7 @@
"inputs": {
"flake-parts": "flake-parts_9",
"nixpkgs": "nixpkgs_17",
"systems": "systems_19"
"systems": "systems_20"
},
"locked": {
"lastModified": 1727126932,
@ -1288,7 +1324,7 @@
},
"lix-module": {
"inputs": {
"flake-utils": "flake-utils_4",
"flake-utils": "flake-utils_5",
"flakey-profile": "flakey-profile",
"lix": "lix",
"nixpkgs": [
@ -1385,11 +1421,12 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1702830618,
"narHash": "sha256-lvhwIvRwhOLgzbRuYkqHy4M5cQHYs4ktL6/hyuBS6II=",
"path": "/nix/store/fn4i255gjsbqhza45ih8mgxgx47zan8i-source",
"rev": "91a00709aebb3602f172a0bf47ba1ef013e34835",
"type": "path"
"lastModified": 1734424634,
"narHash": "sha256-cHar1vqHOOyC7f1+tVycPoWTfKIaqkoe1Q6TnKzuti4=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "d3c42f187194c26d9f0309a8ecc469d6c878ce33",
"type": "github"
},
"original": {
"id": "nixpkgs",
@ -1473,6 +1510,22 @@
}
},
"nixpkgs-stable_2": {
"locked": {
"lastModified": 1733423277,
"narHash": "sha256-TxabjxEgkNbCGFRHgM/b9yZWlBj60gUOUnRT/wbVQR8=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "e36963a147267afc055f7cf65225958633e536bf",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "release-24.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable_3": {
"locked": {
"lastModified": 1730741070,
"narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=",
@ -1488,7 +1541,7 @@
"type": "github"
}
},
"nixpkgs-stable_3": {
"nixpkgs-stable_4": {
"locked": {
"lastModified": 1710695816,
"narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=",
@ -1504,13 +1557,29 @@
"type": "github"
}
},
"nixpkgs-unstable": {
"nixpkgs-stable_5": {
"locked": {
"lastModified": 1734126203,
"narHash": "sha256-0XovF7BYP50rTD2v4r55tR5MuBLet7q4xIz6Rgh3BBU=",
"lastModified": 1734390051,
"narHash": "sha256-FKUVv1OuPHgQaBj7X9syCok12itCaLxk3KLhWmK7iAs=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "71a6392e367b08525ee710a93af2e80083b5b3e2",
"rev": "03b200fa3d4c37475456bacce29e29ed698c247a",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "release-24.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1733229606,
"narHash": "sha256-FLYY5M0rpa5C2QAE3CKLYAM6TwbKicdRK6qNrSHlNrE=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "566e53c2ad750c84f6d31f9ccb9d00f823165550",
"type": "github"
},
"original": {
@ -1807,7 +1876,7 @@
},
"pnpm2nix_2": {
"inputs": {
"flake-utils": "flake-utils_5",
"flake-utils": "flake-utils_6",
"nixpkgs": "nixpkgs_13"
},
"locked": {
@ -1832,7 +1901,7 @@
"hyprland",
"nixpkgs"
],
"nixpkgs-stable": "nixpkgs-stable_2"
"nixpkgs-stable": "nixpkgs-stable_3"
},
"locked": {
"lastModified": 1734279981,
@ -1859,7 +1928,7 @@
"lanzaboote",
"nixpkgs"
],
"nixpkgs-stable": "nixpkgs-stable_3"
"nixpkgs-stable": "nixpkgs-stable_4"
},
"locked": {
"lastModified": 1717664902,
@ -1893,7 +1962,7 @@
"resume": {
"inputs": {
"nixpkgs": "nixpkgs_14",
"systems": "systems_14"
"systems": "systems_15"
},
"locked": {
"lastModified": 1732423120,
@ -1916,7 +1985,7 @@
"nixpkgs"
],
"rust-overlay": "rust-overlay_4",
"systems": "systems_15"
"systems": "systems_16"
},
"locked": {
"lastModified": 1734366706,
@ -1942,6 +2011,7 @@
"catppuccin": "catppuccin",
"emacs-overlay": "emacs-overlay",
"g2claude": "g2claude",
"ghostty": "ghostty",
"home-manager": "home-manager_2",
"hypridle": "hypridle",
"hyprland": "hyprland",
@ -1951,7 +2021,7 @@
"neovim-nightly-overlay": "neovim-nightly-overlay",
"nixos-generators": "nixos-generators",
"nixpkgs": "nixpkgs_12",
"nixpkgs-unstable": "nixpkgs-unstable",
"nixpkgs-stable": "nixpkgs-stable_5",
"pnpm2nix": "pnpm2nix_2",
"resume": "resume",
"rio-term": "rio-term",
@ -1959,7 +2029,7 @@
"snowfall-lib": "snowfall-lib",
"solaar": "solaar",
"spicetify-nix": "spicetify-nix",
"systems": "systems_18",
"systems": "systems_19",
"waybar": "waybar",
"zen-browser": "zen-browser",
"zoeycomputer": "zoeycomputer"
@ -2171,16 +2241,16 @@
},
"systems_10": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"repo": "default-linux",
"type": "github"
}
},
@ -2245,7 +2315,6 @@
}
},
"systems_15": {
"flake": false,
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@ -2261,6 +2330,7 @@
}
},
"systems_16": {
"flake": false,
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@ -2350,6 +2420,21 @@
"type": "github"
}
},
"systems_21": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_3": {
"locked": {
"lastModified": 1689347949,
@ -2427,16 +2512,16 @@
},
"systems_8": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"repo": "default",
"type": "github"
}
},
@ -2592,13 +2677,38 @@
"type": "github"
}
},
"zig": {
"inputs": {
"flake-compat": [
"ghostty"
],
"flake-utils": "flake-utils_3",
"nixpkgs": [
"ghostty",
"nixpkgs-stable"
]
},
"locked": {
"lastModified": 1717848532,
"narHash": "sha256-d+xIUvSTreHl8pAmU1fnmkfDTGQYCn2Rb/zOwByxS2M=",
"owner": "mitchellh",
"repo": "zig-overlay",
"rev": "02fc5cc555fc14fda40c42d7c3250efa43812b43",
"type": "github"
},
"original": {
"owner": "mitchellh",
"repo": "zig-overlay",
"type": "github"
}
},
"zoeycomputer": {
"inputs": {
"flake-parts": "flake-parts_8",
"lexical": "lexical",
"nixpkgs": "nixpkgs_18",
"process-compose-flake": "process-compose-flake",
"systems": "systems_20"
"systems": "systems_21"
},
"locked": {
"lastModified": 1731607548,

View file

@ -12,16 +12,21 @@
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable";
nixpkgs-stable.url = "github:nixos/nixpkgs/release-24.11";
home-manager = {
url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs";
};
ghostty.url = "path:/home/zoey/dev/ghostty";
emacs-overlay.url = "github:nix-community/emacs-overlay";
awsvpnclient.url = "github:ymatsiuk/awsvpnclient";
awsvpnclient = {
url = "github:ymatsiuk/awsvpnclient/56ca114e3f7fe4db9d745a0ab8ed70c6bd803a8f";
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
};
resume.url = "git+https://git.zoeys.cloud/zoey/resume";
anyrun.url = "github:anyrun-org/anyrun";
@ -35,8 +40,6 @@
pnpm2nix.url = "github:nzbr/pnpm2nix-nzbr";
solaar = {
#url = "https://flakehub.com/f/Svenum/Solaar-Flake/*.tar.gz" # For latest stable version
#url = "https://flakehub.com/f/Svenum/Solaar-Flake/0.1.1.tar.gz" # uncomment line for solaar version 1.1.13
url = "github:Svenum/Solaar-Flake/main"; # Uncomment line for latest unstable version
inputs.nixpkgs.follows = "nixpkgs";
};
@ -92,16 +95,6 @@
inputs.nixpkgs.follows = "nixpkgs";
};
# lix = {
# url = "git+https://git.lix.systems/lix-project/lix?ref=refs/tags/2.90-beta.1";
# flake = false;
# };
# lix-module = {
# url = "git+https://git.lix.systems/lix-project/nixos-module";
# inputs.lix.follows = "lix";
# inputs.nixpkgs.follows = "nixpkgs";
# };
zen-browser.url = "github:MarceColl/zen-browser-flake";
zoeycomputer = {
@ -128,11 +121,7 @@
};
};
outputs = inputs @ {
self,
nixpkgs-unstable,
...
}: let
outputs = inputs @ {self, ...}: let
snowfallConfig = inputs.snowfall-lib.mkFlake {
inherit inputs;
src = ./.;
@ -140,12 +129,7 @@
overlays = [
inputs.rust-overlay.overlays.default
(final: prev: {
awsvpnclient =
inputs
.awsvpnclient
.packages
."x86_64-linux"
.awsvpnclient;
ghostty = inputs.ghostty.packages."x86_64-linux".default;
})
];

View file

@ -29,12 +29,12 @@
music.spotify.enable = true;
helpers = {
anyrun.enable = true;
ags.enable = true;
rofi.enable = true;
waybar.enable = true;
};
};
shells.zsh.enable = true;
shells.fish.enable = true;
rice.gtk.enable = true;
@ -86,6 +86,8 @@
pkgs.uutils-coreutils-noprefix
pkgs.yazi
pkgs.ghostty
pkgs.thunderbird
pkgs.custom.enc
@ -127,8 +129,8 @@
pkgs.parsec-bin
pkgs.filezilla
lib.custom.pkgs-unstable.zed-editor
lib.custom.pkgs-unstable.rmpc
pkgs.zed-editor
pkgs.rmpc
pkgs.custom.zen-browser
pkgs.mpc-cli
@ -142,7 +144,6 @@
programs.zoxide = {
enable = true;
enableZshIntegration = true;
options = ["--cmd cd"];
};

View file

@ -15,7 +15,7 @@ with lib; rec {
mkBoolOpt' = mkOpt' types.bool;
pkgs-unstable = import inputs.nixpkgs-unstable {
pkgs-stable = import inputs.nixpkgs-stable {
system = "x86_64-linux";
config.allowUnfree = true;
};

View file

@ -28,5 +28,5 @@
};
};
wallpaper = ./wallpaper.png;
wallpaper = ./wall4.jpg;
}

BIN
lib/theme/wall4.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 747 KiB

View file

@ -0,0 +1,80 @@
{
options,
config,
lib,
inputs,
pkgs,
...
}:
with lib;
with lib.custom; let
cfg = config.apps.helpers.snc;
in {
options.apps.helpers.snc = with types; {
enable = mkBoolOpt false "Enable Sway Notification Center";
};
config = mkIf cfg.enable {
home = {
packages = with pkgs; [swaynotificationcenter];
# Copy the theme file to the correct location
file.".config/swaync/style.css".source = ./theme/ctp.css;
# Create default config file
file.".config/swaync/config.json".text = builtins.toJSON {
"$schema" = "/etc/xdg/swaync/configSchema.json";
"positionX" = "right";
"positionY" = "top";
"layer" = "overlay";
"control-center-margin-top" = 0;
"control-center-margin-bottom" = 0;
"control-center-margin-right" = 0;
"control-center-margin-left" = 0;
"notification-icon-size" = 64;
"notification-body-image-height" = 100;
"notification-body-image-width" = 200;
"timeout" = 10;
"timeout-low" = 5;
"timeout-critical" = 0;
"fit-to-screen" = true;
"control-center-width" = 500;
"notification-window-width" = 500;
"keyboard-shortcuts" = true;
"image-visibility" = "when-available";
"transition-time" = 200;
"hide-on-clear" = false;
"hide-on-action" = true;
"script-fail-notify" = true;
"scripts" = {};
"notification-visibility" = {};
"widgets" = [
"title"
"dnd"
"notifications"
];
};
};
# Add systemd user service
systemd.user.services.swaync = {
Unit = {
Description = "Sway Notification Center";
PartOf = ["graphical-session.target"];
After = ["graphical-session.target"];
};
Service = {
Type = "simple";
ExecStart = "${pkgs.swaynotificationcenter}/bin/swaync";
ExecReload = "${pkgs.swaynotificationcenter}/bin/swaync-client --reload-config";
Restart = "always";
RestartSec = 3;
};
Install = {
WantedBy = ["graphical-session.target"];
};
};
};
}

View file

@ -0,0 +1,451 @@
* {
all: unset;
font-size: 14px;
font-family: "Iosevka";
transition: 200ms;
}
trough highlight {
background: #cdd6f4;
}
scale trough {
margin: 0rem 1rem;
background-color: #313244;
min-height: 8px;
min-width: 70px;
}
slider {
background-color: #89b4fa;
}
.floating-notifications.background .notification-row .notification-background {
box-shadow:
0 0 8px 0 rgba(0, 0, 0, 0.8),
inset 0 0 0 1px #313244;
border-radius: 12.6px;
margin: 18px;
background-color: #1e1e2e;
color: #cdd6f4;
padding: 0;
}
.floating-notifications.background
.notification-row
.notification-background
.notification {
padding: 7px;
border-radius: 12.6px;
}
.floating-notifications.background
.notification-row
.notification-background
.notification.critical {
box-shadow: inset 0 0 7px 0 #f38ba8;
}
.floating-notifications.background
.notification-row
.notification-background
.notification
.notification-content {
margin: 7px;
}
.floating-notifications.background
.notification-row
.notification-background
.notification
.notification-content
.summary {
color: #cdd6f4;
}
.floating-notifications.background
.notification-row
.notification-background
.notification
.notification-content
.time {
color: #a6adc8;
}
.floating-notifications.background
.notification-row
.notification-background
.notification
.notification-content
.body {
color: #cdd6f4;
}
.floating-notifications.background
.notification-row
.notification-background
.notification
> *:last-child
> * {
min-height: 3.4em;
}
.floating-notifications.background
.notification-row
.notification-background
.notification
> *:last-child
> *
.notification-action {
border-radius: 7px;
color: #cdd6f4;
background-color: #313244;
box-shadow: inset 0 0 0 1px #45475a;
margin: 7px;
}
.floating-notifications.background
.notification-row
.notification-background
.notification
> *:last-child
> *
.notification-action:hover {
box-shadow: inset 0 0 0 1px #45475a;
background-color: #313244;
color: #cdd6f4;
}
.floating-notifications.background
.notification-row
.notification-background
.notification
> *:last-child
> *
.notification-action:active {
box-shadow: inset 0 0 0 1px #45475a;
background-color: #74c7ec;
color: #cdd6f4;
}
.floating-notifications.background
.notification-row
.notification-background
.close-button {
margin: 7px;
padding: 2px;
border-radius: 6.3px;
color: #1e1e2e;
background-color: #f38ba8;
}
.floating-notifications.background
.notification-row
.notification-background
.close-button:hover {
background-color: #eba0ac;
color: #1e1e2e;
}
.floating-notifications.background
.notification-row
.notification-background
.close-button:active {
background-color: #f38ba8;
color: #1e1e2e;
}
.control-center {
box-shadow:
0 0 8px 0 rgba(0, 0, 0, 0.8),
inset 0 0 0 1px #313244;
border-radius: 12.6px;
margin: 18px;
background-color: #1e1e2e;
color: #cdd6f4;
padding: 14px;
}
.control-center .widget-title > label {
color: #cdd6f4;
font-size: 1.3em;
}
.control-center .widget-title button {
border-radius: 7px;
color: #cdd6f4;
background-color: #313244;
box-shadow: inset 0 0 0 1px #45475a;
padding: 8px;
}
.control-center .widget-title button:hover {
box-shadow: inset 0 0 0 1px #45475a;
background-color: #585b70;
color: #cdd6f4;
}
.control-center .widget-title button:active {
box-shadow: inset 0 0 0 1px #45475a;
background-color: #74c7ec;
color: #1e1e2e;
}
.control-center .notification-row .notification-background {
border-radius: 7px;
color: #cdd6f4;
background-color: #313244;
box-shadow: inset 0 0 0 1px #45475a;
margin-top: 14px;
}
.control-center .notification-row .notification-background .notification {
padding: 7px;
border-radius: 7px;
}
.control-center
.notification-row
.notification-background
.notification.critical {
box-shadow: inset 0 0 7px 0 #f38ba8;
}
.control-center
.notification-row
.notification-background
.notification
.notification-content {
margin: 7px;
}
.control-center
.notification-row
.notification-background
.notification
.notification-content
.summary {
color: #cdd6f4;
}
.control-center
.notification-row
.notification-background
.notification
.notification-content
.time {
color: #a6adc8;
}
.control-center
.notification-row
.notification-background
.notification
.notification-content
.body {
color: #cdd6f4;
}
.control-center
.notification-row
.notification-background
.notification
> *:last-child
> * {
min-height: 3.4em;
}
.control-center
.notification-row
.notification-background
.notification
> *:last-child
> *
.notification-action {
border-radius: 7px;
color: #cdd6f4;
background-color: #11111b;
box-shadow: inset 0 0 0 1px #45475a;
margin: 7px;
}
.control-center
.notification-row
.notification-background
.notification
> *:last-child
> *
.notification-action:hover {
box-shadow: inset 0 0 0 1px #45475a;
background-color: #313244;
color: #cdd6f4;
}
.control-center
.notification-row
.notification-background
.notification
> *:last-child
> *
.notification-action:active {
box-shadow: inset 0 0 0 1px #45475a;
background-color: #74c7ec;
color: #cdd6f4;
}
.control-center .notification-row .notification-background .close-button {
margin: 7px;
padding: 2px;
border-radius: 6.3px;
color: #1e1e2e;
background-color: #eba0ac;
}
.close-button {
border-radius: 6.3px;
}
.control-center .notification-row .notification-background .close-button:hover {
background-color: #f38ba8;
color: #1e1e2e;
}
.control-center
.notification-row
.notification-background
.close-button:active {
background-color: #f38ba8;
color: #1e1e2e;
}
.control-center .notification-row .notification-background:hover {
box-shadow: inset 0 0 0 1px #45475a;
background-color: #7f849c;
color: #cdd6f4;
}
.control-center .notification-row .notification-background:active {
box-shadow: inset 0 0 0 1px #45475a;
background-color: #74c7ec;
color: #cdd6f4;
}
.notification.critical progress {
background-color: #f38ba8;
}
.notification.low progress,
.notification.normal progress {
background-color: #89b4fa;
}
.control-center-dnd {
margin-top: 5px;
border-radius: 8px;
background: #313244;
border: 1px solid #45475a;
box-shadow: none;
}
.control-center-dnd:checked {
background: #313244;
}
.control-center-dnd slider {
background: #45475a;
border-radius: 8px;
}
.widget-dnd {
margin: 0px;
font-size: 1.1rem;
}
.widget-dnd > switch {
font-size: initial;
border-radius: 8px;
background: #313244;
border: 1px solid #45475a;
box-shadow: none;
}
.widget-dnd > switch:checked {
background: #313244;
}
.widget-dnd > switch slider {
background: #45475a;
border-radius: 8px;
border: 1px solid #6c7086;
}
.widget-mpris .widget-mpris-player {
background: #313244;
padding: 7px;
}
.widget-mpris .widget-mpris-title {
font-size: 1.2rem;
}
.widget-mpris .widget-mpris-subtitle {
font-size: 0.8rem;
}
.widget-menubar > box > .menu-button-bar > button > label {
font-size: 3rem;
padding: 0.5rem 2rem;
}
.widget-menubar > box > .menu-button-bar > :last-child {
color: #f38ba8;
}
.power-buttons button:hover,
.powermode-buttons button:hover,
.screenshot-buttons button:hover {
background: #313244;
}
.control-center .widget-label > label {
color: #cdd6f4;
font-size: 2rem;
}
.widget-buttons-grid {
padding-top: 1rem;
}
.widget-buttons-grid > flowbox > flowboxchild > button label {
font-size: 2.5rem;
}
.widget-volume {
padding-top: 1rem;
}
.widget-volume label {
font-size: 1.5rem;
color: #74c7ec;
}
.widget-volume trough highlight {
background: #74c7ec;
}
.widget-backlight trough highlight {
background: #f9e2af;
}
.widget-backlight label {
font-size: 1.5rem;
color: #f9e2af;
}
.widget-backlight .KB {
padding-bottom: 1rem;
}
.image {
padding-right: 0.5rem;
}

View file

@ -0,0 +1,173 @@
{
config,
lib,
pkgs,
...
}:
with lib;
with lib.custom; let
cfg = config.apps.helpers.rofi;
in {
options.apps.helpers.rofi = with types; {
enable = mkBoolOpt false "Enable Rofi";
};
config = mkIf cfg.enable {
programs.rofi = {
enable = true;
package = pkgs.rofi;
# Basic configuration
terminal = "ghostty";
font = "Lexend Medium 16px";
extraConfig = {
modi = "drun";
show-icons = true;
drun-display-format = "{icon} {name}";
location = 0;
hide-scrollbar = true;
disable-history = false;
display-drun = " Applications";
display-run = " Run";
display-calc = " Calculator";
display-emoji = " Emojis";
sidebar-mode = false;
# # Timeout settings
# timeout = {
# action = "kb-cancel";
# delay = 0;
# };
#
# filebrowser = {
# "directories-first" = true;
# "sorting-method" = "name";
# };
};
# Theme configuration
theme = let
inherit (config.lib.formats.rasi) mkLiteral;
in {
"*" = {
background = "#181825";
prompt = "#1e1e2e";
border = "#313244";
text = "#cdd6f4";
stext = "#45475a";
select = "#1e1e2e";
"background-color" = mkLiteral "transparent";
"text-color" = mkLiteral "@text";
margin = 0;
padding = 0;
};
"window" = {
transparency = "real";
location = mkLiteral "center";
anchor = mkLiteral "center";
width = mkLiteral "32em";
"x-offset" = mkLiteral "0px";
"y-offset" = mkLiteral "0px";
enabled = true;
border = mkLiteral "2px solid";
"border-color" = mkLiteral "@border";
"border-radius" = mkLiteral "4px";
"background-color" = mkLiteral "@background";
cursor = mkLiteral "default";
};
"inputbar" = {
enabled = true;
"background-color" = mkLiteral "@prompt";
orientation = mkLiteral "horizontal";
children = mkLiteral "[ \"entry\" ]";
};
"entry" = {
enabled = true;
padding = mkLiteral "0.75em 1.25em";
cursor = mkLiteral "text";
placeholder = " Search application...";
"background-color" = mkLiteral "@background";
"placeholder-color" = mkLiteral "@stext";
};
"listview" = {
enabled = true;
columns = 1;
lines = 5;
cycle = true;
dynamic = true;
scrollbar = false;
layout = mkLiteral "vertical";
reverse = false;
"fixed-height" = true;
"fixed-columns" = true;
margin = mkLiteral "0.5em 0 0.75em";
cursor = mkLiteral "default";
};
"element" = {
enabled = true;
margin = mkLiteral "0 0.75em";
padding = mkLiteral "0.5em 1em";
cursor = mkLiteral "pointer";
orientation = mkLiteral "horizontal";
};
"element-icon" = {
size = mkLiteral "24px";
};
"element normal.normal" = {
"background-color" = mkLiteral "inherit";
"text-color" = mkLiteral "inherit";
};
"element selected.normal" = {
border = mkLiteral "2px solid";
"border-color" = mkLiteral "@border";
"border-radius" = mkLiteral "8px";
"background-color" = mkLiteral "@select";
};
"element-text" = {
highlight = mkLiteral "bold";
cursor = mkLiteral "inherit";
"vertical-align" = mkLiteral "0.5";
"horizontal-align" = mkLiteral "0.0";
font = mkLiteral ''"Lexend Medium 16px"'';
};
};
};
# Create the colors.rasi file
xdg.configFile."rofi/colors.rasi".text = ''
* {
background: #181825;
prompt: #1e1e2e;
border: #313244;
text: #cdd6f4;
stext: #45475a;
select: #1e1e2e;
}
'';
# Create the clip theme
xdg.configFile."rofi/clip.rasi".text = ''
@theme "cat-mocha"
@import "./colors.rasi"
entry {
placeholder: " Search clipboard...";
}
element-icon {
enabled: false;
size: 0;
}
'';
};
}

View file

@ -19,153 +19,250 @@ in {
enable = true;
style = ''
* {
color: @text;
font-family: Iosevka Nerd Font;
font-weight: bold;
font-size: 14px;
min-height: 0;
min-width: 0;
font-family: Lexend, "JetBrainsMono NFP";
font-size: 16px;
font-weight: 600;
}
window#waybar {
background-color: rgba(0, 0, 0, 0);
transition-property: background-color;
transition-duration: 0.5s;
/* background-color: #1e1e2e; */
/* background-color: #181825; */
background-color: #11111b;
/* background-color: rgba(24, 24, 37, 0.6); */
}
#waybar > box {
margin: 10px 15px 0px;
background-color: @base;
border: 2px solid @mauve;
#workspaces button {
padding: 0.3rem 0.6rem;
margin: 0.4rem 0.25rem;
border-radius: 6px;
/* background-color: #181825; */
background-color: #1e1e2e;
color: #cdd6f4;
}
#workspaces button:hover {
color: #1e1e2e;
background-color: #cdd6f4;
}
#workspaces button.active {
background-color: #1e1e2e;
color: #89b4fa;
}
#workspaces button.urgent {
background-color: #1e1e2e;
color: #f38ba8;
}
#workspaces,
#window,
#idle_inhibitor,
#wireplumber,
#network,
#cpu,
#memory,
#battery,
#clock,
#power-profiles-daemon,
#pulseaudio,
#custom-logo,
#custom-power,
#custom-spotify,
#custom-notification,
#cpu,
#tray,
#waybar > box {
border-radius: 12px;
#memory,
#window,
#mpris {
padding: 0.3rem 0.6rem;
margin: 0.4rem 0.25rem;
border-radius: 6px;
/* background-color: #181825; */
background-color: #1e1e2e;
}
#workspaces * {
color: @red;
#mpris.playing {
color: #a6e3a1;
}
#idle_inhibitor {
color: @peach;
#mpris.paused {
color: #9399b2;
}
#window * {
color: @mauve;
#custom-sep {
padding: 0px;
color: #585b70;
}
#wireplumber {
color: @yellow;
window#waybar.empty #window {
background-color: transparent;
}
#network {
color: @green;
#cpu {
color: #94e2d5;
}
#power-profiles-daemon {
color: @teal;
}
#battery {
color: @blue;
#memory {
color: #cba6f7;
}
#clock {
color: @lavender;
color: #74c7ec;
}
#tray {
color: @text;
#clock.simpleclock {
color: #89b4fa;
}
#idle_inhibitor,
#wireplumber,
#network,
#cpu,
#memory,
#battery,
#clock,
#power-profiles-daemon,
#tray {
padding: 0 5px;
#window {
color: #cdd6f4;
}
#pulseaudio {
color: #b4befe;
}
#pulseaudio.muted {
color: #a6adc8;
}
#custom-logo {
color: #89b4fa;
}
#custom-power {
color: #f38ba8;
}
tooltip {
background-color: #181825;
border: 2px solid #89b4fa;
}
'';
settings = {
mainBar = {
layer = "top";
layer = "bottom";
position = "top";
spacing = 4;
modules-left = [
"hyprland/workspaces"
"hyprland/window"
];
modules-center = [
];
modules-right = [
"idle_inhibitor"
"wireplumber"
"network"
"power-profiles-daemon"
"battery"
height = 40;
spacing = 2;
exclusive = true;
"gtk-layer-shell" = true;
passthrough = false;
"fixed-center" = true;
"modules-left" = ["hyprland/workspaces" "hyprland/window"];
"modules-center" = ["mpris"];
"modules-right" = [
"cpu"
"memory"
"pulseaudio"
"clock"
"clock#simpleclock"
"tray"
"custom/notification"
"custom/power"
];
"custom/spotify" = {
format = " {}";
"return-type" = "json";
"on-click" = "playerctl -p spotify play-pause";
"on-click-right" = "spotifatius toggle-liked";
"on-click-middle" = "playerctl -p spotify next";
exec = "spotifatius monitor";
};
mpris = {
player = "spotify";
"dynamic-order" = ["artist" "title"];
format = "{player_icon} {dynamic}";
"format-paused" = "{status_icon} <i>{dynamic}</i>";
"status-icons" = {
paused = "";
};
"player-icons" = {
default = "";
};
};
"hyprland/workspaces" = {
disable-scroll = true;
all-outputs = true;
warp-on-scroll = false;
format = "{name}: {icon}";
format-icons = {
"urgent" = "";
"active" = "";
"default" = "";
};
"on-click" = "activate";
format = "{id}";
"all-outputs" = true;
"disable-scroll" = false;
"active-only" = false;
};
#cava = {
# cava_config = "$HOME/.config/cava/config";
# framerate = 60;
# bars = 16;
# method = "pipewire";
# format-icons = ["▁" "▂" "▃" "▄" "▅" "▆" "▇" "█" ];
# bar_delimiter = 0;
#};
idle_inhibitor = {
format = "Idle: {icon} ";
format-icons = {
"deactivated" = "";
"activated" = "";
};
"hyprland/window" = {
format = "{title}";
};
wireplumber = {
format = "Volume: {icon} {volume}% ";
format-icons = ["" "" ""];
format-muted = "Muted ";
tray = {
"show-passive-items" = true;
spacing = 10;
};
"clock#simpleclock" = {
tooltip = false;
format = " {:%H:%M}";
};
clock = {
format = " {:%H:%M}";
format = " {:L%a %d %b}";
calendar = {
format = {
days = "<span weight='normal'>{}</span>";
months = "<span color='#cdd6f4'><b>{}</b></span>";
today = "<span color='#f38ba8' weight='700'><u>{}</u></span>";
weekdays = "<span color='#f9e2af'><b>{}</b></span>";
weeks = "<span color='#a6e3a1'><b>W{}</b></span>";
};
mode = "month";
"mode-mon-col" = 1;
"on-scroll" = 1;
};
"tooltip-format" = "<span color='#cdd6f4' font='Lexend 16'><tt><small>{calendar}</small></tt></span>";
};
network = {
format = " {essid} 󰓅 {signalStrength}";
cpu = {
format = " {usage}%";
tooltip = true;
interval = 1;
};
battery = {
format-icons = ["" "" "" "" ""];
format = "{icon} {capacity}%";
memory = {
format = " {used:0.1f}Gi";
};
pulseaudio = {
format = "{icon} {volume}%";
"format-muted" = " muted";
"format-icons" = {
headphone = "";
default = [" " " " " "];
};
"on-click" = "pavucontrol";
};
"custom/sep" = {
format = "|";
tooltip = false;
};
"custom/power" = {
tooltip = false;
"on-click" = "wlogout -p layer-shell &";
format = "";
};
"custom/notification" = {
escape = true;
exec = "swaync-client -swb";
"exec-if" = "which swaync-client";
format = "{icon}";
"format-icons" = {
none = "󰅺";
notification = "󰡟";
};
"on-click" = "sleep 0.1 && swaync-client -t -sw";
"return-type" = "json";
tooltip = false;
};
};
};

View file

@ -6,6 +6,24 @@ return {
news = { lazyvim = false },
},
},
{
"snacks.nvim",
opts = {
scroll = {
enabled = false,
},
dashboard = {
preset = {
header = [[
l
l ~
f_,)
]],
},
},
},
},
{
"catppuccin",
opts = { transparent_background = true, integrations = {
@ -34,16 +52,6 @@ return {
nerd_font_variant = "mono",
},
},
{
"karb94/neoscroll.nvim",
config = function()
require("neoscroll").setup({})
end,
},
{
"sphamba/smear-cursor.nvim",
opts = {},
},
{
"folke/snacks.nvim",
priority = 1000,

View file

@ -17,6 +17,11 @@ in {
config = mkIf cfg.enable {
catppuccin.pointerCursor.enable = true;
home.pointerCursor = {
gtk.enable = true;
x11.enable = true;
};
gtk = {
enable = true;
@ -27,12 +32,12 @@ in {
theme = {
name = "Tokyonight-Dark";
package = pkgs-unstable.tokyonight-gtk-theme;
package = pkgs.tokyonight-gtk-theme;
};
iconTheme = {
name = "Papirus-Dark";
package = pkgs-unstable.catppuccin-papirus-folders.override {
package = pkgs.catppuccin-papirus-folders.override {
accent = ctp.accent;
flavor = ctp.flavor;
};

View file

@ -0,0 +1,49 @@
{
pkgs,
lib,
config,
...
}:
with lib;
with pkgs; {
ytmp3 = ''
${getExe yt-dlp} -x --continue --add-metadata --embed-thumbnail --audio-format mp3 --audio-quality 0 --metadata-from-title="%(artist)s - %(title)s" --prefer-ffmpeg -o "%(title)s.%(ext)s"'';
cat = "${getExe bat} --style=plain";
vpn = "mullvad";
uuid = "cat /proc/sys/kernel/random/uuid";
grep = getExe ripgrep;
fzf = getExe skim;
untar = "tar -xvf";
untargz = "tar -xzf";
du = getExe du-dust;
ps = getExe procs;
lb = "pw-loopback -C \"alsa_input.pci-0000_0d_00.4.analog-stereo\" -P \"Scarlett Solo (3rd Gen.) Headphones / Line 1-2\"";
deploy = "nixos-rebuild switch --flake ~/nixos#pluto --target-host zoeys.computer --use-remote-sudo";
m = "mkdir -p";
fcd = "cd $(find -type d | fzf)";
l = "ls -lF --time-style=long-iso --icons";
sc = "sudo systemctl";
scu = "systemctl --user ";
la = "${getExe eza} -lah --tree";
ls = "${getExe eza} -h --git --icons --color=auto --group-directories-first -s extension";
tree = "${getExe eza} --tree --icons --tree";
kys = "shutdown now";
gpl = "curl https://www.gnu.org/licenses/gpl-3.0.txt -o LICENSE";
agpl = "curl https://www.gnu.org/licenses/agpl-3.0.txt -o LICENSE";
tsm = "transmission-remote";
g = "git";
n = "nix";
r = "rebuild";
vm = "nixos-rebuild build-vm --flake ~/nixos#earth";
mnt = "udisksctl mount -b";
umnt = "udisksctl unmount -b";
burn = "pkill -9";
diff = "diff --color=auto";
wu = "vpn disconnect -w && awsvpnclient start --config ~/Downloads/cvpn-endpoint-085400ccc19bb4a17.ovpn";
"v" = "nvim";
".." = "cd ..";
"..." = "cd ../../";
"...." = "cd ../../../";
"....." = "cd ../../../../";
"......" = "cd ../../../../../";
}

View file

@ -0,0 +1,144 @@
{
options,
config,
lib,
pkgs,
...
}:
with lib;
with lib.custom; let
cfg = config.shells.fish;
in {
options.shells.fish = with types; {
enable = mkBoolOpt false "Enable Fish Configuration";
};
config = mkIf cfg.enable {
programs.fish = {
enable = true;
generateCompletions = true;
interactiveShellInit = ''
set -gx LC_ALL en_US.UTF-8
set -gx SSH_AUTH_SOCK /run/user/1000/keyring/ssh
set -gx FLAKE /home/zoey/nixos/
set -g FZF_PREVIEW_FILE_CMD "head -n 10"
set -g FZF_PREVIEW_DIR_CMD "ls"
'';
plugins = [
{
name = "foreign-env";
src = pkgs.fishPlugins.foreign-env.src;
}
{
name = "fzf.fish";
src = pkgs.fishPlugins.fzf-fish.src;
}
{
name = "z";
src = pkgs.fishPlugins.z.src;
}
{
name = "done";
src = pkgs.fishPlugins.done.src;
}
{
name = "colored-man-pages";
src = pkgs.fishPlugins.colored-man-pages.src;
}
];
functions = {
pf = ''
fzf --bind ctrl-y:preview-up,ctrl-e:preview-down \
--bind ctrl-b:preview-page-up,ctrl-f:preview-page-down \
--bind ctrl-u:preview-half-page-up,ctrl-d:preview-half-page-down \
--bind ctrl-k:up,ctrl-j:down \
--preview='bat --style=numbers --color=always --line-range :100 {}'
'';
ff = ''
for file in (pf)
set cmd "v $file"
echo $cmd
eval $cmd
end
'';
};
shellAliases = import ./aliases.nix {inherit pkgs lib config;};
};
home.packages = with pkgs; [
gnumake
# Runs programs without installing them
comma
# grep replacement
ripgrep
# ping, but with cool graph
gping
fzf
# dns client
dogdns
# neofetch but for git repos
onefetch
# neofetch but for cpu's
cpufetch
# download from yt and other websites
yt-dlp
zsh-history
# man pages for tiktok attention span mfs
tealdeer
# markdown previewer
glow
# profiling tool
hyperfine
imagemagick
ffmpeg-full
# preview images in terminal
catimg
# networking stuff
nmap
wget
# faster find
fd
# http request thingy
xh
# generate regex
grex
# json thingy
jq
# syncthnig for acoustic people
rsync
figlet
# Generate qr codes
qrencode
# script kidde stuff
hcxdumptool
hashcat
unzip
];
};
}

View file

@ -0,0 +1,51 @@
{
pkgs,
lib,
config,
...
}:
with lib;
with pkgs; {
ytmp3 = ''
${getExe yt-dlp} -x --continue --add-metadata --embed-thumbnail --audio-format mp3 --audio-quality 0 --metadata-from-title="%(artist)s - %(title)s" --prefer-ffmpeg -o "%(title)s.%(ext)s"'';
cat = "${getExe bat} --style=plain";
vpn = "mullvad";
uuid = "cat /proc/sys/kernel/random/uuid";
grep = getExe ripgrep;
fzf = getExe skim;
untar = "tar -xvf";
untargz = "tar -xzf";
MANPAGER = "sh -c 'col -bx | bat -l man -p'";
du = getExe du-dust;
ps = getExe procs;
lb = "pw-loopback -C \"alsa_input.pci-0000_0d_00.4.analog-stereo\" -P \"Scarlett Solo (3rd Gen.) Headphones / Line 1-2\"";
deploy = "nixos-rebuild switch --flake ~/nixos#pluto --target-host zoeys.computer --use-remote-sudo";
m = "mkdir -p";
fcd = "cd $(find -type d | fzf)";
l = "ls -lF --time-style=long-iso --icons";
sc = "sudo systemctl";
scu = "systemctl --user ";
la = "${getExe eza} -lah --tree";
ls = "${getExe eza} -h --git --icons --color=auto --group-directories-first -s extension";
tree = "${getExe eza} --tree --icons --tree";
kys = "shutdown now";
lv = "nvim -c \"normal '\''0\"";
gpl = "curl https://www.gnu.org/licenses/gpl-3.0.txt -o LICENSE";
agpl = "curl https://www.gnu.org/licenses/agpl-3.0.txt -o LICENSE";
tsm = "transmission-remote";
g = "git";
n = "nix";
r = "rebuild";
vm = "nixos-rebuild build-vm --flake ~/nixos#earth";
mnt = "udisksctl mount -b";
umnt = "udisksctl unmount -b";
burn = "pkill -9";
diff = "diff --color=auto";
wu = "vpn disconnect -w && awsvpnclient start --config ~/Downloads/cvpn-endpoint-085400ccc19bb4a17.ovpn";
"v" = "nvim";
".." = "cd ..";
"..." = "cd ../../";
"...." = "cd ../../../";
"....." = "cd ../../../../";
"......" = "cd ../../../../../";
}

View file

@ -0,0 +1,92 @@
{
options,
config,
lib,
pkgs,
...
}:
with lib;
with lib.custom; let
cfg = config.shells.nu;
in {
options.shells.nu = with types; {
enable = mkBoolOpt false "Enable Nushell Configuration";
};
config = mkIf cfg.enable {
programs.nushell = {
enable = true;
# Nushell doesn't need generateCompletions like fish
extraConfig = ''
# Environment variables
let-env LC_ALL = "en_US.UTF-8"
let-env SSH_AUTH_SOCK = "/run/user/1000/keyring/ssh"
let-env FLAKE = "/home/zoey/nixos/"
# FZF settings
let-env FZF_PREVIEW_FILE_CMD = "head -n 10"
let-env FZF_PREVIEW_DIR_CMD = "ls"
def pf [] {
fzf --bind ctrl-y:preview-up,ctrl-e:preview-down \
--bind ctrl-b:preview-page-up,ctrl-f:preview-page-down \
--bind ctrl-u:preview-half-page-up,ctrl-d:preview-half-page-down \
--bind ctrl-k:up,ctrl-j:down \
--preview='bat --style=numbers --color=always --line-range :100 {}'
}
def ff [] {
let files = (pf)
for file in $files {
let cmd = $"v ($file)"
echo $cmd
nu -c $cmd
}
}
'';
# Nushell handles plugins differently, you might want to use modules instead
# or configure external tools directly
extraEnv = ''
# Add any environment-specific configuration here
'';
# Import aliases (you'll need to convert fish aliases to Nushell format)
shellAliases = import ./aliases.nix {inherit pkgs lib config;};
};
home.packages = with pkgs; [
gnumake
comma
ripgrep
gping
fzf
dogdns
onefetch
cpufetch
yt-dlp
zsh-history
tealdeer
glow
hyperfine
imagemagick
ffmpeg-full
catimg
nmap
wget
fd
xh
grex
jq
rsync
figlet
qrencode
hcxdumptool
hashcat
unzip
];
};
}

View file

@ -48,22 +48,21 @@ in {
xwayland.enable = true;
package = inputs.hyprland.packages.${pkgs.system}.hyprland;
# systemd = {
# enable = true;
systemd = {
enable = true;
# enableXdgAutostart = true;
# variables = ["-all"];
# };
variables = ["-all"];
};
};
wayland.windowManager.hyprland.settings = with colors; {
exec-once = [
"pw-loopback -C \"alsa_input.pci-0000_0d_00.4.analog-stereo\" -P \"Scarlett Solo (3rd Gen.) Headphones / Line 1-2\""
# "systemctl --user import-environment DISPLAY WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
"dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
"systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
# "dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
# "systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
"zen"
"sleep 6;telegram-desktop"
"sleep 10;thunderbird"
"telegram-desktop"
"thunderbird"
"vesktop"
"spotify"
"slack"
@ -77,9 +76,9 @@ in {
bind =
[
''${mod},RETURN,exec,${pkgs.kitty}/bin/kitty''
''${mod},RETURN,exec,${pkgs.ghostty}/bin/ghostty''
"${mod},D,exec,killall anyrun || anyrun"
"${mod},D,exec,rofi -show drun"
"${mod},Q,killactive"
"${mod},M,exit"
"${mod},P,pseudo"
@ -139,13 +138,12 @@ in {
decoration = {
# fancy corners
rounding = 10;
rounding = 4;
# blur
blur = {
enabled = true;
size = 2;
passes = 5;
ignore_opacity = false;
size = 6;
passes = 2;
new_optimizations = 1;
contrast = 1;
brightness = 1;
@ -153,10 +151,10 @@ in {
shadow = {
# shadow config
enabled = true;
range = 60;
render_power = 5;
color = "rgba(07061f29)";
enabled = false;
# range = 60;
# render_power = 5;
# color = "rgba(07061f29)";
};
};
@ -166,11 +164,11 @@ in {
force_default_wallpaper = 0;
disable_hyprland_logo = true;
vfr = false;
vfr = true;
# dpms
mouse_move_enables_dpms = true; # enable dpms on mouse/touchpad action
key_press_enables_dpms = true; # enable dpms on keyboard action
# mouse_move_enables_dpms = true; # enable dpms on mouse/touchpad action
# key_press_enables_dpms = true; # enable dpms on keyboard action
disable_autoreload = true; # autoreload is unnecessary on nixos, because the config is readonly anyway
};
@ -218,6 +216,7 @@ in {
"workspace special silent, title:^(Firefox Sharing Indicator)$"
"workspace special silent, title:^(.*is sharing (your screen|a window)\.)$"
"opacity 0.9 override,class:^(zen)"
"workspace 5, class:^(thunderbird)$"
"workspace 4, title:^(.*(Disc|WebC)ord.*)$"
"workspace 4, class:^(.*Slack.*)$"
@ -233,12 +232,12 @@ in {
# # fake a tray to let apps start
# # https://github.com/nix-community/home-manager/issues/2064
# systemd.user.targets.tray = {
# Unit = {
# Description = "Home Manager System Tray";
# Requires = ["graphical-session-pre.target"];
# };
# };
systemd.user.targets.tray = {
Unit = {
Description = "Home Manager System Tray";
Requires = ["graphical-session-pre.target"];
};
};
systemd.user.services = {
swaybg = mkService {

View file

@ -19,13 +19,13 @@ in {
enable = true;
settings = {
spawn = [
"firefox"
"kitty"
"zen"
"ghostty"
];
map = {
normal = {
"${super} Return" = "spawn kitty";
"${super} Return" = "spawn ghostty";
"${super} Q" = "close";
"${super} M" = "exit";
"${super} D" = "spawn anyrun";

View file

@ -38,8 +38,8 @@ in {
"https://github.com"
"git+https://github.com/"
"git+ssh://github.com/"
"git+https://git.zoeys.computer/"
"git+ssh://git.zoeys.computer/"
"git+https://git.zoeys.cloud/"
"git+ssh://git.zoeys.cloud/"
"path:"
];
trustedUsers = ["hydra"]; # Ensure hydra user is trusted for nix

View file

@ -29,27 +29,26 @@ in {
lexend
jost
dejavu_fonts
iosevka
# (pkgs-unstable.iosevka.override {
# set = "Custom";
# privateBuildPlan = ''
# [buildPlans.IosevkaCustom]
# family = "Iosevka"
# spacing = "normal"
# serifs = "sans"
# noCvSs = true
# exportGlyphNames = true
#
# [buildPlans.IosevkaCustom.variants]
# inherits = "ss14"
# '';
# })
# iosevka
(iosevka.override {
set = "Custom";
privateBuildPlan = ''
[buildPlans.IosevkaCustom]
family = "Iosevka"
spacing = "normal"
serifs = "sans"
noCvSs = true
exportGlyphNames = true
[buildPlans.IosevkaCustom.variants]
inherits = "ss03"
'';
})
noto-fonts
noto-fonts-cjk-sans
noto-fonts-emoji
jetbrains-mono
nerd-fonts.iosevka
nerd-fonts.zed-mono
# (nerdfonts.override {fonts = ["ZedMono" "Iosevka"];})
];

View file

@ -6,6 +6,7 @@
mkShell {
packages = with pkgs; [
nil
nixd
alejandra
stylua
lua-language-server

View file

@ -21,8 +21,8 @@
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 14d";
dates = "daily";
options = "--delete-older-than 1d";
};
hardware.audio.enable = true;
@ -38,6 +38,8 @@
protocols.wayland.enable = true;
programs.openvpn3.enable = true;
services.udev.extraRules = ''
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0664", GROUP="plugdev"
'';
@ -81,7 +83,7 @@
# insertNameservers = ["1.1.1.1" "1.0.0.1"];
};
boot.kernelPackages = lib.custom.pkgs-unstable.linuxPackages_zen;
boot.kernelPackages = pkgs.linuxPackages_zen;
boot.supportedFilesystems = ["ntfs"];
services.dlna.enable = false;
@ -98,14 +100,15 @@
pkgs.mangohud
pkgs.transmission_4
inputs.agenix.packages.${system}.agenix
inputs.awsvpnclient.packages."${pkgs.system}".awsvpnclient
];
programs.zsh.enable = true;
programs.fish.enable = true;
users.users.zoey = {
isNormalUser = true;
description = "zoey";
extraGroups = ["networkmanager" "wheel" "docker" "libvirtd" "plugdev"];
shell = pkgs.zsh;
shell = pkgs.fish;
initialHashedPassword = "$6$rounds=2000000$rFBJH7LwdEHvv.0i$HdHorWqp8REPdWPk5fEgZXX1TujRJkMxumGK0f0elFN0KRPlBjJMW2.35A.ID/o3eC/hGTwbSJAcJcwVN2zyV/";
};