This commit is contained in:
zack 2025-01-12 13:37:57 -05:00
parent 5c08802127
commit 9bc381a8bf
No known key found for this signature in database
GPG key ID: EE8A2B709E2401D1
13 changed files with 767 additions and 70 deletions

104
flake.lock generated
View file

@ -250,11 +250,11 @@
]
},
"locked": {
"lastModified": 1736437680,
"narHash": "sha256-9Sy17XguKdEU9M5peTrkWSlI/O5IAqjHzdzxbXnc30g=",
"lastModified": 1736591904,
"narHash": "sha256-LFO8pSrPKrH8OPq2HaAuBG5skk8/MNJ/9YmK3KsnSks=",
"owner": "nix-community",
"repo": "disko",
"rev": "4d5d07d37ff773338e40a92088f45f4f88e509c8",
"rev": "33827d2bd16bfe2e21b62956526c72d313595dfd",
"type": "github"
},
"original": {
@ -269,11 +269,11 @@
"nixpkgs-stable": "nixpkgs-stable_2"
},
"locked": {
"lastModified": 1736439709,
"narHash": "sha256-xqI6k20Km13wM3FLM9+609fTBjOvKG7qhzt8U+tMXqA=",
"lastModified": 1736615554,
"narHash": "sha256-R/YjqNsVVSzJT50zPRaxwr0foAMIGfeoqU2jOF4G5qk=",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "aaf6d1443de5e2bf18231f4c1e435c5ff0cb667c",
"rev": "38789ef3dafe7a3a8927ccc874ddc90d0d5ef3b2",
"type": "github"
},
"original": {
@ -567,11 +567,11 @@
"nixpkgs-lib": "nixpkgs-lib_3"
},
"locked": {
"lastModified": 1735774679,
"narHash": "sha256-soePLBazJk0qQdDVhdbM98vYdssfs3WFedcq+raipRI=",
"lastModified": 1736143030,
"narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "f2f7418ce0ab4a5309a4596161d154cfc877af66",
"rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de",
"type": "github"
},
"original": {
@ -862,11 +862,11 @@
"zig": "zig"
},
"locked": {
"lastModified": 1736436522,
"narHash": "sha256-9UHWb2T2VJRYN+72yEFjXgJcuFZqKQSHggj6oy9tzJs=",
"lastModified": 1736633944,
"narHash": "sha256-AQsDtTcYFN1ETxeETysvI0f79/5DHQ4ON4c9quB9vrg=",
"owner": "ghostty-org",
"repo": "ghostty",
"rev": "12ce9f2e3b19cf1810746dcfe5b19f173004e256",
"rev": "bdbd0263a1c55e656408c772718370c92374bedb",
"type": "github"
},
"original": {
@ -1057,11 +1057,11 @@
]
},
"locked": {
"lastModified": 1736421950,
"narHash": "sha256-RyrX0WFXxFrYvzHNLTIyuk3NcNl3UBykuYru/P0zW5E=",
"lastModified": 1736508663,
"narHash": "sha256-ZOaGwa+WnB7Zn3YXimqjmIugAnHePdXCmNu+AHkq808=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "d4aebb947a301b8da8654a804979a738c5c5da50",
"rev": "2532b500c3ed2b8940e831039dcec5a5ea093afc",
"type": "github"
},
"original": {
@ -1168,11 +1168,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1736421227,
"narHash": "sha256-7+KsJapwZ2pk9ETeoA3TkTh7nYu3BwiAo3NIIkaOFyE=",
"lastModified": 1736613484,
"narHash": "sha256-gYlminxNivqjOur5Zp6xDOh1U3VesO7/t+fNlV1WFH8=",
"ref": "refs/heads/main",
"rev": "e66eab7b6a90514251439f661454c536afa3e5c8",
"revCount": 5652,
"rev": "2778aff08fba59a34b404751039d7acb6bfb3bdf",
"revCount": 5665,
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
@ -1531,11 +1531,11 @@
"treefmt-nix": "treefmt-nix_3"
},
"locked": {
"lastModified": 1736381117,
"narHash": "sha256-eRiPgvGpaUrV4u2L/AKKr+G9PZX5YW3huIIdzbmniCg=",
"lastModified": 1736553940,
"narHash": "sha256-xicqHwvq2S/Y36DwcY+xGy6+4jdFT78bclBhwjs4KJY=",
"owner": "nix-community",
"repo": "neovim-nightly-overlay",
"rev": "177f38b4172b316a48f9ec5b41907b0ad7e0909f",
"rev": "b2237869f288c278b6fd429445d460cb44a0e788",
"type": "github"
},
"original": {
@ -1547,11 +1547,11 @@
"neovim-src": {
"flake": false,
"locked": {
"lastModified": 1736358981,
"narHash": "sha256-FqAUWN8GTlSLz4uiQZyH+DPaGShhC/GP3nwjEoaMXMY=",
"lastModified": 1736553525,
"narHash": "sha256-Kfx1r0yVTTa83EdP7Ta5ValnXy4ak3F10hHCymDAU7o=",
"owner": "neovim",
"repo": "neovim",
"rev": "c4b658fed8d96a4c4098ce59b01b228ef0bda62e",
"rev": "fbe546e25d21f3184814d696c329d23d146bd615",
"type": "github"
},
"original": {
@ -1598,11 +1598,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1736344531,
"narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=",
"lastModified": 1736523798,
"narHash": "sha256-Xb8mke6UCYjge9kPR9o4P1nVrhk7QBbKv3xQ9cj7h2s=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912",
"rev": "130595eba61081acde9001f43de3248d8888ac4a",
"type": "github"
},
"original": {
@ -1736,11 +1736,11 @@
},
"nixpkgs-stable_5": {
"locked": {
"lastModified": 1736441030,
"narHash": "sha256-WKqLoutZ5SsKscm72RtUWKKlPPNXypeWbyHD0Ug8zv0=",
"lastModified": 1736634154,
"narHash": "sha256-7Qoh6wVDj2Tov7uV2szrsVV4mJruh295DPd4EcBkL9c=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "ad0b2d32fdee8f224961a4063dff959f5cf303d7",
"rev": "56571f191ac650bb336b1451253add751ef91b1a",
"type": "github"
},
"original": {
@ -1800,11 +1800,11 @@
},
"nixpkgs_12": {
"locked": {
"lastModified": 1736241350,
"narHash": "sha256-CHd7yhaDigUuJyDeX0SADbTM9FXfiWaeNyY34FL1wQU=",
"lastModified": 1736320768,
"narHash": "sha256-nIYdTAiKIGnFNugbomgBJR+Xv5F1ZQU+HfaBqJKroC0=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8c9fd3e564728e90829ee7dbac6edc972971cd0f",
"rev": "4bc9c909d9ac828a039f288cf872d16d38185db8",
"type": "github"
},
"original": {
@ -2203,11 +2203,11 @@
"systems": "systems_17"
},
"locked": {
"lastModified": 1736428350,
"narHash": "sha256-rQlbWYRrJ9bqaPF1Bkv0pDkOhDaVupohWQjK1foAfyk=",
"lastModified": 1736531727,
"narHash": "sha256-OP1LAyC8RE/TuqHZ9sEfEWBRZnGlLNsmCRngI0608LY=",
"owner": "raphamorim",
"repo": "rio",
"rev": "a1731d60967d4b2dcab5d66ec714cc915e5d42d9",
"rev": "6239ed8df9ef6f922d34df3268aa2000cb1d8b32",
"type": "github"
},
"original": {
@ -2318,11 +2318,11 @@
"nixpkgs": "nixpkgs_16"
},
"locked": {
"lastModified": 1735957590,
"narHash": "sha256-vbkoQTInunSjwx9DKebbCNBq9bim8CRj1VbS4eiABfg=",
"lastModified": 1736476219,
"narHash": "sha256-+qyv3QqdZCdZ3cSO/cbpEY6tntyYjfe1bB12mdpNFaY=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "d40e15e076bcedc5bf5498a0f8ff5f18de4bf8c3",
"rev": "de30cc5963da22e9742bbbbb9a3344570ed237b9",
"type": "github"
},
"original": {
@ -2338,11 +2338,11 @@
]
},
"locked": {
"lastModified": 1736438724,
"narHash": "sha256-m0CFbWVKtXsAr5OBgWNwR8Uam/jkPIjWgJkdH9DY46M=",
"lastModified": 1736632357,
"narHash": "sha256-o+XYHMxGi8oiJlQ7UkDv0lzUuED6iaxZwPzD3kY7R38=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "15897cf5835bb95aa002b42c22dc61079c28f7c8",
"rev": "09f2869b164f8b6d5e30f0bd7ed30d6eb8237058",
"type": "github"
},
"original": {
@ -2428,11 +2428,11 @@
]
},
"locked": {
"lastModified": 1736396171,
"narHash": "sha256-1Pr1csD6wVTI2M+Dld77cc+PY83eKoO7ItIrvySWcmU=",
"lastModified": 1736568948,
"narHash": "sha256-nnaMeMQPDg1GLQPBejn4nBtvQKSRVv64IIPZ7XmX5u0=",
"owner": "Gerg-L",
"repo": "spicetify-nix",
"rev": "511074b9bed99e5cd4ef84999518970fd21af243",
"rev": "3da50a44c6c47b3361e56231123797101892c565",
"type": "github"
},
"original": {
@ -2837,11 +2837,11 @@
]
},
"locked": {
"lastModified": 1736001503,
"narHash": "sha256-pE7ZjfeKSrz1X4JLWC0j1XX9lSlMTdpMtNe4frzuzIg=",
"lastModified": 1736498040,
"narHash": "sha256-fen7o+m7nVlRc1YEhxdWXZTZvcTYEy078nrccTulb7w=",
"owner": "Alexays",
"repo": "Waybar",
"rev": "9d9f1d6819f244af2e0bcae43c09ddcd2cf6d4ad",
"rev": "369c81d6f29e46287a961e8ef26dbf349021d4fb",
"type": "github"
},
"original": {
@ -2896,11 +2896,11 @@
"nixpkgs": "nixpkgs_17"
},
"locked": {
"lastModified": 1736267677,
"narHash": "sha256-7FH/gFShKOzf46yKqA4VWAaWxuyHBRnXOdaffbTxVo4=",
"lastModified": 1736565714,
"narHash": "sha256-/OyRMWPzV7027/Zvi5Kwb7D8UM0mhRLqPkC0WRHre2I=",
"owner": "0xc000022070",
"repo": "zen-browser-flake",
"rev": "c96c6a1ebf1bea782f9528dc316d986a6087ebc0",
"rev": "48a7f03cdc23ca81c668d0f09ea4ab2278f61162",
"type": "github"
},
"original": {

View file

@ -25,6 +25,7 @@
term.foot.enable = true;
# term.rio.enable = true;
term.alacritty.enable = true;
term.ghostty.enable = true;
music.spotify.enable = true;
@ -64,6 +65,31 @@
"x-scheme-handler/https" = "zen_twilight.desktop";
"x-scheme-handler/about" = "zen_twilight.desktop";
"x-scheme-handler/unknown" = "zen_twilight.desktop";
"inode/directory" = ["org.gnome.Nautilus.desktop"];
"image/jpeg" = ["org.gnome.Loupe.desktop"];
"image/png" = ["org.gnome.Loupe.desktop"];
"image/gif" = ["org.gnome.Loupe.desktop"];
"image/webp" = ["org.gnome.Loupe.desktop"];
"image/tiff" = ["org.gnome.Loupe.desktop"];
"image/bmp" = ["org.gnome.Loupe.desktop"];
"image/x-icon" = ["org.gnome.Loupe.desktop"];
"image/svg+xml" = ["org.gnome.Loupe.desktop"];
};
};
dconf.settings = {
"org/gnome/nautilus/preferences" = {
"default-folder-viewer" = "list-view";
"search-filter-time-type" = "last_modified";
};
"org/gnome/terminal/legacy/profiles:" = {
"default" = "kitty";
};
"org/gnome/Loupe" = {
"interpolation-quality" = "high"; # Set image scaling quality
"zoom-gesture" = true; # Enable zoom gesture
};
};
@ -85,10 +111,10 @@
pkgs.uutils-coreutils-noprefix
pkgs.yazi
pkgs.ghostty
pkgs.thunderbird
pkgs.custom.nvidia-nsight
pkgs.custom.enc
pkgs.nix-tree
@ -107,8 +133,6 @@
pkgs.neovide
pkgs.xfce.thunar
pkgs.feh
pkgs.nitch
pkgs.nix-output-monitor
pkgs.fastfetch
@ -131,9 +155,13 @@
pkgs.zed-editor
pkgs.rmpc
inputs.zen-browser.packages.${pkgs.system}.twilight
inputs.zen-browser.packages.${pkgs.system}.beta
pkgs.mpc-cli
pkgs.nautilus
pkgs.nautilus-python
pkgs.loupe
pkgs.openvpn
pkgs.telegram-desktop
pkgs.linux-manual
@ -146,10 +174,10 @@
options = ["--cmd cd"];
};
# programs.cava = {
# enable = true;
# catppuccin.enable = true;
# };
programs.cava = {
enable = true;
catppuccin.enable = true;
};
programs.btop = {
enable = true;

View file

@ -15,6 +15,354 @@ in {
};
config = mkIf cfg.enable {
services.swaync = {
enable = true;
style = ''
* {
all: unset;
font-size: 14px;
font-family: "Cantarell";
transition: 200ms;
}
trough highlight {
background: #cad3f5;
}
scale trough {
margin: 0rem 1rem;
background-color: #363a4f;
min-height: 8px;
min-width: 70px;
}
slider {
background-color: #8aadf4;
}
.floating-notifications.background .notification-row .notification-background {
box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.8), inset 0 0 0 1px #363a4f;
border-radius: 12.6px;
margin: 18px;
background-color: #24273a;
color: #cad3f5;
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 #ed8796;
}
.floating-notifications.background .notification-row .notification-background .notification .notification-content {
margin: 7px;
}
.floating-notifications.background .notification-row .notification-background .notification .notification-content .summary {
color: #cad3f5;
}
.floating-notifications.background .notification-row .notification-background .notification .notification-content .time {
color: #a5adcb;
}
.floating-notifications.background .notification-row .notification-background .notification .notification-content .body {
color: #cad3f5;
}
.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: #cad3f5;
background-color: #363a4f;
box-shadow: inset 0 0 0 1px #494d64;
margin: 7px;
}
.floating-notifications.background .notification-row .notification-background .notification > *:last-child > * .notification-action:hover {
box-shadow: inset 0 0 0 1px #494d64;
background-color: #363a4f;
color: #cad3f5;
}
.floating-notifications.background .notification-row .notification-background .notification > *:last-child > * .notification-action:active {
box-shadow: inset 0 0 0 1px #494d64;
background-color: #7dc4e4;
color: #cad3f5;
}
.floating-notifications.background .notification-row .notification-background .close-button {
margin: 7px;
padding: 2px;
border-radius: 6.3px;
color: #24273a;
background-color: #ed8796;
}
.floating-notifications.background .notification-row .notification-background .close-button:hover {
background-color: #ee99a0;
color: #24273a;
}
.floating-notifications.background .notification-row .notification-background .close-button:active {
background-color: #ed8796;
color: #24273a;
}
.control-center {
box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.8), inset 0 0 0 1px #363a4f;
border-radius: 12.6px;
margin: 18px;
background-color: #24273a;
color: #cad3f5;
padding: 14px;
}
.control-center .widget-title > label {
color: #cad3f5;
font-size: 1.3em;
}
.control-center .widget-title button {
border-radius: 7px;
color: #cad3f5;
background-color: #363a4f;
box-shadow: inset 0 0 0 1px #494d64;
padding: 8px;
}
.control-center .widget-title button:hover {
box-shadow: inset 0 0 0 1px #494d64;
background-color: #5b6078;
color: #cad3f5;
}
.control-center .widget-title button:active {
box-shadow: inset 0 0 0 1px #494d64;
background-color: #7dc4e4;
color: #24273a;
}
.control-center .notification-row .notification-background {
border-radius: 7px;
color: #cad3f5;
background-color: #363a4f;
box-shadow: inset 0 0 0 1px #494d64;
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 #ed8796;
}
.control-center .notification-row .notification-background .notification .notification-content {
margin: 7px;
}
.control-center .notification-row .notification-background .notification .notification-content .summary {
color: #cad3f5;
}
.control-center .notification-row .notification-background .notification .notification-content .time {
color: #a5adcb;
}
.control-center .notification-row .notification-background .notification .notification-content .body {
color: #cad3f5;
}
.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: #cad3f5;
background-color: #181926;
box-shadow: inset 0 0 0 1px #494d64;
margin: 7px;
}
.control-center .notification-row .notification-background .notification > *:last-child > * .notification-action:hover {
box-shadow: inset 0 0 0 1px #494d64;
background-color: #363a4f;
color: #cad3f5;
}
.control-center .notification-row .notification-background .notification > *:last-child > * .notification-action:active {
box-shadow: inset 0 0 0 1px #494d64;
background-color: #7dc4e4;
color: #cad3f5;
}
.control-center .notification-row .notification-background .close-button {
margin: 7px;
padding: 2px;
border-radius: 6.3px;
color: #24273a;
background-color: #ee99a0;
}
.close-button {
border-radius: 6.3px;
}
.control-center .notification-row .notification-background .close-button:hover {
background-color: #ed8796;
color: #24273a;
}
.control-center .notification-row .notification-background .close-button:active {
background-color: #ed8796;
color: #24273a;
}
.control-center .notification-row .notification-background:hover {
box-shadow: inset 0 0 0 1px #494d64;
background-color: #8087a2;
color: #cad3f5;
}
.control-center .notification-row .notification-background:active {
box-shadow: inset 0 0 0 1px #494d64;
background-color: #7dc4e4;
color: #cad3f5;
}
.notification.critical progress {
background-color: #ed8796;
}
.notification.low progress,
.notification.normal progress {
background-color: #8aadf4;
}
.control-center-dnd {
margin-top: 5px;
border-radius: 8px;
background: #363a4f;
border: 1px solid #494d64;
box-shadow: none;
}
.control-center-dnd:checked {
background: #363a4f;
}
.control-center-dnd slider {
background: #494d64;
border-radius: 8px;
}
.widget-dnd {
margin: 0px;
font-size: 1.1rem;
}
.widget-dnd > switch {
font-size: initial;
border-radius: 8px;
background: #363a4f;
border: 1px solid #494d64;
box-shadow: none;
}
.widget-dnd > switch:checked {
background: #363a4f;
}
.widget-dnd > switch slider {
background: #494d64;
border-radius: 8px;
border: 1px solid #6e738d;
}
.widget-mpris .widget-mpris-player {
background: #363a4f;
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: #ed8796;
}
.power-buttons button:hover,
.powermode-buttons button:hover,
.screenshot-buttons button:hover {
background: #363a4f;
}
.control-center .widget-label > label {
color: #cad3f5;
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: #7dc4e4;
}
.widget-volume trough highlight {
background: #7dc4e4;
}
.widget-backlight trough highlight {
background: #eed49f;
}
.widget-backlight label {
font-size: 1.5rem;
color: #eed49f;
}
.widget-backlight .KB {
padding-bottom: 1rem;
}
.image {
padding-right: 0.5rem;
}
'';
};
programs.waybar = {
enable = true;
systemd.enable = true;
@ -23,7 +371,7 @@ in {
* {
min-height: 0;
min-width: 0;
font-family: Lexend, "JetBrainsMono NFP";
font-family: Cantarell;
font-size: 16px;
font-weight: 600;
}

View file

@ -0,0 +1,37 @@
{
options,
config,
lib,
...
}:
with lib;
with lib.custom; let
cfg = config.apps.term.ghostty;
in {
options.apps.term.ghostty = with types; {
enable = mkBoolOpt false "Enable Ghostty Term";
fonts = {
# normal = mkStringOpt "JetBrainsMonoNL Nerd Font Mono Bold" "Normal Font";
# bold = mkStringOpt "JetBrainsMonoNL Nerd Font Mono ExtraBold" "Bold Font";
# italic = mkStringOpt "JetBrainsMonoNL Nerd Font Mono Bold Italic" "Italic Font";
# bold_italic = mkStringOpt "JetBrainsMonoNL Nerd Font Mono ExtraBold Italic" "Bold Italic Font";
normal = mkStringOpt "Iosevka" "Normal Font";
bold = mkStringOpt "Iosevka ExtraBold" "Bold Font";
italic = mkStringOpt "Iosevka Bold Italic" "Italic Font";
bold_italic = mkStringOpt "Iosevka ExtraBold Italic" "Bold Italic Font";
};
};
config = mkIf cfg.enable {
programs.ghostty = {
enable = true;
settings = {
font-family = cfg.fonts.normal;
gtk-single-instance = true;
gtk-titlebar = false;
};
};
};
}

View file

@ -2,7 +2,7 @@ return {
{
"LazyVim/LazyVim",
opts = {
colorscheme = "catppuccin",
colorscheme = "catppuccin-macchiato",
news = { lazyvim = false },
},
},

View file

@ -26,7 +26,7 @@ in {
enable = true;
font = {
name = "Iosevka";
name = "Cantarell";
size = 11;
};

View file

@ -45,6 +45,7 @@ in {
wayland.windowManager.hyprland = {
enable = true;
package = inputs.hyprland.packages.${pkgs.system}.hyprland;
xwayland.enable = true;
systemd = {
@ -161,7 +162,8 @@ in {
force_default_wallpaper = 0;
disable_hyprland_logo = true;
vfr = true;
vfr = false;
vrr = 2;
# dpms
# mouse_move_enables_dpms = true; # enable dpms on mouse/touchpad action
@ -173,6 +175,11 @@ in {
force_zero_scaling = true;
};
experimental = {
hdr = false;
xx_color_management_v4 = true;
};
cursor = {
no_hardware_cursors = true;
};

View file

@ -40,13 +40,17 @@ in {
programs.hyprland = {
withUWSM = true;
enable = true;
package = inputs.hyprland.packages.${pkgs.system}.hyprland;
portalPackage = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland;
};
programs.niri.enable = false;
environment = {
variables = {
NIXOS_OZONE_WL = "1";
__GL_GSYNC_ALLOWED = "0";
__GL_VRR_ALLOWED = "0";
# __GL_GSYNC_ALLOWED = "0";
# __GL_VRR_ALLOWED = "0";
_JAVA_AWT_WM_NONEREPARENTING = "1";
SSH_AUTH_SOCK = "/run/user/1000/keyring/ssh";
DISABLE_QT5_COMPAT = "0";

View file

@ -30,6 +30,7 @@ in {
jost
dejavu_fonts
iosevka
cantarell-fonts
# (iosevka.override {
# set = "Custom";
# privateBuildPlan = ''
@ -59,11 +60,10 @@ in {
defaultFonts = {
monospace = [
# "ZedMono Nerd Font Mono"
"Iosevka Nerd Font Mono"
"Iosevka"
"Noto Color Emoji"
];
sansSerif = ["Inter" "Noto Color Emoji"];
sansSerif = ["Cantarell" "Noto Color Emoji"];
serif = ["Noto Serif" "Noto Color Emoji"];
emoji = ["Noto Color Emoji"];
};

View file

@ -0,0 +1,196 @@
{
stdenv,
fetchurl,
fetchpatch,
fetchFromGitLab,
dpkg,
lib,
makeWrapper,
autoPatchelfHook,
libglvnd,
xorg,
qt6,
alsa-lib,
fontconfig,
freetype,
autoreconfHook,
pkg-config,
lerc,
libdeflate,
libjpeg,
libwebp,
xz,
zlib,
zstd,
sphinx,
glib,
vulkan-loader,
addDriverRunpath,
...
}: let
version = "2024.3.0.24333";
pathVersion = "2024.3.0.0";
rpath = lib.makeLibraryPath [
stdenv.cc.cc.lib
libglvnd
xorg.libX11
xorg.libXext
xorg.libXrender
xorg.libXtst
xorg.libXi
xorg.libXfixes
qt6.qtbase
qt6.qtwayland
qt6.qtwebengine
qt6.qtcharts
qt6.qtsvg
libtiff
alsa-lib
fontconfig
freetype
glib
vulkan-loader
];
libtiff = stdenv.mkDerivation rec {
pname = "libtiff";
version = "4.3.0";
src = fetchurl {
url = "https://download.osgeo.org/libtiff/tiff-${version}.tar.gz";
sha256 = "1j3snghqjbhwmnm5vz3dr1zm68dj15mgbx1wqld7vkl7n2nfaihf";
};
# FreeImage needs this patch
patches = [./headers.patch];
outputs = ["bin" "dev" "dev_private" "out" "man" "doc"];
postFixup = ''
moveToOutput include/tif_dir.h $dev_private
moveToOutput include/tif_config.h $dev_private
moveToOutput include/tiffiop.h $dev_private
'';
# If you want to change to a different build system, please make
# sure cross-compilation works first!
nativeBuildInputs = [autoreconfHook pkg-config];
propagatedBuildInputs = [libjpeg xz zlib]; #TODO: opengl support (bogus configure detection)
buildInputs = [libdeflate]; # TODO: move all propagatedBuildInputs to buildInputs.
enableParallelBuilding = true;
doCheck = true;
meta = with lib; {
description = "Library and utilities for working with the TIFF image file format";
homepage = "https://libtiff.gitlab.io/libtiff";
changelog = "https://libtiff.gitlab.io/libtiff/v${version}.html";
maintainers = with maintainers; [qyliss];
license = licenses.libtiff;
platforms = platforms.unix;
};
};
src = fetchurl {
url = "https://developer.nvidia.com/downloads/assets/tools/secure/nsight-graphics/2024_3_0/linux/NVIDIA_Nsight_Graphics_${version}.deb";
sha256 = "sha256-8hGB2WFwbDIPTbNHfeJ7vYWOaGCIZ421KUjNoEbePqg=";
};
in
stdenv.mkDerivation {
pname = "nvidia-nsight";
inherit version;
system = "x86_64-linux";
inherit src;
nativeBuildInputs = [
dpkg
makeWrapper
qt6.wrapQtAppsHook
autoPatchelfHook
addDriverRunpath
];
autoPatchelfIgnoreMissingDeps = ["libcuda.so.1" "libcudart.so.1"];
buildInputs = [
libglvnd
xorg.libX11
xorg.libXext
xorg.libXrender
xorg.libXtst
xorg.libXi
xorg.libXfixes
qt6.qtbase
qt6.qtwayland
qt6.qtwebengine
qt6.qtcharts
qt6.qtsvg
libtiff
alsa-lib
fontconfig
freetype
glib
vulkan-loader
];
unpackPhase = ''
dpkg-deb -x $src .
'';
installPhase = ''
runHook preInstall
mkdir -p $out
cp -r opt/nvidia $out/
# Fix permissions
chmod +x $out/nvidia/nsight-graphics-for-linux/nsight-graphics-for-linux-${pathVersion}/host/linux-desktop-nomad-x64/ngfx
chmod +x $out/nvidia/nsight-graphics-for-linux/nsight-graphics-for-linux-${pathVersion}/host/linux-desktop-nomad-x64/ngfx.bin
# Create bin directory
mkdir -p $out/bin
# Wrap the main executable
makeWrapper $out/nvidia/nsight-graphics-for-linux/nsight-graphics-for-linux-${pathVersion}/host/linux-desktop-nomad-x64/ngfx-ui \
$out/bin/nsight-graphics \
--prefix LD_LIBRARY_PATH : ${rpath}:$out/nvidia/nsight-graphics-for-linux/nsight-graphics-for-linux-${pathVersion}/host/linux-desktop-nomad-x64
# Create Vulkan layer directory
mkdir -p $out/share/vulkan/implicit_layer.d
# Copy Vulkan layer manifests
cp -r $out/nvidia/nsight-graphics-for-linux/nsight-graphics-for-linux-${pathVersion}/target/linux-desktop-nomad-x64/*/vulkan/implicit_layer.d/* \
$out/share/vulkan/implicit_layer.d/
# Create the .desktop file
mkdir -p $out/share/applications
cat > $out/share/applications/nsight-graphics.desktop <<EOF
[Desktop Entry]
Version=1.0
Name=NVIDIA Nsight Graphics
Comment=Graphics debugging and profiling tool for Direct3D, Vulkan, OpenGL, OpenVR, and Oculus SDK
Exec=$out/bin/nsight-graphics
Icon=nsight-graphics
Terminal=false
Type=Application
Categories=Development;Graphics;Tools;
EOF
runHook postInstall
'';
meta = with lib; {
description = "NVIDIA Nsight Graphics is a standalone developer tool with ray-tracing support that enables you to debug, profile, and export frames built with Direct3D, Vulkan, OpenGL, OpenVR, and the Oculus SDK.";
homepage = "https://developer.nvidia.com/nsight-graphics";
license = licenses.unfree;
maintainers = with maintainers; [panaeon jraygauthier];
platforms = ["x86_64-linux"];
};
}

View file

@ -0,0 +1,16 @@
diff --git i/libtiff/Makefile.am w/libtiff/Makefile.am
index 44522b62..d66e5948 100644
--- i/libtiff/Makefile.am
+++ w/libtiff/Makefile.am
@@ -36,8 +36,11 @@ EXTRA_DIST = \
tiffconf.h.cmake.in
libtiffinclude_HEADERS = \
+ tif_config.h \
+ tif_dir.h \
tiff.h \
tiffio.h \
+ tiffiop.h \
tiffvers.h
if HAVE_CXX

View file

@ -46,7 +46,7 @@
services.fstrim.enable = true;
services.vpn.enable = true;
services.xserver.enable = true;
services.vpn.mullvad = false;
services.vpn.mullvad = true;
services.lorri.enable = true;
services.udisks2.enable = true;
services.transmission = {
@ -106,6 +106,51 @@
pkgs.transmission_4
inputs.agenix.packages.${system}.agenix
inputs.awsvpnclient.packages."${pkgs.system}".awsvpnclient
pkgs.nautilus-python
(pkgs.writeTextFile {
name = "nautilus-open-kitty-here";
destination = "/share/nautilus-python/extensions/open-kitty-here.py";
text = ''
import os
import gi
gi.require_version('Nautilus', '3.0')
from gi.repository import Nautilus, GObject
class OpenKittyTerminalExtension(GObject.GObject, Nautilus.MenuProvider):
def __init__(self):
pass
def menu_activate_cb(self, menu, file):
if file.is_directory():
path = file.get_location().get_path()
else:
path = file.get_parent_location().get_path()
os.system(f'kitty --directory "{path}" &')
def get_file_items(self, window, files):
if len(files) != 1:
return
file = files[0]
item = Nautilus.MenuItem(
name='OpenKittyTerminalExtension::OpenKitty',
label='Open in Kitty',
tip='Opens Kitty terminal in this location'
)
item.connect('activate', self.menu_activate_cb, file)
return [item]
def get_background_items(self, window, file):
item = Nautilus.MenuItem(
name='OpenKittyTerminalExtension::OpenKitty',
label='Open in Kitty',
tip='Opens Kitty terminal in this location'
)
item.connect('activate', self.menu_activate_cb, file)
return [item]
'';
})
];
programs.zsh.enable = true;
@ -118,6 +163,8 @@
initialHashedPassword = "$6$rounds=2000000$rFBJH7LwdEHvv.0i$HdHorWqp8REPdWPk5fEgZXX1TujRJkMxumGK0f0elFN0KRPlBjJMW2.35A.ID/o3eC/hGTwbSJAcJcwVN2zyV/";
};
services.gnome.core-utilities.enable = true; # Enable core GNOME utilities
users.groups.plugdev = {};
snowfallorg.users.zoey = {

View file

@ -28,6 +28,20 @@
options = ["fmask=0077" "dmask=0077"];
};
fileSystems."/mnt/lul" = {
device = "/dev/disk/by-partuuid/2b7f6948-57a6-4fef-a931-b3aa962faee3";
fsType = "ntfs";
options = [
"uid=1000" # Replace with your user's UID if different
"gid=100" # Replace with your user's GID if different
"rw" # Read-write access
"user" # Allow users to mount
"exec" # Allow execution of binaries
"auto" # Mount at boot
"noatime" # Don't update access time (better performance)
];
};
swapDevices = [
{device = "/dev/disk/by-uuid/5c74e955-26c7-4f71-9b48-975a89b1d5ec";}
];