From e7ac0a8c269d34a0f328f6e86e107dc0525a5573 Mon Sep 17 00:00:00 2001 From: Nathan Date: Sun, 12 Jan 2025 10:03:11 -0600 Subject: [PATCH] switch to default.nix for home-manager --- flake.nix | 10 ++- home-manager/default.nix | 42 ++++++++-- home-manager/dotfiles/default.nix | 30 ++------ home-manager/flake.nix | 65 ---------------- home-manager/packages/default.nix | 11 ++- home-manager/packages/external/default.nix | 15 ---- home-manager/packages/external/flake.nix | 40 ---------- home-manager/packages/flake.nix | 24 ------ home-manager/packages/scripts/flake.nix | 12 --- home-manager/programs/ags/default.nix | 39 ++++++++++ home-manager/programs/ags/flake.nix | 52 ------------- home-manager/programs/default.nix | 23 ++++++ home-manager/programs/flake.nix | 42 ---------- home-manager/programs/hyprland/default.nix | 31 ++++++++ home-manager/programs/hyprland/flake.nix | 43 ----------- home-manager/programs/pywal/default.nix | 29 +++++++ home-manager/programs/pywal/flake.nix | 90 ---------------------- home-manager/programs/rofi/flake.nix | 10 --- 18 files changed, 183 insertions(+), 425 deletions(-) delete mode 100644 home-manager/flake.nix delete mode 100644 home-manager/packages/external/default.nix delete mode 100644 home-manager/packages/external/flake.nix delete mode 100644 home-manager/packages/flake.nix delete mode 100644 home-manager/packages/scripts/flake.nix create mode 100644 home-manager/programs/ags/default.nix delete mode 100644 home-manager/programs/ags/flake.nix create mode 100644 home-manager/programs/default.nix delete mode 100644 home-manager/programs/flake.nix create mode 100644 home-manager/programs/hyprland/default.nix delete mode 100644 home-manager/programs/hyprland/flake.nix create mode 100644 home-manager/programs/pywal/default.nix delete mode 100644 home-manager/programs/pywal/flake.nix delete mode 100644 home-manager/programs/rofi/flake.nix diff --git a/flake.nix b/flake.nix index 06dedb5..b3af11b 100644 --- a/flake.nix +++ b/flake.nix @@ -32,12 +32,13 @@ #simple-nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-24.05"; - system.url = "./system-config"; hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; + tokyo-night-sddm = { url = "github:siddrs/tokyo-night-sddm"; flake = false; }; + sugar-dark-sddm = { url = "github:MarianArlt/sddm-sugar-dark"; flake = false; @@ -45,7 +46,12 @@ nixvim.url = "/home/nathan/Projects/Nixvim"; - nathan.url = "./home-manager"; + ags.url = "github:Aylur/ags/v1"; + + themecord = { + url = "github:danihek/themecord"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; diff --git a/home-manager/default.nix b/home-manager/default.nix index aa82d9a..318437a 100644 --- a/home-manager/default.nix +++ b/home-manager/default.nix @@ -1,8 +1,38 @@ -{ ... }: { +{ config, lib, pkgs, ... }: { - imports = [ - ./dotfiles - ./impermanence - ./services - ]; + imports = [ + ./programs + ./services + ./packages + ./dotfiles + ./impermanence + ]; + + config = { + + home.stateVersion = "23.11"; + + home.username = "nathan"; + + home.homeDirectory = "/home/nathan"; + + home.pointerCursor = { + gtk.enable = true; + package = pkgs.bibata-cursors; + name = "Bibata-Modern-Classic"; + size = 16; + }; + + gtk = { + enable = true; + theme.name = "Tokyonight-Dark-B"; + theme.package = pkgs.tokyonight-gtk-theme; + iconTheme.name = "Tokyonight-Dark"; + }; + + services.mpris-proxy.enable = true; + + programs.ssh.enable = true; + + }; } diff --git a/home-manager/dotfiles/default.nix b/home-manager/dotfiles/default.nix index 3468712..19bfae9 100644 --- a/home-manager/dotfiles/default.nix +++ b/home-manager/dotfiles/default.nix @@ -1,26 +1,12 @@ { config, lib, ... }: { - config = lib.mkMerge [ + home.file = { + ".config/ags" = { source = ./dotfiles/ags; recursive = true; }; + ".config/hypr" = { source = ./dotfiles/hypr; recursive = true; }; + ".config/swaylock" = { source = ./dotfiles/swaylock; recursive = true; }; + ".config/wal/templates" = { source = ./dotfiles/wal/templates; recursive = true; }; + ".config/wayvnc" = { source = ./dotfiles/wayvnc; recursive = true; }; + "Pictures/Wallpaper" = { source = ./dotfiles/Wallpaper; recursive = true; }; + }; - (lib.mkIf config.homeconfig.ags.enable { - home.file."ags" = { source = ./ags; target = ".config/ags"; recursive = true; }; - }) - - (lib.mkIf config.homeconfig.hyprland.enable { - home.file = { - "Wallpaper" = { source = ./Wallpaper; target = "Pictures/Wallpaper"; recursive = true; }; - "hyprland" = { source = ./hypr; target = ".config/hypr"; recursive = true; }; - }; - }) - - (lib.mkIf config.homeconfig.swaylock.enable { - - home.file."swaylock" = { source = ./swaylock; target = ".config/swaylock"; recursive = true; }; - }) - - (lib.mkIf config.homeconfig.wal.enable { - - home.file."wal" = { source = ./wal/templates; target = ".config/wal/templates"; recursive = true; }; - }) - ]; } diff --git a/home-manager/flake.nix b/home-manager/flake.nix deleted file mode 100644 index 41602bd..0000000 --- a/home-manager/flake.nix +++ /dev/null @@ -1,65 +0,0 @@ -{ - description = "Nathan user settings"; - - inputs = { - - nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; - - home-manager = { - url = "github:nix-community/home-manager/release-24.05"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - - prgms.url = "./programs"; - - packages.url = "./packages"; - - }; - - outputs = { self, ... }@inputs: { - - homeManagerModule = { config, lib, pkgs, ... }: { - - imports = [ - inputs.prgms.hmModule - ./services - inputs.packages.hmModule -# ./dotfiles - ./impermanence - ]; - - home.stateVersion = "23.11"; - - home.file = { - ".config/ags" = { source = ./dotfiles/ags; recursive = true; }; - ".config/hypr" = { source = ./dotfiles/hypr; recursive = true; }; - ".config/swaylock" = { source = ./dotfiles/swaylock; recursive = true; }; - ".config/wal/templates" = { source = ./dotfiles/wal/templates; recursive = true; }; - ".config/wayvnc" = { source = ./dotfiles/wayvnc; recursive = true; }; - "Pictures/Wallpaper" = { source = ./dotfiles/Wallpaper; recursive = true; }; - }; - home.username = "nathan"; - - home.homeDirectory = "/home/nathan"; - - home.pointerCursor = { - gtk.enable = true; - package = pkgs.bibata-cursors; - name = "Bibata-Modern-Classic"; - size = 16; - }; - - gtk = { - enable = true; - theme.name = "Tokyonight-Dark-B"; - theme.package = pkgs.tokyonight-gtk-theme; - iconTheme.name = "Tokyonight-Dark"; - }; - - services.mpris-proxy.enable = true; - - programs.ssh.enable = true; - - }; - }; -} diff --git a/home-manager/packages/default.nix b/home-manager/packages/default.nix index e944016..e575efa 100644 --- a/home-manager/packages/default.nix +++ b/home-manager/packages/default.nix @@ -1,8 +1,15 @@ -{ config, lib, pkgs, pkgs-us, self, ... }: { +{ config, lib, pkgs, inputs, ... }: let + system = "x86_64-linux"; + + pkgs-us = import inputs.nixpkgs-us { + inherit system; + config.allowUnfree = true; + }; + + in { imports = [ ./scripts - self.inputs.external.hmModule ]; options.homeconfig.minimal = lib.options.mkOption { diff --git a/home-manager/packages/external/default.nix b/home-manager/packages/external/default.nix deleted file mode 100644 index 37f24fc..0000000 --- a/home-manager/packages/external/default.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ config, lib, pkgs, self, ... }: { - - options = { - homeconfig.externalPackages.enable = lib.options.mkOption { - type = lib.types.bool; - default = false; - }; - }; - - config = lib.mkIf config.homeconfig.externalPackages.enable { - home.packages = [ - self.packages.${pkgs.system}.digital - ]; - }; -} diff --git a/home-manager/packages/external/flake.nix b/home-manager/packages/external/flake.nix deleted file mode 100644 index 395d232..0000000 --- a/home-manager/packages/external/flake.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ - description = "Nathan user External Flakes"; - - inputs = { - - digital = { - url = "https://github.com/hneemann/Digital/releases/latest/download/Digital.zip"; - flake = false; - }; - - nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; - }; - - outputs = { self, ... }@inputs: let - system = "x86_64-linux"; - _pkgs = import inputs.nixpkgs { inherit system; }; - in { - - packages.${system}.digital = _pkgs.stdenv.mkDerivation { - - name = "digital"; - - src = inputs.digital; - - buildPhase = '' - - ''; - - installPhase = '' - mkdir -p $out/bin - echo "${_pkgs.zulu}/bin/java -jar $src/Digital.jar" > $out/bin/$name - chmod +x $out/bin/digital - ''; - - }; - - hmModule = { config, lib, pkgs, ... }: import ./. { inherit config lib pkgs self; }; - - }; -} diff --git a/home-manager/packages/flake.nix b/home-manager/packages/flake.nix deleted file mode 100644 index d9e680a..0000000 --- a/home-manager/packages/flake.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ - description = "Nathan user packages"; - - inputs = { - nixpkgs-us.url = "github:nixos/nixpkgs/nixos-unstable"; - - external.url = "./external"; - - }; - - outputs = { self, ... }@inputs: let - system = "x86_64-linux"; - - pkgs-us = import inputs.nixpkgs-us { - inherit system; - config.allowUnfree = true; - }; - - in { - - hmModule = { config, lib, pkgs, ... }: import ./. { inherit config lib pkgs pkgs-us self; }; - - }; -} diff --git a/home-manager/packages/scripts/flake.nix b/home-manager/packages/scripts/flake.nix deleted file mode 100644 index 58fbf5f..0000000 --- a/home-manager/packages/scripts/flake.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ - description = "Nathan user scripts"; - - inputs = { - }; - - outputs = { self, ... }: { - - hmModule = import ./.; - - }; -} diff --git a/home-manager/programs/ags/default.nix b/home-manager/programs/ags/default.nix new file mode 100644 index 0000000..d6dd04d --- /dev/null +++ b/home-manager/programs/ags/default.nix @@ -0,0 +1,39 @@ +{ config, lib, pkgs, inputs, ... }: { + + imports = [ inputs.ags.homeManagerModules.default ]; + + options.homeconfig.ags.enable = lib.options.mkOption { + type = lib.types.bool; + default = false; + }; + + config = lib.mkIf config.homeconfig.ags.enable { + programs.ags = { + enable = true; + + extraPackages = with pkgs; [ + gtksourceview + webkitgtk + accountsservice + ]; + }; + + home.file.".config/ags/launcher.js".text = /*javascript*/ '' + function Launcher() { + return Widget.EventBox({ + class_name: "launcher", + hpack: "center", + child: Widget.Icon({ + icon: '${pkgs.nixos-icons}/share/icons/hicolor/48x48/apps/nix-snowflake.png', + css: 'font-size: 24px;' + }), + on_primary_click: () => {Utils.execAsync('rofi -show drun')}, + margin_left: 10, + }) + } + + export default Launcher + ''; + + }; +} diff --git a/home-manager/programs/ags/flake.nix b/home-manager/programs/ags/flake.nix deleted file mode 100644 index 2f15e33..0000000 --- a/home-manager/programs/ags/flake.nix +++ /dev/null @@ -1,52 +0,0 @@ -{ - description = "ags config"; - - inputs = { - - ags.url = "github:Aylur/ags/v1"; - - }; - - outputs = { self, ... }@inputs: { - - hmModule = { config, lib, pkgs, ... }: { - - imports = [ inputs.ags.homeManagerModules.default ]; - - options.homeconfig.ags.enable = lib.options.mkOption { - type = lib.types.bool; - default = false; - }; - - config = lib.mkIf config.homeconfig.ags.enable { - programs.ags = { - enable = true; - - extraPackages = with pkgs; [ - gtksourceview - webkitgtk - accountsservice - ]; - }; - - home.file.".config/ags/launcher.js".text = /*javascript*/ '' - function Launcher() { - return Widget.EventBox({ - class_name: "launcher", - hpack: "center", - child: Widget.Icon({ - icon: '${pkgs.nixos-icons}/share/icons/hicolor/48x48/apps/nix-snowflake.png', - css: 'font-size: 24px;' - }), - on_primary_click: () => {Utils.execAsync('rofi -show drun')}, - margin_left: 10, - }) - } - - export default Launcher - ''; - - }; - }; - }; -} diff --git a/home-manager/programs/default.nix b/home-manager/programs/default.nix new file mode 100644 index 0000000..493730b --- /dev/null +++ b/home-manager/programs/default.nix @@ -0,0 +1,23 @@ +{ config, lib, pkgs, inputs, ... }: { + + imports = [ + ./ags + ./hyprland + ./terminal + ./rofi + ./pywal + ./swaylock + ./calcurse + ./wayvnc + ./firefox + ]; + + config = { + + home.packages = [ + inputs.nixvim.packages.${pkgs.system}.default + ]; + + home.sessionVariables.EDITOR = "nvim"; + }; +} diff --git a/home-manager/programs/flake.nix b/home-manager/programs/flake.nix deleted file mode 100644 index bcfcdfa..0000000 --- a/home-manager/programs/flake.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ - description = "Nathan user program config"; - - inputs = { - - ags.url = "./ags"; - - nixvim.url = "/home/nathan/Projects/Nixvim"; - - rofi.url = "./rofi"; - - pywal.url = "./pywal"; - - hyprland.url = "./hyprland"; - }; - - outputs = { self, ... }@inputs: { - - hmModule = { config, lib, pkgs, ... }: { - - imports = [ - inputs.ags.hmModule - inputs.hyprland.hmModule - ./terminal - inputs.rofi.hmModule - inputs.pywal.hmModule - ./swaylock - ./calcurse - ./wayvnc - ./firefox - ]; - - home.packages = [ - inputs.nixvim.packages.${pkgs.system}.default - ]; - - home.sessionVariables.EDITOR = "nvim"; - - }; - - }; -} diff --git a/home-manager/programs/hyprland/default.nix b/home-manager/programs/hyprland/default.nix new file mode 100644 index 0000000..6a8457c --- /dev/null +++ b/home-manager/programs/hyprland/default.nix @@ -0,0 +1,31 @@ +{ config, lib, pkgs, ... }: { + + options.homeconfig.hyprland.enable = lib.options.mkOption { + type = lib.types.bool; + default = false; + }; + + config = lib.mkIf config.homeconfig.hyprland.enable { + + home.sessionVariables.NIX_OZONE_WL = "1"; + + programs.kitty.enable = lib.mkDefault true; + + home.packages = with pkgs; [ + pyprland + ]; + + wayland.windowManager.hyprland = { + + enable = true; + + systemd.variables = [ "--all" ]; + + extraConfig = '' + source = /home/nathan/.config/hypr/main.conf + ''; + + }; + }; + +} diff --git a/home-manager/programs/hyprland/flake.nix b/home-manager/programs/hyprland/flake.nix deleted file mode 100644 index 6903bd1..0000000 --- a/home-manager/programs/hyprland/flake.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ - description = "Hyprland Config"; - - inputs = { - hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; - }; - - outputs = { self, ... }@inputs: { - - hmModule = { config, lib, pkgs, ... }: { - - options.homeconfig.hyprland.enable = lib.options.mkOption { - type = lib.types.bool; - default = false; - }; - - config = lib.mkIf config.homeconfig.hyprland.enable { - - home.sessionVariables.NIX_OZONE_WL = "1"; - - programs.kitty.enable = lib.mkDefault true; - - home.packages = with pkgs; [ - pyprland - ]; - - wayland.windowManager.hyprland = { - - enable = true; - - systemd.variables = [ "--all" ]; - - extraConfig = '' - source = /home/nathan/.config/hypr/main.conf - ''; - - }; - }; - - }; - - }; -} diff --git a/home-manager/programs/pywal/default.nix b/home-manager/programs/pywal/default.nix new file mode 100644 index 0000000..97c3b42 --- /dev/null +++ b/home-manager/programs/pywal/default.nix @@ -0,0 +1,29 @@ +{ config, lib, pkgs, inputs, ... }: { + + options.homeconfig.wal.enable = lib.options.mkOption { + type = lib.types.bool; + default = false; + }; + + config = let + pywalfox-wrapper = pkgs.writeShellScriptBin "pywalfox-wrapper" '' + ${pkgs.pywalfox-native}/bin/pywalfox start + ''; + in lib.mkIf config.homeconfig.wal.enable { + + home.packages = with pkgs; [ + + inputs.themecord.packages.${pkgs.system}.default + vesktop + + pywal16 + imagemagick + pywalfox-native + ]; + + home.file.".mozilla/native-messaging-hosts/pywalfox.json".text = lib.replaceStrings [ "" ] [ + "${pywalfox-wrapper}/bin/pywalfox-wrapper" + ] (lib.readFile "${pkgs.pywalfox-native}/lib/python3.12/site-packages/pywalfox/assets/manifest.json"); + + }; +} diff --git a/home-manager/programs/pywal/flake.nix b/home-manager/programs/pywal/flake.nix deleted file mode 100644 index d8153a9..0000000 --- a/home-manager/programs/pywal/flake.nix +++ /dev/null @@ -1,90 +0,0 @@ -{ - description = "Pywal Config"; - - inputs = { - - themecord = { - url = "github:danihek/themecord"; - inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; - }; - - /*spicetify-nix = { - url = "github:Gerg-L/spicetify-nix"; - inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; - }; - - spicetify-ext = { - url = "github:rxri/spicetify-extensions"; - flake = false; - };*/ - - nixpkgs-us.url = "github:nixos/nixpkgs/nixos-unstable"; - - }; - - outputs = { self, ... }@inputs: let - system = "x86_64-linux"; - pkgs-us = import inputs.nixpkgs-us { - inherit system; - config.allowUnfree = true; - }; - - in { - - hmModule = { config, lib, pkgs, ... }:{ - - imports = [ - #inputs.spicetify-nix.homeManagerModules.default - ]; - - options.homeconfig.wal.enable = lib.options.mkOption { - type = lib.types.bool; - default = false; - }; - - config = let - pywalfox-wrapper = pkgs.writeShellScriptBin "pywalfox-wrapper" '' - ${pkgs-us.pywalfox-native}/bin/pywalfox start - ''; - in lib.mkIf config.homeconfig.wal.enable { - - /*programs.spicetify = let - spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system}; - in { - enable = true; - spotifyPackage = pkgs-us.spotify; - theme = spicePkgs.themes.default; - enabledExtensions = with spicePkgs.extensions; [ - ({ - src = "${inputs.spicetify-ext}/adblock"; - name = "adblock.js"; - }) - copyToClipboard - oneko - #randomBadToTheBoneRiff #this could be hilarious - ]; - enabledCustomApps = with spicePkgs.apps; [ - ncsVisualizer - ]; - };*/ - - home.packages = with pkgs; [ - - inputs.themecord.packages.${pkgs.system}.default - vesktop - - pkgs-us.pywal16 - imagemagick - pkgs-us.pywalfox-native - ]; - - home.file.".mozilla/native-messaging-hosts/pywalfox.json".text = lib.replaceStrings [ "" ] [ - "${pywalfox-wrapper}/bin/pywalfox-wrapper" - ] - (lib.readFile "${pkgs.pywalfox-native}/lib/python3.12/site-packages/pywalfox/assets/manifest.json"); - - }; - }; - - }; -} diff --git a/home-manager/programs/rofi/flake.nix b/home-manager/programs/rofi/flake.nix deleted file mode 100644 index 0052d04..0000000 --- a/home-manager/programs/rofi/flake.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ - description = "Rofi Config"; - - outputs = { self, ... }: { - - hmModule = import ./.; - - }; - -}