diff --git a/configuration.nix b/configuration.nix index d86aacb..d458f72 100644 --- a/configuration.nix +++ b/configuration.nix @@ -62,12 +62,29 @@ inputs.zen-browser.packages.${pkgs.stdenv.hostPlatform.system}.default ]; + fonts = { + enableDefaultPackages = true; + packages = with pkgs; [ + jetbrains-mono + ]; + fontDir.enable = true; + }; + programs.hyprland = { enable = true; xwayland.enable = true; }; programs.zsh.enable = true; + programs.steam = { + enable = true; + extraCompatPackages = [ + pkgs.proton-ge-bin + ]; + protontricks = { + enable = true; + }; + }; # Some programs need SUID wrappers, can be configured further or are # started in user sessions. @@ -113,10 +130,9 @@ #TODO: kanata config }; - services.tailscale = { - enable = true; - openFirewall = true; - }; + services.mullvad-vpn.enable = true; + + networking.firewall.enable = false; # Enable the OpenSSH daemon. # services.openssh.enable = true; diff --git a/flake.lock b/flake.lock index 262b0d7..3595b10 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,26 @@ { "nodes": { + "catppuccin": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1768256610, + "narHash": "sha256-IyL6nZo242nDLoLQVwkqAZXp8FO5kBfjL6Fuh+gZO10=", + "owner": "catppuccin", + "repo": "nix", + "rev": "0734ad8c91342df34f1a1e5c183d053d70ba87c7", + "type": "github" + }, + "original": { + "owner": "catppuccin", + "ref": "release-25.11", + "repo": "nix", + "type": "github" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": [ @@ -153,6 +174,7 @@ }, "root": { "inputs": { + "catppuccin": "catppuccin", "home-manager": "home-manager", "nixpkgs": "nixpkgs", "nixvim": "nixvim", diff --git a/flake.nix b/flake.nix index 00c98a9..3ac4bf1 100644 --- a/flake.nix +++ b/flake.nix @@ -11,6 +11,8 @@ url = "github:youwen5/zen-browser-flake"; inputs.nixpkgs.follows = "nixpkgs"; }; + catppuccin.url = "github:catppuccin/nix/release-25.11"; + catppuccin.inputs.nixpkgs.follows = "nixpkgs"; }; outputs = { self, nixpkgs, home-manager, nixvim, ... }@inputs: { diff --git a/hardware-configuration.nix b/hardware-configuration.nix index 4eb45db..611e46e 100644 --- a/hardware-configuration.nix +++ b/hardware-configuration.nix @@ -34,4 +34,27 @@ hardware.graphics.enable = true; hardware.graphics.extraPackages = [ pkgs.rocmPackages.clr.icd ]; + + networking.networkmanager = { + enable = true; + ensureProfiles.profiles = { + p2p-nas = { + connection = { + id="p2p-nas"; + type = "ethernet"; + interface-name = "enp1s0"; + autoconnect = true; + }; + ipv6 = { + method = "manual"; + addresses = "fd00:fa57::1/64"; + }; + ipv4.method = "disabled"; + ethernet.mtu = 9000; + }; + }; + }; + networking.extraHosts = '' + fd00:fa57::2 duke.veltnet + ''; } diff --git a/home/home.nix b/home/home.nix index 149ded1..39b1385 100644 --- a/home/home.nix +++ b/home/home.nix @@ -1,6 +1,7 @@ { config, pkgs, username, inputs, ...}: { imports = [ inputs.nixvim.homeModules.nixvim + inputs.catppuccin.homeModules.catppuccin ]; #NOTE: MUST be kept up to date with nixpkgs! @@ -12,15 +13,24 @@ home.packages = with pkgs; [ mpv bitwarden-desktop + feh + grim + slurp + xdg-user-dirs + libqalculate ]; programs.wofi.enable = true; + catppuccin.enable = true; + wayland.windowManager.hyprland = { enable = true; settings = import ./hyprland/settings.nix; }; + #TODO: decide on waybar + programs.nixvim = { enable = true; @@ -71,7 +81,7 @@ # For automatic login profileExtra = '' if [ -z "$WAYLAND_DISPLAY" ] && [ "$XDG_VTNR" = 1 ]; then - exec hyprland + exec hyprland > /var/log/hypr.log fi ''; diff --git a/home/hyprland/settings.nix b/home/hyprland/settings.nix index e454692..13d11a1 100644 --- a/home/hyprland/settings.nix +++ b/home/hyprland/settings.nix @@ -1,10 +1,14 @@ { "$mod" = "SUPER"; + "$browser" = "zen"; + "$term" = "kitty"; + general = { - border_size = 0; + border_size = 2; gaps_in = 5; gaps_out = 10; layout = "dwindle"; + allow_tearing = false; resize_on_border = true; }; @@ -14,20 +18,35 @@ input = { kb_layout = "de"; + follow_mouse = 1; }; - bind = builtins.concatLists [ - [ - "$mod, Q, exit" - "$mod, Return, exec, kitty" - "$mod, D, exec, wofi --show drun" - "$mod, F2, exec, zen" - "$mod, c, killactive" - "$mod, f, fullscreen" - ] - # Switch workspaces - (map (i: "$mod, ${builtins.toString i}, workspace, ${builtins.toString i}") [1 2 3 4 5 6 7 8 9]) - (map (i: "$mod+SHIFT, ${builtins.toString i}, movetoworkspace, ${builtins.toString i}") [1 2 3 4 5 6 7 8 9]) + bind = [ + "$mod, Q, exit" + "$mod, Return, exec, $term" + "$mod, D, exec, wofi --show drun" + "$mod, F2, exec, $browser" + "$mod, c, killactive" + "$mod, f, fullscreen" + "$mod, h, movefocus, l" + "$mod, j, movefocus, d" + "$mod, k, movefocus, u" + "$mod, l, movefocus, r" + "$mod+SHIFT, h, movewindow, l" + "$mod+SHIFT, j, movewindow, d" + "$mod+SHIFT, k, movewindow, u" + "$mod+SHIFT, l, movewindow, r" + ", Print, exec, grim -g \"$(slurp)\" \"/home/weckyy702/Pictures/screenshots/$(date -Iseconds).png\"" + "$mod+SHIFT, s, exec, hyprlock" + ] + ++ + # Switch workspaces + (map (i: "$mod, ${builtins.toString i}, workspace, ${builtins.toString i}") [1 2 3 4 5 6 7 8 9]) + ++ + (map (i: "$mod+SHIFT, ${builtins.toString i}, movetoworkspacesilent, ${builtins.toString i}") [1 2 3 4 5 6 7 8 9]); + + bindm = [ + "$mod, mouse:272, movewindow" ]; decoration = { @@ -38,11 +57,11 @@ }; animations.enabled = false; - + misc.disable_hyprland_logo = true; cursor.inactive_timeout = 5; - + ecosystem.no_update_news = true; ecosystem.no_donation_nag = true;