diff --git a/deploy b/deploy index adec8b2..4dc0576 100755 --- a/deploy +++ b/deploy @@ -6,7 +6,6 @@ usage="Usage: $(basename $0) [OPTIONS] Options: -f, --fresh Remove old content in the nixstore (good for debugging) -b, --bootloader Reinstall the bootloader - -r, --remote Locally build and remotely deploy Colmena hive -h, --help Show this message (^_^)" # delete all cached entries @@ -26,26 +25,11 @@ rebuild_flake () { fi } -deploy_hive () { - echo "[+] Adding keys to ssh-agent" - ssh-add ~/.ssh/id_hyrule - printf "\n" - - git add . --verbose - # Deploy to all Colmena hives - colmena build --experimental-flake-eval - colmena apply --experimental-flake-eval - # colmena apply --on hyrule --experimental-flake-eval -} - # check which flags were given flag_fresh=false flag_bootloader=false for flag in "$@"; do case "$flag" in - -r|--remote) - deploy_hive - exit 0 ;; -f|--fresh) flag_fresh=true ;; -b|--bootloader) diff --git a/deploy-remote b/deploy-remote new file mode 100755 index 0000000..be09c7d --- /dev/null +++ b/deploy-remote @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +set -e # terminate if any command fails + +echo "[+] Adding keys to ssh-agent" +ssh-add ~/.ssh/id_hyrule +printf "\n" + +git add . +# Deploy to all Colmena hives +colmena build --experimental-flake-eval +colmena apply --experimental-flake-eval +# colmena apply --on hyrule --experimental-flake-eval diff --git a/docs/inspiration.md b/docs/inspiration.md index fdb73ab..2c5adf0 100755 --- a/docs/inspiration.md +++ b/docs/inspiration.md @@ -6,7 +6,3 @@ 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 9e28c75..4e31fa3 100755 --- a/flake.lock +++ b/flake.lock @@ -560,11 +560,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1739866667, - "narHash": "sha256-EO1ygNKZlsAC9avfcwHkKGMsmipUk1Uc0TbrEZpkn64=", + "lastModified": 1729880355, + "narHash": "sha256-RP+OQ6koQQLX5nw0NmcDrzvGL8HDLnyXt/jHhL1jwjM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "73cf49b8ad837ade2de76f87eb53fc85ed5d4680", + "rev": "18536bf04cd71abd345f9579158841376fdd0c5a", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index e31b8ac..861295a 100755 --- a/flake.nix +++ b/flake.nix @@ -4,6 +4,7 @@ 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"; @@ -22,11 +23,6 @@ # 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 @@ -34,8 +30,14 @@ 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 = { @@ -45,20 +47,18 @@ 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,8 +93,36 @@ 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/hosts/modules/flakes/wishlist/README b/flakes/wishlist/README similarity index 100% rename from hosts/modules/flakes/wishlist/README rename to flakes/wishlist/README diff --git a/hosts/modules/flakes/wishlist/flake.nix b/flakes/wishlist/flake.nix similarity index 100% rename from hosts/modules/flakes/wishlist/flake.nix rename to flakes/wishlist/flake.nix diff --git a/hosts/modules/flakes/wishlist/wishlist.nix b/flakes/wishlist/wishlist.nix similarity index 100% rename from hosts/modules/flakes/wishlist/wishlist.nix rename to flakes/wishlist/wishlist.nix diff --git a/homes/me/default.nix b/homes/me/default.nix index 2636693..80d2878 100755 --- a/homes/me/default.nix +++ b/homes/me/default.nix @@ -11,7 +11,6 @@ }; imports = [ - #inputs.hyprpanel.packages.homeManagerModules.hyprpanel ../modules/git.nix ../modules/bat.nix ../modules/fish.nix @@ -116,9 +115,6 @@ user = "ae"; port = 22; identityFile = "~/.ssh/id_hyrule"; - setEnv = { - TERM = "linux"; - }; }; subspace = { hostname = "imbored.dev"; @@ -126,80 +122,9 @@ 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/homes/modules/ags/config.js b/homes/modules/ags/config.js index 5a11efc..904ba9e 100755 --- a/homes/modules/ags/config.js +++ b/homes/modules/ags/config.js @@ -1,28 +1,24 @@ import { AppLauncher } from "./widgets/applauncher.js" -//import { Notifications } from "./widgets/notifications.js" +import { Notifications } from "./widgets/notifications.js" -/* const date = Variable('', { poll: [1000, 'date'], }) -*/ -/* const Bar = (monitor = 0) => Widget.Window({ monitor, name: 'bar${monitor}', anchor: ['top', 'left', 'right'], child: Widget.Label({ label: date.bind() }), }) -*/ App.config({ style: "./style.css", // icons: "./assets", windows: [ - //Bar(), + Bar(), AppLauncher, - //Notifications() + Notifications() ] // gtkTheme: "Adwaita-dark", // cursorTheme: "Qogir", diff --git a/homes/modules/ags/widgets/fullscreen.js b/homes/modules/ags/widgets/fullscreen.js index 72682f2..a6c60f0 100755 --- a/homes/modules/ags/widgets/fullscreen.js +++ b/homes/modules/ags/widgets/fullscreen.js @@ -2,10 +2,10 @@ const WINDOW_NAME = "fullscreen"; const Fullscreen = (children) => Widget.Box({ vertical: true, - css: "background-image: url('~/downloads/wallpaper/kill-my-firstborn/astronaut-pink-blue.png');", - //+ "background-size: cover;" - //+ "background-position: center;" - //+ "background-repeat: no-repeat;", + css: "background-image: url('https://images2.alphacoders.com/135/1351579.png');" + + "background-size: cover;" + + "background-position: center;" + + "background-repeat: no-repeat;", children: children, }) diff --git a/hosts/lolcathost/default.nix b/hosts/lolcathost/default.nix index c06299d..2c4d794 100755 --- a/hosts/lolcathost/default.nix +++ b/hosts/lolcathost/default.nix @@ -6,8 +6,7 @@ }: let home-manager = builtins.fetchTarball { url = "https://github.com/nix-community/home-manager/archive/release-24.11.tar.gz"; - sha256 = "0c07xj74vsj37d3a8f98i9rhhhr99ckwlp45n40f0qkmigm3pk8s"; - #sha256 = "15k41il0mvmwyv6jns4z8k6khhmb22jk5gpcqs1paym3l01g6abn"; + sha256 = "15k41il0mvmwyv6jns4z8k6khhmb22jk5gpcqs1paym3l01g6abn"; }; in { imports = [ @@ -38,7 +37,7 @@ in { efiSupport = true; #efiInstallAsRemovable = true; # in case canTouchEfiVariables doesn't work on this system device = "nodev"; - useOSProber = false; + useOSProber = true; }; # GitHub: vinceliuice/grub2-themes grub2-theme = { @@ -119,34 +118,19 @@ in { isNormalUser = true; extraGroups = ["wheel"]; shell = pkgs.bash; #pkgs.fish - 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 + packages = with pkgs; [ + firefox + nitch + starfetch - hyprpanel + # flatpak requires gnome-software + # for graphical applications + flatpak + gnome-software - # flatpak requires gnome-software - # for graphical applications - flatpak - gnome-software - - colmena-latest - - jetbrains.rider - gitkraken - ]; + jetbrains.rider + gitkraken + ]; }; # user for my professional jobs and stuff @@ -179,11 +163,10 @@ in { home-manager = { users.me = import ../../homes/me; - #extraSpecialArgs = {inherit inputs pkgs;}; sharedModules = [ - inputs.ags.homeManagerModules.default inputs.nixcord.homeManagerModules.nixcord - #{nixpkgs.overlays = [inputs.hyprpanel.overlay];} + inputs.ags.homeManagerModules.default + {nixpkgs.overlays = [inputs.hyprpanel.overlay];} ]; }; @@ -197,16 +180,13 @@ 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 @@ -228,7 +208,6 @@ in { brightnessctl acpi vim - powertop # Unix Commands wget @@ -240,8 +219,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 117cfee..3f5afed 100755 --- a/hosts/myputer/default.nix +++ b/hosts/myputer/default.nix @@ -121,7 +121,7 @@ in { rev = "47b6414d800c8471e98ca072bc0835345741a56a"; sha256 = "rINodqeUuezuCWOnpJgrH7u9vJ86fYT+Dj8Mu8T/IBc="; }; - colmena-latest = pkgs.callPackage "${colmena-src}/package.nix" {}; + colmena-new = pkgs.callPackage "${colmena-src}/package.nix" {}; in with pkgs; [ firefox @@ -132,7 +132,7 @@ in { flatpak gnome-software - colmena-latest + colmena-new gitkraken # NOTE: downloadthing this causes my PC to freak!! ("too many open files" error) diff --git a/hosts/modules/colmena.nix b/modules/colmena.nix similarity index 100% rename from hosts/modules/colmena.nix rename to modules/colmena.nix diff --git a/hosts/modules/core/bluetooth.nix b/modules/core/bluetooth.nix similarity index 100% rename from hosts/modules/core/bluetooth.nix rename to modules/core/bluetooth.nix diff --git a/hosts/modules/core/bootloader/grub.nix b/modules/core/bootloader/grub.nix similarity index 100% rename from hosts/modules/core/bootloader/grub.nix rename to modules/core/bootloader/grub.nix diff --git a/hosts/modules/core/bootloader/systemd-boot.nix b/modules/core/bootloader/systemd-boot.nix similarity index 100% rename from hosts/modules/core/bootloader/systemd-boot.nix rename to modules/core/bootloader/systemd-boot.nix diff --git a/hosts/modules/core/garbage-collector.nix b/modules/core/garbage-collector.nix similarity index 100% rename from hosts/modules/core/garbage-collector.nix rename to modules/core/garbage-collector.nix diff --git a/hosts/modules/core/sound/default.nix b/modules/core/sound/default.nix similarity index 100% rename from hosts/modules/core/sound/default.nix rename to modules/core/sound/default.nix diff --git a/hosts/modules/core/sound/pipewire.nix b/modules/core/sound/pipewire.nix similarity index 100% rename from hosts/modules/core/sound/pipewire.nix rename to modules/core/sound/pipewire.nix diff --git a/hosts/modules/discord/nixcord.nix b/modules/discord/nixcord.nix similarity index 100% rename from hosts/modules/discord/nixcord.nix rename to modules/discord/nixcord.nix diff --git a/hosts/modules/hyprland/default.nix b/modules/hyprland/default.nix similarity index 100% rename from hosts/modules/hyprland/default.nix rename to modules/hyprland/default.nix diff --git a/hosts/modules/wishlist.nix b/modules/wishlist.nix similarity index 100% rename from hosts/modules/wishlist.nix rename to modules/wishlist.nix diff --git a/hosts/modules/wishlist.nix.bak b/modules/wishlist.nix.bak similarity index 100% rename from hosts/modules/wishlist.nix.bak rename to modules/wishlist.nix.bak