From 5f9227c2f821f65ad0481e15eaa2af15da39bc44 Mon Sep 17 00:00:00 2001 From: Yadunand Prem Date: Tue, 15 Jul 2025 21:26:37 -0400 Subject: [PATCH] feat: update penguin config --- falcon-nixos/home.nix | 1 - flake.lock | 12 ++++---- flake.nix | 6 ++++ modules/zsh.nix | 41 +++++++++++++++++++-------- penguin/configuration.nix | 58 ++++++++++++++++++++++++++++++++++++++- penguin/disko-config.nix | 4 +-- penguin/home.nix | 34 +++++++++++++++++++++++ 7 files changed, 134 insertions(+), 22 deletions(-) create mode 100644 penguin/home.nix diff --git a/falcon-nixos/home.nix b/falcon-nixos/home.nix index 5790555..b2c45cf 100644 --- a/falcon-nixos/home.nix +++ b/falcon-nixos/home.nix @@ -1,5 +1,4 @@ { - config, pkgs, ... }: { diff --git a/flake.lock b/flake.lock index 20e1cd5..1681637 100644 --- a/flake.lock +++ b/flake.lock @@ -166,11 +166,11 @@ ] }, "locked": { - "lastModified": 1752467539, - "narHash": "sha256-4kaR+xmng9YPASckfvIgl5flF/1nAZOplM+Wp9I5SMI=", + "lastModified": 1752603129, + "narHash": "sha256-S+wmHhwNQ5Ru689L2Gu8n1OD6s9eU9n9mD827JNR+kw=", "owner": "nix-community", "repo": "home-manager", - "rev": "1e54837569e0b80797c47be4720fab19e0db1616", + "rev": "e8c19a3cec2814c754f031ab3ae7316b64da085b", "type": "github" }, "original": { @@ -225,11 +225,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1751984180, - "narHash": "sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X+xgOL0=", + "lastModified": 1752480373, + "narHash": "sha256-JHQbm+OcGp32wAsXTE/FLYGNpb+4GLi5oTvCxwSoBOA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9807714d6944a957c2e036f84b0ff8caf9930bc0", + "rev": "62e0f05ede1da0d54515d4ea8ce9c733f12d9f08", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index f47a034..1e294f7 100644 --- a/flake.nix +++ b/flake.nix @@ -72,6 +72,12 @@ ./penguin/configuration.nix ./penguin/hardware-configuration.nix yadunut.lib.users + home-manager.nixosModules.home-manager + { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.users.yadunut = import ./penguin/home.nix; + } ]; }; "falcon-nixos" = nixpkgs.lib.nixosSystem { diff --git a/modules/zsh.nix b/modules/zsh.nix index fe6cc63..a4c3397 100644 --- a/modules/zsh.nix +++ b/modules/zsh.nix @@ -1,15 +1,18 @@ { - config, pkgs, ... }: { + home.packages = with pkgs; [ zsh-completions fd htop ripgrep wget + lazygit ]; + + programs.bat = { enable = true; }; @@ -18,6 +21,18 @@ enableZshIntegration = true; }; + programs.direnv = { + enable = true; + enableZshIntegration = true; + nix-direnv.enable = true; + config = { + hide_env_diff = true; + }; + }; + + programs.git.extraConfig = { + user.signingkey = "~/.ssh/id_ed25519.pub"; + }; programs.zsh = { enable = true; history = { @@ -29,26 +44,28 @@ ignoreAllDups = true; ignoreSpace = true; }; + syntaxHighlighting.enable = true; + # defaultKeymap = "vicmd"; prezto = { enable = true; editor.keymap = "vi"; editor.dotExpansion = true; pmodules = [ - "environment" - "terminal" - "utility" - "directory" - "editor" - "history" - "syntax-highlighting" - "history-substring-search" - "autosuggestions" - "completion" + # "environment" + # "terminal" + # "utility" + # "directory" + # "editor" + # "history" + # "syntax-highlighting" + # "history-substring-search" + # "autosuggestions" + # "completion" ]; }; shellAliases = { cat = "bat --theme=\"$(defaults read -globalDomain AppleInterfaceStyle &> /dev/null && echo 'gruvbox-dark' || echo 'gruvbox-light')\""; - + lg = "lazygit"; diff = "delta"; }; }; diff --git a/penguin/configuration.nix b/penguin/configuration.nix index d2f80e0..e68cb2b 100644 --- a/penguin/configuration.nix +++ b/penguin/configuration.nix @@ -12,6 +12,8 @@ }; }; + time.timeZone = "America/Toronto"; + networking.networkmanager = { enable = true; }; @@ -20,19 +22,73 @@ enable = true; settings.PasswordAuthentication = false; }; + users.users.yadunut = { + shell = pkgs.zsh; + extraGroups = [ "input" ]; + }; + programs.zsh.enable = true; + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + services.tailscale.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + pulse.enable = true; + jack.enable = true; + }; + + services.greetd = { + enable = true; + settings = rec { + initial_session={ + command = "uwsm start hyprland-uwsm.desktop"; + user = "yadunut"; + }; + default_session = initial_session; + }; + }; + hardware.bluetooth.enable = true; + services.blueman.enable = true; + security.rtkit.enable = true; + nixpkgs.config.allowUnfree = true; + programs.hyprland = { + enable = true; + withUWSM = true; + }; + + programs._1password.enable = true; + programs._1password-gui.enable = true; networking.hostName = "penguin"; environment.systemPackages = with pkgs; [ git neovim - ghostty + kdePackages.dolphin + wofi + dunst + hyprpolkitagent + nixd + brightnessctl ]; + + virtualisation.podman = { + enable = true; + dockerCompat = true; + defaultNetwork.settings.dns_enabled = true; + }; + + fonts.packages = with pkgs;[ nerd-fonts.jetbrains-mono font-awesome + noto-fonts + noto-fonts-emoji + noto-fonts-cjk-sans + noto-fonts-extra + ]; + system.stateVersion = "25.11"; } diff --git a/penguin/disko-config.nix b/penguin/disko-config.nix index 813e464..cbb00ef 100644 --- a/penguin/disko-config.nix +++ b/penguin/disko-config.nix @@ -75,8 +75,8 @@ ]; }; "@/swap" = { - mountpoint = "/.swapvol"; - swap.swapfile.size = "64G"; + # mountpoint = "/.swapvol"; + # swap.swapfile.size = "64G"; mountOptions = [ "noatime" ]; }; }; diff --git a/penguin/home.nix b/penguin/home.nix new file mode 100644 index 0000000..5e01986 --- /dev/null +++ b/penguin/home.nix @@ -0,0 +1,34 @@ +{pkgs, ...}:{ + home.username = "yadunut"; + home.homeDirectory = "/home/yadunut"; + + home.packages = with pkgs; [ + ripgrep + lazygit + ]; + + services.darkman.enable = true; + + imports = [ + (import ../modules/zsh.nix) + # (import ../modules/neovim.nix) + (import ../modules/git.nix) + ]; + + programs.ghostty = { + enable = true; + enableZshIntegration = true; + installBatSyntax = true; + }; + programs = { + waybar = { + enable = true; + systemd.enable = true; + }; + gh.enable = true; + zed-editor.enable = true; + firefox.enable = true; + }; + home.stateVersion = "25.11"; + programs.home-manager.enable = true; +}