Desktop usability adjustments #1

Merged
remoll merged 28 commits from feature/desktop-customization into main 2025-05-18 12:56:43 +00:00
14 changed files with 193 additions and 88 deletions
Showing only changes of commit 2cd92178ec - Show all commits

View File

@ -26,10 +26,17 @@ Run
```bash
nixos-rebuild switch --flake <target>#<machine>
# for instance
nixos-rebuild switch --flake .#spectre
nixos-rebuild switch --flake .#Nixtre
```
to apply the configuration.
### Using `nh`
Updating from a local config is now easy - since `nh` is already specified as installed:
```
nix flake update
nh os switch .
```
### Installer iso
To build an installer iso, run
@ -65,3 +72,6 @@ TODO - disable root user
- https://github.com/Daholli/nixos-config
- https://github.com/khaneliman/khanelinix
- https://github.com/NotAShelf/nyx
- https://copeberg.org/bloxx12/nichts
- https://github.com/fufexan/dotfiles
- https://github.com/spikespaz/dotfiles

211
flake.lock generated
View File

@ -20,11 +20,11 @@
]
},
"locked": {
"lastModified": 1742213273,
"narHash": "sha256-0l0vDb4anfsBu1rOs94bC73Hub+xEivgBAo6QXl2MmU=",
"lastModified": 1745357003,
"narHash": "sha256-jYwzQkv1r7HN/4qrAuKp+NR4YYNp2xDrOX5O9YVqkWo=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "484b732195cc53f4536ce4bd59a5c6402b1e7ccf",
"rev": "a19cf76ee1a15c1c12083fa372747ce46387289f",
"type": "github"
},
"original": {
@ -38,11 +38,11 @@
"fromYaml": "fromYaml"
},
"locked": {
"lastModified": 1732200724,
"narHash": "sha256-+R1BH5wHhfnycySb7Sy5KbYEaTJZWm1h+LW1OtyhiTs=",
"lastModified": 1745523430,
"narHash": "sha256-EAYWV+kXbwsH+8G/8UtmcunDeKwLwSOyfcmzZUkWE/c=",
"owner": "SenchoPens",
"repo": "base16.nix",
"rev": "153d52373b0fb2d343592871009a286ec8837aec",
"rev": "58bfe2553d937d8af0564f79d5b950afbef69717",
"type": "github"
},
"original": {
@ -100,14 +100,33 @@
"type": "github"
}
},
"better-control": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1747462495,
"narHash": "sha256-1tL0AwbfmjWri0kBGEdc/vtoeFivfZe/Q5O+QCMpu5M=",
"owner": "rishabh5321",
"repo": "better-control-flake",
"rev": "e3d54fad4ada7dab63e1862f21fc2419378e1cb0",
"type": "github"
},
"original": {
"owner": "rishabh5321",
"repo": "better-control-flake",
"type": "github"
}
},
"firefox-gnome-theme": {
"flake": false,
"locked": {
"lastModified": 1741628778,
"narHash": "sha256-RsvHGNTmO2e/eVfgYK7g+eYEdwwh7SbZa+gZkT24MEA=",
"lastModified": 1743774811,
"narHash": "sha256-oiHLDHXq7ymsMVYSg92dD1OLnKLQoU/Gf2F1GoONLCE=",
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"rev": "5a81d390bb64afd4e81221749ec4bffcbeb5fa80",
"rev": "df53a7a31872faf5ca53dd0730038a62ec63ca9e",
"type": "github"
},
"original": {
@ -149,6 +168,24 @@
}
},
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"inputs": {
"systems": [
"stylix",
@ -198,11 +235,11 @@
]
},
"locked": {
"lastModified": 1741379162,
"narHash": "sha256-srpAbmJapkaqGRE3ytf3bj4XshspVR5964OX5LfjDWc=",
"lastModified": 1742649964,
"narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "b5a62751225b2f62ff3147d0a334055ebadcd5cc",
"rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82",
"type": "github"
},
"original": {
@ -279,11 +316,11 @@
]
},
"locked": {
"lastModified": 1742655702,
"narHash": "sha256-jbqlw4sPArFtNtA1s3kLg7/A4fzP4GLk9bGbtUJg0JQ=",
"lastModified": 1747331121,
"narHash": "sha256-3MmiUN/jOHBHQUnjqzg6qKArc17j2OS6jisEppDY4g8=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "0948aeedc296f964140d9429223c7e4a0702a1ff",
"rev": "1eec32f0efe3b830927989767a9e6ece0d82d608",
"type": "github"
},
"original": {
@ -301,11 +338,11 @@
]
},
"locked": {
"lastModified": 1739757849,
"narHash": "sha256-Gs076ot1YuAAsYVcyidLKUMIc4ooOaRGO0PqTY7sBzA=",
"lastModified": 1743808813,
"narHash": "sha256-2lDQBOmlz9ggPxcS7/GvcVdzXMIiT+PpMao6FbLJSr0=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "9d3d080aec2a35e05a15cedd281c2384767c2cfe",
"rev": "a9f8b3db211b4609ddd83683f9db89796c7f6ac6",
"type": "github"
},
"original": {
@ -331,11 +368,11 @@
]
},
"locked": {
"lastModified": 1742215578,
"narHash": "sha256-zfs71PXVVPEe56WEyNi2TJQPs0wabU4WAlq0XV7GcdE=",
"lastModified": 1745948457,
"narHash": "sha256-lzTV10FJTCGNtMdgW5YAhCAqezeAzKOd/97HbQK8GTU=",
"owner": "hyprwm",
"repo": "hyprcursor",
"rev": "2fd36421c21aa87e2fe3bee11067540ae612f719",
"rev": "ac903e80b33ba6a88df83d02232483d99f327573",
"type": "github"
},
"original": {
@ -360,11 +397,11 @@
]
},
"locked": {
"lastModified": 1739049071,
"narHash": "sha256-3+7TpXMrbsUXSwgr5VAKAnmkzMb6JO+Rvc9XRb5NMg4=",
"lastModified": 1745015490,
"narHash": "sha256-apEJ9zoSzmslhJ2vOKFcXTMZLUFYzh1ghfB6Rbw3Low=",
"owner": "hyprwm",
"repo": "hyprgraphics",
"rev": "175c6b29b6ff82100539e7c4363a35a02c74dd73",
"rev": "60754910946b4e2dc1377b967b7156cb989c5873",
"type": "github"
},
"original": {
@ -383,17 +420,17 @@
"hyprlang": "hyprlang",
"hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": "nixpkgs",
"nixpkgs": "nixpkgs_2",
"pre-commit-hooks": "pre-commit-hooks",
"systems": "systems",
"systems": "systems_2",
"xdph": "xdph"
},
"locked": {
"lastModified": 1742952129,
"narHash": "sha256-gNprNetigjuKqlV0EaoEN/XHNhfGM1tRmYO88Ov77vg=",
"lastModified": 1747503792,
"narHash": "sha256-Okd5cu0jxGa+x4xpfMX9S8QH/zddaFUQvw97V6H2W3E=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "3fc3521a97eba0fa67da80f17ae7872b1073f08d",
"rev": "705b97c4ac93148820012c701fe39445cf76a590",
"type": "github"
},
"original": {
@ -414,11 +451,11 @@
]
},
"locked": {
"lastModified": 1738422629,
"narHash": "sha256-5v+bv75wJWvahyM2xcMTSNNxmV8a7hb01Eey5zYnBJw=",
"lastModified": 1743714874,
"narHash": "sha256-yt8F7NhMFCFHUHy/lNjH/pjZyIDFNk52Q4tivQ31WFo=",
"owner": "hyprwm",
"repo": "hyprland-protocols",
"rev": "755aef8dab49d0fc4663c715fa4ad221b2aedaed",
"rev": "3a5c2bda1c1a4e55cc1330c782547695a93f05b2",
"type": "github"
},
"original": {
@ -482,11 +519,11 @@
]
},
"locked": {
"lastModified": 1739048983,
"narHash": "sha256-REhTcXq4qs3B3cCDtLlYDz0GZvmsBSh947Ub6pQWGTQ=",
"lastModified": 1745951494,
"narHash": "sha256-2dModE32doiyQMmd6EDAQeZnz+5LOs6KXyE0qX76WIg=",
"owner": "hyprwm",
"repo": "hyprland-qtutils",
"rev": "3504a293c8f8db4127cb0f7cfc1a318ffb4316f8",
"rev": "4be1d324faf8d6e82c2be9f8510d299984dfdd2e",
"type": "github"
},
"original": {
@ -511,11 +548,11 @@
]
},
"locked": {
"lastModified": 1741191527,
"narHash": "sha256-kM+11Nch47Xwfgtw2EpRitJuORy4miwoMuRi5tyMBDY=",
"lastModified": 1746655412,
"narHash": "sha256-kVQ0bHVtX6baYxRWWIh4u3LNJZb9Zcm2xBeDPOGz5BY=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "72df3861f1197e41b078faa3e38eedd60e00018d",
"rev": "557241780c179cf7ef224df392f8e67dab6cef83",
"type": "github"
},
"original": {
@ -536,11 +573,11 @@
]
},
"locked": {
"lastModified": 1741534688,
"narHash": "sha256-EV3945SnjOCuRVbGRghsWx/9D89FyshnSO1Q6/TuQ14=",
"lastModified": 1746635225,
"narHash": "sha256-W9G9bb0zRYDBRseHbVez0J8qVpD5QbizX67H/vsudhM=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "dd1f720cbc2dbb3c71167c9598045dd3261d27b3",
"rev": "674ea57373f08b7609ce93baff131117a0dfe70d",
"type": "github"
},
"original": {
@ -592,11 +629,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1742669843,
"narHash": "sha256-G5n+FOXLXcRx+3hCJ6Rt6ZQyF1zqQ0DL0sWAMn2Nk0w=",
"lastModified": 1747327360,
"narHash": "sha256-LSmTbiq/nqZR9B2t4MRnWG7cb0KVNU70dB7RT4+wYK4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "1e5b653dff12029333a6546c11e108ede13052eb",
"rev": "e06158e58f3adee28b139e9c2bcfcc41f8625b46",
"type": "github"
},
"original": {
@ -608,11 +645,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1742669843,
"narHash": "sha256-G5n+FOXLXcRx+3hCJ6Rt6ZQyF1zqQ0DL0sWAMn2Nk0w=",
"lastModified": 1747327360,
"narHash": "sha256-LSmTbiq/nqZR9B2t4MRnWG7cb0KVNU70dB7RT4+wYK4=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "1e5b653dff12029333a6546c11e108ede13052eb",
"rev": "e06158e58f3adee28b139e9c2bcfcc41f8625b46",
"type": "github"
},
"original": {
@ -624,11 +661,27 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1742751704,
"narHash": "sha256-rBfc+H1dDBUQ2mgVITMGBPI1PGuCznf9rcWX/XIULyE=",
"lastModified": 1747327360,
"narHash": "sha256-LSmTbiq/nqZR9B2t4MRnWG7cb0KVNU70dB7RT4+wYK4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "e06158e58f3adee28b139e9c2bcfcc41f8625b46",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1747335874,
"narHash": "sha256-IKKIXTSYJMmUtE+Kav5Rob8SgLPnfnq4Qu8LyT4gdqQ=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "f0946fa5f1fb876a9dc2e1850d9d3a4e3f914092",
"rev": "ba8b70ee098bc5654c459d6a95dfc498b91ff858",
"type": "github"
},
"original": {
@ -638,13 +691,13 @@
"type": "github"
}
},
"nixpkgs_3": {
"nixpkgs_4": {
"locked": {
"lastModified": 1741600792,
"narHash": "sha256-yfDy6chHcM7pXpMF4wycuuV+ILSTG486Z/vLx/Bdi6Y=",
"lastModified": 1743703532,
"narHash": "sha256-s1KLDALEeqy+ttrvqV3jx9mBZEvmthQErTVOAzbjHZs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ebe2788eafd539477f83775ef93c3c7e244421d3",
"rev": "bdb91860de2f719b57eef819b5617762f7120c70",
"type": "github"
},
"original": {
@ -664,11 +717,11 @@
]
},
"locked": {
"lastModified": 1742649964,
"narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=",
"lastModified": 1747372754,
"narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82",
"rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46",
"type": "github"
},
"original": {
@ -679,10 +732,11 @@
},
"root": {
"inputs": {
"better-control": "better-control",
"home-manager": "home-manager",
"hyprland": "hyprland",
"nix-flatpak": "nix-flatpak",
"nixpkgs": "nixpkgs_2",
"nixpkgs": "nixpkgs_3",
"nixpkgs-unstable": "nixpkgs-unstable",
"stylix": "stylix"
}
@ -695,22 +749,22 @@
"base16-vim": "base16-vim",
"firefox-gnome-theme": "firefox-gnome-theme",
"flake-compat": "flake-compat_2",
"flake-utils": "flake-utils",
"flake-utils": "flake-utils_2",
"git-hooks": "git-hooks",
"gnome-shell": "gnome-shell",
"home-manager": "home-manager_2",
"nixpkgs": "nixpkgs_3",
"systems": "systems_2",
"nixpkgs": "nixpkgs_4",
"systems": "systems_3",
"tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty",
"tinted-tmux": "tinted-tmux"
},
"locked": {
"lastModified": 1741961698,
"narHash": "sha256-utsgC6H3ja6sLAXMd8//I2D7yjyScFqVDRX0wpbqPZo=",
"lastModified": 1747543250,
"narHash": "sha256-NuT/y8zMRFG0I3KeMSLxCXCO/d9TEEB0ZTXcYdYENWw=",
"owner": "danth",
"repo": "stylix",
"rev": "9bfc74f330ead111e8ea354b2220a431b0cfaa26",
"rev": "5ff94fe0108bb361bddfbe1541713c93f369554a",
"type": "github"
},
"original": {
@ -721,6 +775,21 @@
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
@ -735,7 +804,7 @@
"type": "github"
}
},
"systems_2": {
"systems_3": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@ -787,11 +856,11 @@
"tinted-tmux": {
"flake": false,
"locked": {
"lastModified": 1740877430,
"narHash": "sha256-zWcCXgdC4/owfH/eEXx26y5BLzTrefjtSLFHWVD5KxU=",
"lastModified": 1743296873,
"narHash": "sha256-8IQulrb1OBSxMwdKijO9fB70ON//V32dpK9Uioy7FzY=",
"owner": "tinted-theming",
"repo": "tinted-tmux",
"rev": "d48ee86394cbe45b112ba23ab63e33656090edb4",
"rev": "af5152c8d7546dfb4ff6df94080bf5ff54f64e3a",
"type": "github"
},
"original": {
@ -828,11 +897,11 @@
]
},
"locked": {
"lastModified": 1741934139,
"narHash": "sha256-ZhTcTH9FoeAtbPfWGrhkH7RjLJZ7GeF18nygLAMR+WE=",
"lastModified": 1745871725,
"narHash": "sha256-M24SNc2flblWGXFkGQfqSlEOzAGZnMc9QG3GH4K/KbE=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "150b0b6f52bb422a1b232a53698606fe0320dde0",
"rev": "76bbf1a6b1378e4ab5230bad00ad04bc287c969e",
"type": "github"
},
"original": {

View File

@ -12,6 +12,8 @@
# hyprland, plugins and related utils
hyprland.url = "github:hyprwm/Hyprland";
stylix.url = "github:danth/stylix/release-24.11";
# quicksettings widget
better-control.url = "github:rishabh5321/better-control-flake";
};
outputs = {
@ -27,7 +29,7 @@
## NixOS configurations are the main output of this flake
# HP Spectre x360 2018
nixosConfigurations.spectre = nixpkgs.lib.nixosSystem {
nixosConfigurations.Nixtre = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };

View File

@ -11,6 +11,7 @@
../../modules/nixos/hyprland.nix
../../modules/nixos/monitoring.nix
../../modules/nixos/networking.nix
../../modules/nixos/nh.nix
../../modules/nixos/nvidia.nix
../../modules/nixos/pipewire.nix
../../modules/nixos/podman.nix

View File

@ -1,4 +1,4 @@
{pkgs, ...}:
{pkgs, ...}:
{
# Add a udev rule that launches a backup using restic when a specific USB device (the backup drive) is plugged in
@ -22,4 +22,4 @@
ExecStart = "${pkgs.restic}/bin/restic backup /home/username";
};
};
}
}

View File

@ -8,7 +8,6 @@
services.flatpak.uninstallUnmanaged = false;
services.flatpak.packages = [
"com.calibre_ebook.calibre"
"com.github.flxzt.rnote"
"com.github.tchx84.Flatseal"
"com.spotify.Client"

View File

@ -0,0 +1,11 @@
{
inputs,
pkgs,
...
}:
{
environment.systemPackages =
with pkgs; [
inputs.better-control.packages.${pkgs.system}.better-control
];
}

View File

@ -1,5 +1,6 @@
{
imports = [
# ./better-control.nix
./cursor.nix
./hyprland-customization.nix
./hyprpaper.nix
@ -7,4 +8,4 @@
./hypridle.nix
./waybar.nix
];
}
}

View File

@ -54,7 +54,6 @@
"$mod, Tab, cyclenext,"
"$mod, Tab, bringactivetotop,"
# Move the window
"$mod+Shift, left, movewindow, l"
"$mod+Shift, right, movewindow, r"
@ -65,8 +64,8 @@
"$mod+Ctrl, right, movetoworkspace, +1"
# # Switch workspace
# "$mod+Ctrl, left, workspace, -1"
# "$mod+Ctrl, right, workspace, +1"
"$mod+Alt, left, workspace, -1"
"$mod+Alt, right, workspace, +1"
# Screenshot
"$mod, Print, exec, hyprshot -m region -o ~/Pictures/Screenshots"
@ -161,7 +160,7 @@
};
decoration = {
rounding = 5;
rounding = 7;
# active_opacity = 0.95;
inactive_opacity = 0.9;

View File

@ -4,7 +4,8 @@
enable = true;
settings = {
general = {
grace = 5;
# immediately lock the screen
grace = 0;
no_fade_in = false;
disable_loading_bar = false;
};

View File

@ -204,7 +204,7 @@
.module {
background: rgba(0, 0, 0, 0.6);
color: white;
border-radius: 5px;
border-radius: 7px;
padding: 5px 5px 5px 5px;
margin: 5px 0;
}

10
modules/nixos/nh.nix Normal file
View File

@ -0,0 +1,10 @@
{
config,
pkgs,
...
}:
{
programs.nh = {
enable = true;
};
}

View File

@ -29,13 +29,12 @@
};
package = config.boot.kernelPackages.nvidiaPackages.mkDriver {
version = "570.86.16"; # use new 570 drivers
sha256_64bit = "sha256-RWPqS7ZUJH9JEAWlfHLGdqrNlavhaR1xMyzs8lJhy9U=";
openSha256 = "sha256-DuVNA63+pJ8IB7Tw2gM4HbwlOh1bcDg2AN2mbEU9VPE=";
settingsSha256 = "sha256-9rtqh64TyhDF5fFAYiWl3oDHzKJqyOW3abpcf2iNRT8=";
version = "575.51.02";
sha256_64bit = "sha256-XZ0N8ISmoAC8p28DrGHk/YN1rJsInJ2dZNL8O+Tuaa0=";
openSha256 = "sha256-NQg+QDm9Gt+5bapbUO96UFsPnz1hG1dtEwT/g/vKHkw=";
settingsSha256 = "sha256-6n9mVkEL39wJj5FB1HBml7TTJhNAhS/j5hqpNGFQE4w=";
usePersistenced = false;
};
};
# overwrite the blacklists set previously
boot.extraModprobeConfig = lib.mkForce "";

View File

@ -56,6 +56,9 @@ with lib.hm.gvariant;
"application/octet-stream" = "org.gnome.GHex.desktop";
# pdfs
"application/pdf" = "org.gnome.Evince.desktop";
# links
"x-scheme-handler/https" = "firefox.desktop"; # Links
"x-scheme-handler/http" = "firefox.desktop"; # Links
# images
# "image/png" = "org.gnome.Evince.desktop";
# "image/jpeg" = "org.gnome.Evince.desktop";