[general] further improve immutability of KDE config
feat: add resources directory feat: update KDE config refactor: remove unused files
This commit is contained in:
parent
bbe6ab62c4
commit
cff1ca5701
13 changed files with 105 additions and 80 deletions
56
flake.lock
56
flake.lock
|
@ -1,18 +1,23 @@
|
|||
{
|
||||
"nodes": {
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"haumea": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1688025799,
|
||||
"narHash": "sha256-ktpB4dRtnksm9F5WawoIkEneh1nrEvuxb5lJFt1iOyw=",
|
||||
"lastModified": 1685133229,
|
||||
"narHash": "sha256-FePm/Gi9PBSNwiDFq3N+DWdfxFq0UKsVVTJS3cQPn94=",
|
||||
"owner": "nix-community",
|
||||
"repo": "flake-compat",
|
||||
"rev": "8bf105319d44f6b9f0d764efa4fdef9f1cc9ba1c",
|
||||
"repo": "haumea",
|
||||
"rev": "34dd58385092a23018748b50f9b23de6266dffc2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "flake-compat",
|
||||
"ref": "v0.2.2",
|
||||
"repo": "haumea",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
|
@ -37,40 +42,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixos-cosmic": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1715262380,
|
||||
"narHash": "sha256-jz4zg7xz14PTkrTiH96tVDvCxftpDVp6vRxnO7OVReA=",
|
||||
"path": "/nix/store/gz6hf4bgagrqvkl7p7gxpznnlqgvyyjy-source",
|
||||
"rev": "1914ef3d3bbbf79892b48e9162b47f64ff99bcd5",
|
||||
"type": "path"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixos-cosmic",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1715266358,
|
||||
"narHash": "sha256-doPgfj+7FFe9rfzWo1siAV2mVCasW+Bh8I1cToAXEE4=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "f1010e0469db743d14519a1efd37e23f8513d714",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1715087517,
|
||||
"narHash": "sha256-CLU5Tsg24Ke4+7sH8azHWXKd0CFd4mhLWfhYgUiDBpQ=",
|
||||
|
@ -111,9 +83,9 @@
|
|||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"haumea": "haumea",
|
||||
"home-manager": "home-manager",
|
||||
"nixos-cosmic": "nixos-cosmic",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"plasma-manager": "plasma-manager"
|
||||
}
|
||||
}
|
||||
|
|
21
flake.nix
21
flake.nix
|
@ -17,9 +17,15 @@
|
|||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
inputs.home-manager.follows = "home-manager";
|
||||
};
|
||||
|
||||
# Haumea (map directory structure into an attribute set)
|
||||
haumea = {
|
||||
url = "github:nix-community/haumea/v0.2.2";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, home-manager, plasma-manager, nixos-cosmic, ... } @inputs:
|
||||
outputs = { self, nixpkgs, home-manager, plasma-manager, haumea, ... } @inputs:
|
||||
let
|
||||
inherit (self) outputs;
|
||||
|
||||
|
@ -35,11 +41,20 @@
|
|||
# My custom packages
|
||||
packages = forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system});
|
||||
|
||||
# External resources (wallpapers, icons, dotfiles)
|
||||
resources = import ./resources;
|
||||
|
||||
# My reusable modules for nixos
|
||||
nixosModules = import ./modules/nixos;
|
||||
nixosModules = haumea.lib.load {
|
||||
src = ./modules/nixos;
|
||||
inputs = { inherit inputs outputs; pkgs = nixpkgs.legacyPackages.x86_64-linux; };
|
||||
};
|
||||
|
||||
# My reusable modules for home-manager
|
||||
homeManagerModules = import ./modules/home-manager;
|
||||
homeManagerModules = haumea.lib.load {
|
||||
src = ./modules/home-manager;
|
||||
inputs = { inherit inputs outputs; pkgs = nixpkgs.legacyPackages.x86_64-linux; };
|
||||
};
|
||||
|
||||
# NixOS configuration entrypoint
|
||||
# Available through 'nixos-rebuild --flake .#your-hostname'
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
# Collection of reusable home-manager modules (https://nixos.wiki/wiki/Module)
|
||||
# These shouldn't include personal configurations, but much rather stuff that can be shared across multiple configurations
|
||||
{
|
||||
# List your module files here
|
||||
# my-module = import ./my-module.nix;
|
||||
}
|
15
modules/home-manager/themes/gruvbox/plasma.nix
Normal file
15
modules/home-manager/themes/gruvbox/plasma.nix
Normal file
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
pkgs,
|
||||
outputs
|
||||
}: {
|
||||
home.packages = with pkgs; [
|
||||
tela-icon-theme
|
||||
outputs.packages.x86_64-linux.themes.kde-gruvbox-colors
|
||||
];
|
||||
|
||||
programs.plasma.workspace = {
|
||||
iconTheme = "Tela-green-dark";
|
||||
colorScheme = "GruvboxColors";
|
||||
wallpaper = "${outputs.resources.wallpapers}/gruvbox/green_pokemon_guy.png";
|
||||
};
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
|
|
@ -1,7 +0,0 @@
|
|||
# Collection of reusable nixos modules (https://nixos.wiki/wiki/Module)
|
||||
# These shouldn't include personal configurations, but much rather stuff that can be shared across multiple configurations
|
||||
{
|
||||
# List your module files here
|
||||
# my-module = import ./my-module.nix;
|
||||
desktop = import ./desktop;
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
kde = import ./kde.nix;
|
||||
gnome = import ./gnome.nix;
|
||||
cosmic = import ./cosmic.nix;
|
||||
}
|
|
@ -2,4 +2,7 @@
|
|||
# You can build them using 'nix build .#example'
|
||||
pkgs: {
|
||||
# example = pkgs.callPackage ./example { };
|
||||
themes = {
|
||||
kde-gruvbox-colors = pkgs.callPackage ./themes/kde-gruvbox-colors.nix { };
|
||||
};
|
||||
}
|
||||
|
|
22
pkgs/themes/kde-gruvbox-colors.nix
Normal file
22
pkgs/themes/kde-gruvbox-colors.nix
Normal file
|
@ -0,0 +1,22 @@
|
|||
{ stdenv, fetchFromGitHub }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "kde-gruvbox-colors";
|
||||
version = "1.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jokiller230";
|
||||
repo = pname;
|
||||
rev = "438a23c571e22c1bf416c229afac78ad64e81f17";
|
||||
sha256 = "sha256-5iRfWqqtv+ImDN96PuWaS3nuK8AHjfa4DGc8vCkLi4U=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/share
|
||||
cp -R color-schemes konsole $out/share
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
}
|
3
resources/default.nix
Normal file
3
resources/default.nix
Normal file
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
wallpapers = ./wallpapers;
|
||||
}
|
BIN
resources/wallpapers/gruvbox/green_pokemon_guy.png
Normal file
BIN
resources/wallpapers/gruvbox/green_pokemon_guy.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 632 KiB |
27
users/jo_puzzlevision/desktop/kde.nix
Normal file
27
users/jo_puzzlevision/desktop/kde.nix
Normal file
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
inputs,
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
outputs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
inputs.plasma-manager.homeManagerModules.plasma-manager
|
||||
outputs.homeManagerModules.themes.gruvbox.plasma
|
||||
];
|
||||
|
||||
home.packages = with pkgs; [
|
||||
kdePackages.sierra-breeze-enhanced
|
||||
kde-rounded-corners
|
||||
];
|
||||
|
||||
# Plasma configuration
|
||||
programs.plasma = {
|
||||
enable = true;
|
||||
|
||||
workspace = {
|
||||
clickItemTo = "select";
|
||||
};
|
||||
};
|
||||
}
|
|
@ -3,17 +3,15 @@
|
|||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
outputs,
|
||||
...
|
||||
}: {
|
||||
# You can import other home-manager modules here
|
||||
imports = [
|
||||
inputs.plasma-manager.homeManagerModules.plasma-manager
|
||||
./desktop/kde.nix
|
||||
];
|
||||
|
||||
nixpkgs = {
|
||||
overlays = [];
|
||||
|
||||
# Configuring nixpkgs instance
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
|
||||
|
@ -28,18 +26,8 @@
|
|||
homeDirectory = "/home/jo";
|
||||
};
|
||||
|
||||
# Plasma configuration
|
||||
programs.plasma = {
|
||||
enable = true;
|
||||
|
||||
workspace = {
|
||||
clickItemTo = "select";
|
||||
iconTheme = "Tela-blue-dark";
|
||||
};
|
||||
};
|
||||
|
||||
# General packages
|
||||
home.packages = with pkgs; [
|
||||
kdePackages.sierra-breeze-enhanced
|
||||
spotify
|
||||
qflipper
|
||||
wineWowPackages.waylandFull
|
||||
|
@ -50,7 +38,6 @@
|
|||
teams-for-linux
|
||||
enpass
|
||||
thunderbird
|
||||
kde-rounded-corners
|
||||
];
|
||||
|
||||
# home.file.".config/gtk-4.0/gtk.css".source = "${orchis}/share/themes/Orchis-Green-Dark-Compact/gtk-4.0/gtk.css";
|
||||
|
|
Loading…
Reference in a new issue