diff --git a/flake.lock b/flake.lock index 3608a0a..3b31bc5 100644 --- a/flake.lock +++ b/flake.lock @@ -20,7 +20,7 @@ }, "flake-utils": { "inputs": { - "systems": "systems_2" + "systems": "systems_5" }, "locked": { "lastModified": 1710146030, @@ -168,6 +168,95 @@ "type": "github" } }, + "hyprlang_2": { + "inputs": { + "hyprutils": [ + "hyprlock", + "hyprutils" + ], + "nixpkgs": [ + "hyprlock", + "nixpkgs" + ], + "systems": [ + "hyprlock", + "systems" + ] + }, + "locked": { + "lastModified": 1717881852, + "narHash": "sha256-XeeVoKHQgfKuXoP6q90sUqKyl7EYy3ol2dVZGM+Jj94=", + "owner": "hyprwm", + "repo": "hyprlang", + "rev": "ec6938c66253429192274d612912649a0cfe4d28", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprlang", + "type": "github" + } + }, + "hyprlang_3": { + "inputs": { + "nixpkgs": "nixpkgs_4", + "systems": "systems_3" + }, + "locked": { + "lastModified": 1713121246, + "narHash": "sha256-502X0Q0fhN6tJK7iEUA8CghONKSatW/Mqj4Wappd++0=", + "owner": "hyprwm", + "repo": "hyprlang", + "rev": "78fcaa27ae9e1d782faa3ff06c8ea55ddce63706", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprlang", + "type": "github" + } + }, + "hyprlock": { + "inputs": { + "hyprlang": "hyprlang_2", + "hyprutils": "hyprutils_2", + "nixpkgs": "nixpkgs_3", + "systems": "systems_2" + }, + "locked": { + "lastModified": 1717883389, + "narHash": "sha256-2A4Q56JFd3t9j3Xpa0kxw2fjv8nNqgNBOA34rRcLA8I=", + "owner": "hyprwm", + "repo": "Hyprlock", + "rev": "c5b8ad03d03ddbd2b0ff8615c2f6dba31374b6a8", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "Hyprlock", + "type": "github" + } + }, + "hyprpaper": { + "inputs": { + "hyprlang": "hyprlang_3", + "nixpkgs": "nixpkgs_5", + "systems": "systems_4" + }, + "locked": { + "lastModified": 1717919427, + "narHash": "sha256-50HWM67p81v+dhvcOS0UFQiPGh8McUHs40UGqkz6s9I=", + "owner": "hyprwm", + "repo": "Hyprpaper", + "rev": "f4abf5902f3f0c51d2aab8a521f7c1b1b08afd64", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "Hyprpaper", + "type": "github" + } + }, "hyprutils": { "inputs": { "nixpkgs": [ @@ -193,6 +282,31 @@ "type": "github" } }, + "hyprutils_2": { + "inputs": { + "nixpkgs": [ + "hyprlock", + "nixpkgs" + ], + "systems": [ + "hyprlock", + "systems" + ] + }, + "locked": { + "lastModified": 1717881334, + "narHash": "sha256-a0inRgJhPL6v9v7RPM/rx1kbXdfe3xJA1c9z0ZkYnh4=", + "owner": "hyprwm", + "repo": "hyprutils", + "rev": "0693f9398ab693d89c9a0aa3b3d062dd61b7a60e", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprutils", + "type": "github" + } + }, "hyprwayland-scanner": { "inputs": { "nixpkgs": [ @@ -293,6 +407,54 @@ } }, "nixpkgs_3": { + "locked": { + "lastModified": 1717602782, + "narHash": "sha256-pL9jeus5QpX5R+9rsp3hhZ+uplVHscNJh8n8VpqscM0=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "e8057b67ebf307f01bdcc8fba94d94f75039d1f6", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_4": { + "locked": { + "lastModified": 1708475490, + "narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "0e74ca98a74bc7270d28838369593635a5db3260", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_5": { + "locked": { + "lastModified": 1712963716, + "narHash": "sha256-WKm9CvgCldeIVvRz87iOMi8CFVB1apJlkUT4GGvA0iM=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "cfd6b5fc90b15709b780a5a1619695a88505a176", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_6": { "locked": { "lastModified": 1718208800, "narHash": "sha256-US1tAChvPxT52RV8GksWZS415tTS7PV42KTc2PNDBmc=", @@ -313,9 +475,11 @@ "ags": "ags", "home-manager": "home-manager", "hyprland": "hyprland", + "hyprlock": "hyprlock", + "hyprpaper": "hyprpaper", "nil": "nil", "nix-ld": "nix-ld", - "nixpkgs": "nixpkgs_3" + "nixpkgs": "nixpkgs_6" } }, "rust-overlay": { @@ -359,6 +523,51 @@ } }, "systems_2": { + "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" + } + }, + "systems_3": { + "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" + } + }, + "systems_4": { + "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" + } + }, + "systems_5": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", diff --git a/flake.nix b/flake.nix index dd0bbbe..bce16cb 100644 --- a/flake.nix +++ b/flake.nix @@ -10,6 +10,8 @@ }; hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; + hyprlock.url = "github:hyprwm/Hyprlock"; + hyprpaper.url = "github:hyprwm/Hyprpaper"; nil = { url = "github:oxalica/nil"; diff --git a/home/default.nix b/home/default.nix index 536d479..0855a7d 100644 --- a/home/default.nix +++ b/home/default.nix @@ -5,6 +5,7 @@ ./ags ./alacritty ./chromium + ./git ./gtk ./hyprland ./nushell @@ -19,12 +20,30 @@ home.packages = with pkgs; [ git + gh tree wl-clipboard ripgrep zoxide + fastfetch + btop + speedtest-cli + yt-dlp + + zig + bun + nodejs + go + python3 + + texliveFull + graphviz + + signal-desktop + slack neovim vesktop + obsidian ]; } diff --git a/home/git/default.nix b/home/git/default.nix new file mode 100644 index 0000000..dc432bf --- /dev/null +++ b/home/git/default.nix @@ -0,0 +1,18 @@ +let + username = "lukas-dev"; +in +{ + programs.git = { + enable = true; + + extraConfig = { + color.ui = true; + core.editor = "nvim"; + github.user = username; + push.autoSetupRemote = true; + }; + + userEmail = "git@lukasl.dev"; + userName = username; + }; +} diff --git a/home/hyprland/default.nix b/home/hyprland/default.nix index 5e06f98..434661d 100644 --- a/home/hyprland/default.nix +++ b/home/hyprland/default.nix @@ -3,10 +3,12 @@ { imports = [ inputs.hyprland.homeManagerModules.default + # inputs.hyprlock.homeManagerModules.hyprlock ./bindings.nix - ./window-rules.nix + ./hyprpaper.nix ./settings.nix + ./window-rules.nix ]; wayland.windowManager.hyprland = { @@ -15,9 +17,8 @@ enable = true; variables = [ "--all" ]; }; - xwayland = { - enable = true; - }; + xwayland.enable = true; plugins = []; }; } + diff --git a/home/hyprland/hyprpaper.nix b/home/hyprland/hyprpaper.nix new file mode 100644 index 0000000..d83addf --- /dev/null +++ b/home/hyprland/hyprpaper.nix @@ -0,0 +1,20 @@ +{ + services.hyprpaper = { + enable = true; + + settings = { + ipc = "on"; + + splash = false; + splash_offset = 2.0; + + preload = [ + "~/nixos/wallpaper.png" + ]; + + wallpaper = [ + ",~/nixos/wallpaper.png" + ]; + }; + }; +} diff --git a/home/hyprland/settings.nix b/home/hyprland/settings.nix index 0925c4b..149cdde 100644 --- a/home/hyprland/settings.nix +++ b/home/hyprland/settings.nix @@ -2,6 +2,8 @@ wayland.windowManager.hyprland.settings = { env = [ "XCURSOR_SIZE,24" + "QT_WAYLAND_DISABLE_WINDOWDECORATION,1" + "QT_QPA_PLATFORM,wayland" ]; monitor = [ diff --git a/hosts/vega/default.nix b/hosts/vega/default.nix index 29b479c..d9ac2e2 100644 --- a/hosts/vega/default.nix +++ b/hosts/vega/default.nix @@ -2,12 +2,14 @@ imports = [ ./hardware-configuration.nix + ../../nixos/1password ../../nixos/bluetooth ../../nixos/fonts ../../nixos/i18n ../../nixos/nix-ld ../../nixos/nvidia ../../nixos/pipewire + ../../nixos/polkit ../../nixos/users ../../nixos/xserver ]; diff --git a/hosts/vega/hardware-configuration.nix b/hosts/vega/hardware-configuration.nix index 3f7a40f..2e29a11 100644 --- a/hosts/vega/hardware-configuration.nix +++ b/hosts/vega/hardware-configuration.nix @@ -1,7 +1,7 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: +{ config, lib, modulesPath, ... }: { imports = diff --git a/nixos/1password/default.nix b/nixos/1password/default.nix new file mode 100644 index 0000000..0fad6f8 --- /dev/null +++ b/nixos/1password/default.nix @@ -0,0 +1,4 @@ +{ + programs._1password.enable = true; + programs._1password-gui.enable = true; +} diff --git a/nixos/polkit/default.nix b/nixos/polkit/default.nix new file mode 100644 index 0000000..9a8a271 --- /dev/null +++ b/nixos/polkit/default.nix @@ -0,0 +1,24 @@ +{ pkgs, ... }: + +{ + security = { + polkit.enable = true; + pam.services.ags = {}; + pam.services.hyprlock = {}; + }; + + systemd.user.services.polkit-gnome-authentication-agent-1 = { + description = "polkit-gnome-authentication-agent-1"; + wantedBy = [ "graphical-session.target" ]; + wants = [ "graphical-session.target" ]; + after = [ "graphical-session.target" ]; + serviceConfig = { + Type = "simple"; + ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; + Restart = "on-failure"; + RestartSec = 1; + TimeoutStopSec = 10; + }; + }; +} + diff --git a/wallpaper.png b/wallpaper.png new file mode 100644 index 0000000..fa1e2a5 Binary files /dev/null and b/wallpaper.png differ