From d63f32ee30a9b8a9bd69bcfb0b750b6af3deafb7 Mon Sep 17 00:00:00 2001 From: Daniel Bulant Date: Tue, 10 Sep 2024 13:26:18 +0200 Subject: [PATCH] update, script improvements --- .config/hypr/hyprland.conf | 20 ++ configuration.nix | 16 +- flake.lock | 404 +++++++++++++++++++++++++++++++++++++ flake.nix | 6 +- home.nix | 10 +- remove-old-nix.sh | 3 + sync-nix.sh | 1 + 7 files changed, 453 insertions(+), 7 deletions(-) create mode 100644 flake.lock create mode 100644 remove-old-nix.sh diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index 49bcc70..449c439 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -28,6 +28,23 @@ debug { disable_logs = false } +plugin { + hyprtrails { + color = rgba(ffaa00ff) + } + hyprexpo { + columns = 3 + gap_size = 5 + bg_col = rgb(111111) + workspace_method = center current # [center/first] [workspace] e.g. first 1 or center m+1 + + enable_gesture = true # laptop touchpad + gesture_fingers = 3 # 3 or 4 + gesture_distance = 300 # how far is the "max" + gesture_positive = true # positive = swipe down. Negative = swipe up. + } +} + # See https://wiki.hyprland.org/Configuring/Monitors/ #monitor=,preferred,auto,auto @@ -57,6 +74,7 @@ exec-once=echo us > /tmp/kb_layout exec-once=aw-qt& sleep 2; awatcher exec-once = nm-applet --indicator # systray app for Network/Wifi exec-once=kdeconnect-indicator +exec-once = hyprpm reload -n #$swaylock = swaylock --screenshots --clock --indicator --effect-blur 6x6 --fade-in 0.2 --ring-color 4e9dc2 --key-hl-color 71b0ce $swaylock = hyprlock @@ -262,6 +280,8 @@ bind=SUPER,V,togglefloating, bind=SUPER,F,fullscreen, bind=SUPER,A,swapactiveworkspaces,current +1 +# bind = SUPER, grave, hyprexpo:expo, toggle + # Special keys bindle=, XF86MonBrightnessUp, exec, xbacklight -inc 10 bindle=, XF86MonBrightnessDown, exec, xbacklight -dec 10 diff --git a/configuration.nix b/configuration.nix index 6e36c8a..12bb948 100644 --- a/configuration.nix +++ b/configuration.nix @@ -2,7 +2,7 @@ # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running ‘nixos-help’). -{ config, pkgs, hyprland, nixpkgs-unstable, lib, nixos-hardware, zen-browser/*, kwin-effects-forceblur*/, ... }: +{ config, pkgs, hyprland, hyprland-plugins, nixpkgs-unstable, lib, nixos-hardware, zen-browser/*, kwin-effects-forceblur*/, ... }: # let # unstable-pkgs = nixpkgs-unstable.legacyPackages.x86_64-linux; #import nixpkgs-unstable.nixosModules.readOnlyPkgs {}; # unstable-pkgs = hyprland.inputs.nixpkgs.legacyPackages.${pkgs.stdenv.hostPlatform.system}; @@ -107,20 +107,26 @@ }; home-manager.useGlobalPkgs = true; home-manager.users.dan = import ./home.nix; + home-manager.backupFileExtension = "backup"; # Other defaults are set in home.nix environment.sessionVariables.DEFAULT_BROWSER = "firefox"; programs.firefox.enable = true; nix.settings = { - substituters = ["https://hyprland.cachix.org"]; + substituters = ["https://hyprland.cachix.org" "https://cache.nixos.org"]; trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="]; }; # Comment out below for the first time to avoid cache miss, if using flake programs.hyprland = { enable = true; - package = hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; + package = hyprland.packages.${pkgs.system}.hyprland; + portalPackage = hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland.override + { + inherit (pkgs) mesa; + }; + # package = unstable-pkgs.hyprland; }; # End comment out @@ -153,11 +159,11 @@ nixpkgs.config.cudaSupport = true; # The nvidia fun part - hardware.opengl = { + hardware.graphics = { enable = true; # package = unstable-pkgs.mesa.drivers; # Steam support - driSupport32Bit = true; + enable32Bit = true; # package32 = unstable-pkgs.pkgsi686Linux.mesa.drivers; }; diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..a2e8c92 --- /dev/null +++ b/flake.lock @@ -0,0 +1,404 @@ +{ + "nodes": { + "aquamarine": { + "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprland", + "hyprwayland-scanner" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1725199881, + "narHash": "sha256-jsmipf/u1GFZE5tBUkr56CHMN6VpUWCAjfLIhvQijU0=", + "owner": "hyprwm", + "repo": "aquamarine", + "rev": "f8a687dd29ff019657498f1bd14da2fbbf0e604b", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "aquamarine", + "type": "github" + } + }, + "home-manager": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1725948275, + "narHash": "sha256-4QOPemDQ9VRLQaAdWuvdDBhh+lEUOAnSMHhdr4nS1mk=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "e5fa72bad0c6f533e8d558182529ee2acc9454fe", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "hyprcursor": { + "inputs": { + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1722623071, + "narHash": "sha256-sLADpVgebpCBFXkA1FlCXtvEPu1tdEsTfqK1hfeHySE=", + "owner": "hyprwm", + "repo": "hyprcursor", + "rev": "912d56025f03d41b1ad29510c423757b4379eb1c", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprcursor", + "type": "github" + } + }, + "hyprland": { + "inputs": { + "aquamarine": "aquamarine", + "hyprcursor": "hyprcursor", + "hyprlang": "hyprlang", + "hyprutils": "hyprutils", + "hyprwayland-scanner": "hyprwayland-scanner", + "nixpkgs": "nixpkgs", + "systems": "systems", + "xdph": "xdph" + }, + "locked": { + "lastModified": 1725962797, + "narHash": "sha256-YNw4NcdxyqKCXyO+SWeP5+9fdm7dqf8w9XNPOkfpc2s=", + "ref": "refs/heads/main", + "rev": "c67b257e51133a2aaeec050fc4d283e2eaea6375", + "revCount": 5207, + "submodules": true, + "type": "git", + "url": "https://github.com/hyprwm/Hyprland" + }, + "original": { + "submodules": true, + "type": "git", + "url": "https://github.com/hyprwm/Hyprland" + } + }, + "hyprland-plugins": { + "inputs": { + "hyprland": [ + "hyprland" + ], + "nixpkgs": [ + "hyprland-plugins", + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland-plugins", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1723143591, + "narHash": "sha256-dPcWAeRJoG5CyWC32X3XX+Og0v/k1/S1N0T5dQWT32k=", + "owner": "hyprwm", + "repo": "hyprland-plugins", + "rev": "b73d7b901d8cb1172dd25c7b7159f0242c625a77", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-plugins", + "type": "github" + } + }, + "hyprland-protocols": { + "inputs": { + "nixpkgs": [ + "hyprland", + "xdph", + "nixpkgs" + ], + "systems": [ + "hyprland", + "xdph", + "systems" + ] + }, + "locked": { + "lastModified": 1721326555, + "narHash": "sha256-zCu4R0CSHEactW9JqYki26gy8h9f6rHmSwj4XJmlHgg=", + "owner": "hyprwm", + "repo": "hyprland-protocols", + "rev": "5a11232266bf1a1f5952d5b179c3f4b2facaaa84", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-protocols", + "type": "github" + } + }, + "hyprlang": { + "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1725188252, + "narHash": "sha256-yBH8c4GDaEAtBrh+BqIlrx5vp6gG/Gu8fQQK63KAQgs=", + "owner": "hyprwm", + "repo": "hyprlang", + "rev": "c12ab785ce1982f82594aff03b3104c598186ddd", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprlang", + "type": "github" + } + }, + "hyprutils": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1724966483, + "narHash": "sha256-WXDgKIbzjYKczxSZOsJplCS1i1yrTUpsDPuJV/xpYLo=", + "owner": "hyprwm", + "repo": "hyprutils", + "rev": "8976e3f6a5357da953a09511d0c7f6a890fb6ec2", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprutils", + "type": "github" + } + }, + "hyprwayland-scanner": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1721324119, + "narHash": "sha256-SOOqIT27/X792+vsLSeFdrNTF+OSRp5qXv6Te+fb2Qg=", + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "rev": "a048a6cb015340bd82f97c1f40a4b595ca85cc30", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "type": "github" + } + }, + "nixos-hardware": { + "locked": { + "lastModified": 1725885300, + "narHash": "sha256-5RLEnou1/GJQl+Wd+Bxaj7QY7FFQ9wjnFq1VNEaxTmc=", + "owner": "NixOS", + "repo": "nixos-hardware", + "rev": "166dee4f88a7e3ba1b7a243edb1aca822f00680e", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixos-hardware", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1725103162, + "narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "12228ff1752d7b7624a54e9c1af4b222b3c1073b", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-unstable": { + "locked": { + "lastModified": 1725634671, + "narHash": "sha256-v3rIhsJBOMLR8e/RNWxr828tB+WywYIoajrZKFM+0Gg=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "574d1eac1c200690e27b8eb4e24887f8df7ac27c", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1725634671, + "narHash": "sha256-v3rIhsJBOMLR8e/RNWxr828tB+WywYIoajrZKFM+0Gg=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "574d1eac1c200690e27b8eb4e24887f8df7ac27c", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1724819573, + "narHash": "sha256-GnR7/ibgIH1vhoy8cYdmXE6iyZqKqFxQSVkFgosBh6w=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "71e91c409d1e654808b2621f28a327acfdad8dc2", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "home-manager": "home-manager", + "hyprland": "hyprland", + "hyprland-plugins": "hyprland-plugins", + "nixos-hardware": "nixos-hardware", + "nixpkgs": "nixpkgs_2", + "nixpkgs-unstable": "nixpkgs-unstable", + "zen-browser": "zen-browser" + } + }, + "systems": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "xdph": { + "inputs": { + "hyprland-protocols": "hyprland-protocols", + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1725203932, + "narHash": "sha256-VLULC/OnI+6R9KEP2OIGk+uLJJsfRlaLouZ5gyFd2+Y=", + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "rev": "2425e8f541525fa7409d9f26a8ffaf92a3767251", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "type": "github" + } + }, + "zen-browser": { + "inputs": { + "nixpkgs": "nixpkgs_3" + }, + "locked": { + "lastModified": 1725529174, + "narHash": "sha256-6hhiPXXZw24jaQJKJgaLIZ9Z8iEs25Sb+xMqEv6t2Go=", + "owner": "MarceColl", + "repo": "zen-browser-flake", + "rev": "5fce6f9bc9b2bda1f0281fcbef3160903ddc5882", + "type": "github" + }, + "original": { + "owner": "MarceColl", + "repo": "zen-browser-flake", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix index 55a213a..f9c1897 100644 --- a/flake.nix +++ b/flake.nix @@ -5,7 +5,11 @@ zen-browser.url = "github:MarceColl/zen-browser-flake"; nixos-hardware.url = "github:NixOS/nixos-hardware"; hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; - home-manager.url = "github:nix-community/home-manager/release-24.05"; + hyprland-plugins = { + url = "github:hyprwm/hyprland-plugins"; + inputs.hyprland.follows = "hyprland"; + }; + home-manager.url = "github:nix-community/home-manager"; # /release-24.11 home-manager.inputs.nixpkgs.follows = "nixpkgs"; # kwin-effects-forceblur.url = "https://gist.githubusercontent.com/taj-ny/c1abdde710f33e34dc39dc53a5dc2c09/raw/7078265012c37b6f6bc397e9a7893bc6004e7b6c/kwin-effects-forceblur.nix"; }; diff --git a/home.nix b/home.nix index 2ff6e8f..ace030e 100644 --- a/home.nix +++ b/home.nix @@ -1,4 +1,4 @@ -{ pkgs, ...}: +{ pkgs, hyprland-plugins, ...}: let unstable-pkgs = import {}; in @@ -8,6 +8,9 @@ in packages = with pkgs; [ # acpilight + betaflight-configurator + glxinfo + pciutils nix-top grc onefetch @@ -19,6 +22,7 @@ in rofi-wayland rustup discord + vesktop spotify spicetify-cli meslo-lgs-nf @@ -146,6 +150,10 @@ in ]; }; services.lorri.enable = true; + wayland.windowManager.hyprland.plugins = [ + hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprexpo + hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprtrails + ]; programs = { fish = { enable = true; diff --git a/remove-old-nix.sh b/remove-old-nix.sh new file mode 100644 index 0000000..25d983e --- /dev/null +++ b/remove-old-nix.sh @@ -0,0 +1,3 @@ +sudo nix profile wipe-history --profile /nix/var/nix/profiles/system --older-than 30d +nix-env --delete-generations 30d +nix-collect-garbage \ No newline at end of file diff --git a/sync-nix.sh b/sync-nix.sh index 2136918..eb886f5 100755 --- a/sync-nix.sh +++ b/sync-nix.sh @@ -3,3 +3,4 @@ cp .config/* ~/.config/ -r cp .default-python-packages ~ sudo cp *.nix /etc/nixos/ sudo nixos-rebuild switch --show-trace --recreate-lock-file +cp /etc/nixos/flake.lock . \ No newline at end of file