From 9636eab7f612d67b2f5a68ddf02e6622d13d1180 Mon Sep 17 00:00:00 2001 From: Emile Clark-Boman Date: Mon, 24 Feb 2025 13:18:46 +1000 Subject: [PATCH] added hyprpanel, fixed colmena for laptop, and minor ssh config changes --- docs/inspiration.md | 4 ++ flake.lock | 6 +-- flake.nix | 46 +++++----------------- homes/me/default.nix | 75 ++++++++++++++++++++++++++++++++++++ hosts/lolcathost/default.nix | 57 ++++++++++++++++++--------- hosts/myputer/default.nix | 4 +- 6 files changed, 132 insertions(+), 60 deletions(-) diff --git a/docs/inspiration.md b/docs/inspiration.md index 2c5adf0..fdb73ab 100755 --- a/docs/inspiration.md +++ b/docs/inspiration.md @@ -6,3 +6,7 @@ Gorgeous Very nice https://github.com/linuxmobile/hyprland-dots + + +I love their hyprpanel! + https://www.reddit.com/r/unixporn/comments/1ha3mjw/hyprlandnixos_is_the_pretty_ucking_solid_i_love/ diff --git a/flake.lock b/flake.lock index 4e31fa3..9e28c75 100755 --- a/flake.lock +++ b/flake.lock @@ -560,11 +560,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1729880355, - "narHash": "sha256-RP+OQ6koQQLX5nw0NmcDrzvGL8HDLnyXt/jHhL1jwjM=", + "lastModified": 1739866667, + "narHash": "sha256-EO1ygNKZlsAC9avfcwHkKGMsmipUk1Uc0TbrEZpkn64=", "owner": "nixos", "repo": "nixpkgs", - "rev": "18536bf04cd71abd345f9579158841376fdd0c5a", + "rev": "73cf49b8ad837ade2de76f87eb53fc85ed5d4680", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 861295a..e31b8ac 100755 --- a/flake.nix +++ b/flake.nix @@ -4,7 +4,6 @@ inputs = { # nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; - #nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; #home-manager = { # url = "github:nix-community/home-manager"; @@ -23,6 +22,11 @@ # is this necessary? (aren't I enabling it in `configuration.nix` anyways?) hyprland.url = "github:hyprwm/Hyprland"; + hyprpanel = { + url = "github:Jas-SinghFSU/HyprPanel"; + #inputs.nixpkgs.follows = "nixpkgs"; + }; + swww.url = "github:LGFae/swww"; # TODO: declarative flatpak management @@ -30,14 +34,8 @@ ags.url = "github:Aylur/ags"; - hyprpanel.url = "github:Jas-SinghFSU/HyprPanel"; - # colmena.url = "github:zhaofengli/colmena"; colmena.url = "github:zhaofengli/colmena/?rev=47b6414d800c8471e98ca072bc0835345741a56a"; - # alternative to colmena (currently in testing) - #deploy-rs.url = "github:serokell/deploy-rs"; - - #wishlist.url = "path:/home/me/nixdots/flakes/wishlist"; }; outputs = { @@ -47,18 +45,20 @@ hyprland, grub2-themes, nixcord, + hyprpanel, colmena, - #deploy-rs, ... } @ inputs: let system = "x86_64-linux"; pkgs = import nixpkgs { inherit system; - config = { allowUnfree = true; }; + overlays = [ + inputs.hyprpanel.overlay + ]; }; # TODO: come back to this its really cool @@ -93,36 +93,8 @@ grub2-themes.nixosModules.default ]; }; - - # meine vps - # hyrule = nixpkgs.lib.nixosSystem { - # # manually set system architecture since - # # this is for a remote deployment - # system = "x86_64-linux"; - # specialargs = {inherit inputs pkgs;}; - # - # modules = [ - # ./hosts/hyrule - # ]; - # }; }; - # remote deployment with deploy-rs - # deploy.nodes.hyrule = { - # hostname = "imbored.dev"; - # # create a primary profile called "system" - # profiles.system = { - # user = "root"; # user to deploy to - # path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.hyrule; - # - # # ssh configuration for reaching the server - # sshUser = "ae"; - # #interactiveSudo = true; # TODO: use this and revoke passwordless sudo for ae - # sshOpts = ["-i" "/home/me/.ssh/id_hyrule"]; - # remoteBuild = false; # build locally then deploy to remote host - # }; - # }; - # remote deployment to my servers!! colmenaHive = colmena.lib.makeHive { meta = { diff --git a/homes/me/default.nix b/homes/me/default.nix index 80d2878..2636693 100755 --- a/homes/me/default.nix +++ b/homes/me/default.nix @@ -11,6 +11,7 @@ }; imports = [ + #inputs.hyprpanel.packages.homeManagerModules.hyprpanel ../modules/git.nix ../modules/bat.nix ../modules/fish.nix @@ -115,6 +116,9 @@ user = "ae"; port = 22; identityFile = "~/.ssh/id_hyrule"; + setEnv = { + TERM = "linux"; + }; }; subspace = { hostname = "imbored.dev"; @@ -122,9 +126,80 @@ port = 22; identityFile = "~/.ssh/id_subspace"; }; + youcue = { + hostname = "moss.labs.eait.uq.edu.au"; + user = "s4740056"; + port = 22; + identityFile = "~/.ssh/id_youcue"; + setEnv = { + TERM = "xterm-256color"; + }; + }; + deadlyserver = { + hostname = "deadlyserver.com"; + user = "emile"; + port = 29843; + identityFile = "~/.ssh/id_deadlyserver"; + setEnv = { + TERM = "xterm-256color"; + }; + }; }; }; + /* + hyprpanel = { + enable = true; + # automatically restart when config changes + systemd.enable = true; # TODO: change to false + # add `exec-once hyprpanel` to hyprland config + hyprland.enable = true; + + # fix the overwrite issue with hyprpanel on NixOS + overwrite.enable = true; + + # import a theme from './themes/*.json' + # theme = ""; + + # override the final config + #override = {}; + + # config the bar layouts for monitors + layout = { + "bar.layouts" = { + "0" = { + left = ["dashboard" "workspaces"]; + middle = ["media"]; + right = ["volume" "systray" "notifications"]; + }; + }; + }; + + # settings = { + # bar.launcher.autoDetectIcon = true; + # bar.workspaces.show_icons = true; + # + # menus.clock = { + # time = { + # military = true; + # hideSeconds = true; + # }; + # weather.unit = "metric"; + # }; + # + # menus.dashboard.directories.enabled = false; + # menus.dashboard.stats.enable_gpu = true; + # + # theme.bar.transparent = true; + # + # theme.font = { + # name = "CaskaydiaCove NF"; + # size = "16px"; + # }; + # }; + }; + */ + # I want to use fish as my login shell but it always # goes terrible cause it isn't POSIX compliant, so # instead Bash is my login and it will just exec fish diff --git a/hosts/lolcathost/default.nix b/hosts/lolcathost/default.nix index 2c4d794..c06299d 100755 --- a/hosts/lolcathost/default.nix +++ b/hosts/lolcathost/default.nix @@ -6,7 +6,8 @@ }: let home-manager = builtins.fetchTarball { url = "https://github.com/nix-community/home-manager/archive/release-24.11.tar.gz"; - sha256 = "15k41il0mvmwyv6jns4z8k6khhmb22jk5gpcqs1paym3l01g6abn"; + sha256 = "0c07xj74vsj37d3a8f98i9rhhhr99ckwlp45n40f0qkmigm3pk8s"; + #sha256 = "15k41il0mvmwyv6jns4z8k6khhmb22jk5gpcqs1paym3l01g6abn"; }; in { imports = [ @@ -37,7 +38,7 @@ in { efiSupport = true; #efiInstallAsRemovable = true; # in case canTouchEfiVariables doesn't work on this system device = "nodev"; - useOSProber = true; + useOSProber = false; }; # GitHub: vinceliuice/grub2-themes grub2-theme = { @@ -118,19 +119,34 @@ in { isNormalUser = true; extraGroups = ["wheel"]; shell = pkgs.bash; #pkgs.fish - packages = with pkgs; [ - firefox - nitch - starfetch + packages = let + # TODO: can I just do this: https://nix.dev/manual/nix/2.18/command-ref/new-cli/nix3-flake#url-like-syntax + # instead to use colmena's flake.nix by specifying a rev hash in the flake input? + colmena-src = pkgs.fetchFromGitHub { + owner = "zhaofengli"; + repo = "colmena"; + rev = "47b6414d800c8471e98ca072bc0835345741a56a"; + sha256 = "rINodqeUuezuCWOnpJgrH7u9vJ86fYT+Dj8Mu8T/IBc="; + }; + colmena-latest = pkgs.callPackage "${colmena-src}/package.nix" {}; + in + with pkgs; [ + firefox + nitch + starfetch - # flatpak requires gnome-software - # for graphical applications - flatpak - gnome-software + hyprpanel - jetbrains.rider - gitkraken - ]; + # flatpak requires gnome-software + # for graphical applications + flatpak + gnome-software + + colmena-latest + + jetbrains.rider + gitkraken + ]; }; # user for my professional jobs and stuff @@ -163,10 +179,11 @@ in { home-manager = { users.me = import ../../homes/me; + #extraSpecialArgs = {inherit inputs pkgs;}; sharedModules = [ - inputs.nixcord.homeManagerModules.nixcord inputs.ags.homeManagerModules.default - {nixpkgs.overlays = [inputs.hyprpanel.overlay];} + inputs.nixcord.homeManagerModules.nixcord + #{nixpkgs.overlays = [inputs.hyprpanel.overlay];} ]; }; @@ -180,13 +197,16 @@ in { wl-clipboard # clipboard for wayland pavucontrol - (callPackage ./sddm-theme-corners.nix {}).sddm-theme-corners + (callPackage ../sddm-theme-corners.nix {}).sddm-theme-corners # dependencies for my sddm theme: pkgs.libsForQt5.qt5.qtgraphicaleffects python311 # I use 3.11 since it's in a pretty stable state now poetry # python dependency management and packaging + # DEBUG: using neofetch temporarily to see if my system upgrades properly + neofetch + # fish plugins grc # colorise command outputs @@ -208,6 +228,7 @@ in { brightnessctl acpi vim + powertop # Unix Commands wget @@ -219,8 +240,8 @@ in { programs = { hyprland = { enable = true; - package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; - portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; + #package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; + #portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; xwayland.enable = true; }; diff --git a/hosts/myputer/default.nix b/hosts/myputer/default.nix index 3f5afed..117cfee 100755 --- a/hosts/myputer/default.nix +++ b/hosts/myputer/default.nix @@ -121,7 +121,7 @@ in { rev = "47b6414d800c8471e98ca072bc0835345741a56a"; sha256 = "rINodqeUuezuCWOnpJgrH7u9vJ86fYT+Dj8Mu8T/IBc="; }; - colmena-new = pkgs.callPackage "${colmena-src}/package.nix" {}; + colmena-latest = pkgs.callPackage "${colmena-src}/package.nix" {}; in with pkgs; [ firefox @@ -132,7 +132,7 @@ in { flatpak gnome-software - colmena-new + colmena-latest gitkraken # NOTE: downloadthing this causes my PC to freak!! ("too many open files" error)