Add some style
- Update flakes - Add set-background service which sets background image to ~/.background if it exists - Add .background to home.nix
This commit is contained in:
parent
e66122aa4c
commit
8a23a33c52
5 changed files with 205 additions and 38 deletions
|
@ -1,12 +1,47 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./hardware.nix
|
||||
];
|
||||
|
||||
systemd.user.services.set-wallpaper = {
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = "yes";
|
||||
};
|
||||
script = ''
|
||||
FILE="$HOME/.config/plasma-org.kde.plasma.desktop-appletsrc"
|
||||
IMAGE_PATH="$HOME/.background"
|
||||
|
||||
if [[ ! -f "$IMAGE_PATH" ]]; then
|
||||
echo "Image not found at $IMAGE_PATH. Skipping setting the image."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Extract all containment numbers
|
||||
CONTAINMENTS=$(${pkgs.ripgrep}/bin/rg "\[Containments\]\[(\d+)\]" -o ~/.config/plasma-org.kde.plasma.desktop-appletsrc -r \$1 | sort | uniq)
|
||||
|
||||
for CONTAINMENT in $CONTAINMENTS; do
|
||||
echo Containment: $CONTAINMENT
|
||||
${pkgs.libsForQt5.kconfig}/bin/kwriteconfig5 \
|
||||
--file $FILE \
|
||||
--group Containments --group $CONTAINMENT \
|
||||
--key "wallpaperplugin" "org.kde.image";
|
||||
|
||||
${pkgs.libsForQt5.kconfig}/bin/kwriteconfig5 \
|
||||
--file $FILE \
|
||||
--group Containments --group $CONTAINMENT \
|
||||
--group Wallpaper --group org.kde.image \
|
||||
--group General \
|
||||
--key Image "$IMAGE_PATH";
|
||||
done
|
||||
'';
|
||||
};
|
||||
|
||||
nix = {
|
||||
package = pkgs.nixFlakes;
|
||||
extraOptions = ''
|
||||
|
@ -14,6 +49,8 @@
|
|||
'';
|
||||
};
|
||||
|
||||
boot.plymouth.enable = true;
|
||||
|
||||
fonts.fonts = with pkgs; [
|
||||
emacs-all-the-icons-fonts
|
||||
noto-fonts
|
||||
|
|
152
flake.lock
generated
152
flake.lock
generated
|
@ -7,11 +7,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1695000028,
|
||||
"narHash": "sha256-PAZl5eDhj44b7+1JOdT+BGGK1UsCHWKG+v8tw/Gmy34=",
|
||||
"lastModified": 1695039393,
|
||||
"narHash": "sha256-HXvRPTSfQ/fCqxYGvWOc1duSBdXcQlrYvyno8YZbyHI=",
|
||||
"owner": "nix-community",
|
||||
"repo": "disko",
|
||||
"rev": "7548ad94698adb90ee17ff62581f2b2457faaedd",
|
||||
"rev": "9f29cedac79d0acf07b6341f9112f46dec3abb8f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -29,11 +29,11 @@
|
|||
"nixpkgs-stable": "nixpkgs-stable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1694716032,
|
||||
"narHash": "sha256-PQbomjq3tZ7WYAbbM1NO6RMoPbnEbSCVnBhvD4+rgog=",
|
||||
"lastModified": 1695092339,
|
||||
"narHash": "sha256-sNzTBI6wqcS4OvxhoICjcNfIFdL/E1JEAYluSPmkI3E=",
|
||||
"owner": "nix-community",
|
||||
"repo": "emacs-overlay",
|
||||
"rev": "918199aeaa2c9b9d0f73e304a187a05b99fd9050",
|
||||
"rev": "56689381ea01e234a5ac331227002fbf22b794f3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -58,6 +58,22 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_2": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1673956053,
|
||||
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
|
@ -76,6 +92,43 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_2": {
|
||||
"locked": {
|
||||
"lastModified": 1667395993,
|
||||
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nix-wallpaper",
|
||||
"pre-commit-hooks",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1660459072,
|
||||
"narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"rev": "a20de23b925fd8264fd7fad6454652e142fd7f73",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -83,11 +136,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1694465129,
|
||||
"narHash": "sha256-8BQiuobMrCfCbGM7w6Snx+OBYdtTIm0+cGVaKwQ5BFg=",
|
||||
"lastModified": 1695108154,
|
||||
"narHash": "sha256-gSg7UTVtls2yO9lKtP0yb66XBHT1Fx5qZSZbGMpSn2c=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "9787dffff5d315c9593d3f9fb0f9bf2097e1b57b",
|
||||
"rev": "07682fff75d41f18327a871088d20af2710d4744",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -97,6 +150,28 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-wallpaper": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_2",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"pre-commit-hooks": "pre-commit-hooks"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1682599883,
|
||||
"narHash": "sha256-3RLfNhq8decb2VOTJLboloPX1M7Rwy3iGZL4DV7aLd0=",
|
||||
"owner": "lunik1",
|
||||
"repo": "nix-wallpaper",
|
||||
"rev": "e1dfc3e671f9af843721c32ed7c08ea9966426c6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "lunik1",
|
||||
"repo": "nix-wallpaper",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1694937365,
|
||||
|
@ -115,11 +190,11 @@
|
|||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1694499547,
|
||||
"narHash": "sha256-R7xMz1Iia6JthWRHDn36s/E248WB1/je62ovC/dUVKI=",
|
||||
"lastModified": 1694937365,
|
||||
"narHash": "sha256-iHZSGrb9gVpZRR4B2ishUN/1LRKWtSHZNO37C8z1SmA=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "e5f018cf150e29aac26c61dac0790ea023c46b24",
|
||||
"rev": "5d017a8822e0907fb96f7700a319f9fe2434de02",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -129,6 +204,22 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable_2": {
|
||||
"locked": {
|
||||
"lastModified": 1673800717,
|
||||
"narHash": "sha256-SFHraUqLSu5cC6IxTprex/nTsI81ZQAtDvlBvGDWfnA=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "2f9fd351ec37f5d479556cd48be4ca340da59b8f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-22.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1679318992,
|
||||
|
@ -147,11 +238,11 @@
|
|||
},
|
||||
"nur": {
|
||||
"locked": {
|
||||
"lastModified": 1695076089,
|
||||
"narHash": "sha256-OcCwDYZYErSz8QCtLvqMQkJufByS4r74SCTL9N3YGBk=",
|
||||
"lastModified": 1695110420,
|
||||
"narHash": "sha256-tZRgkZwU8wArD8oFsEQ5hjLfkcny7Cvr7KuGlfKXdW8=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "1152aa48c3e88af00f2a3b2ff8af9d3c14cf5d72",
|
||||
"rev": "ada2638fdfdbd642fef6a87381a2c6acc8850b85",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -160,11 +251,40 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pre-commit-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-utils": [
|
||||
"nix-wallpaper",
|
||||
"flake-utils"
|
||||
],
|
||||
"gitignore": "gitignore",
|
||||
"nixpkgs": [
|
||||
"nix-wallpaper",
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-stable": "nixpkgs-stable_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1675337566,
|
||||
"narHash": "sha256-jmLBTQcs1jFOn8h1Q5b5XwPfYgFOtcZ3+mU9KvfC6Js=",
|
||||
"owner": "cachix",
|
||||
"repo": "pre-commit-hooks.nix",
|
||||
"rev": "5668d079583a5b594cb4e0cc0e6d84f1b93da7ae",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cachix",
|
||||
"repo": "pre-commit-hooks.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"disko": "disko",
|
||||
"emacs-overlay": "emacs-overlay",
|
||||
"home-manager": "home-manager",
|
||||
"nix-wallpaper": "nix-wallpaper",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nur": "nur",
|
||||
"tuxedo-nixos": "tuxedo-nixos"
|
||||
|
@ -187,7 +307,7 @@
|
|||
},
|
||||
"tuxedo-nixos": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-compat": "flake-compat_2",
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
},
|
||||
"locked": {
|
||||
|
|
41
flake.nix
41
flake.nix
|
@ -24,42 +24,39 @@
|
|||
url = "github:nix-community/NUR";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
nix-wallpaper = {
|
||||
url = "github:lunik1/nix-wallpaper";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = {
|
||||
self,
|
||||
home-manager,
|
||||
nixpkgs,
|
||||
tuxedo-nixos,
|
||||
emacs-overlay,
|
||||
disko,
|
||||
nur,
|
||||
}: let
|
||||
outputs = inputs: let
|
||||
system = "x86_64-linux";
|
||||
customPkgs = import nixpkgs {
|
||||
customPkgs = import inputs.nixpkgs {
|
||||
system = "${system}";
|
||||
overlays = [emacs-overlay.overlay];
|
||||
overlays = [inputs.emacs-overlay.overlay];
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
};
|
||||
};
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
pkgs = inputs.nixpkgs.legacyPackages.${system};
|
||||
in {
|
||||
formatter = {
|
||||
x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.alejandra;
|
||||
x86_64-linux = inputs.nixpkgs.legacyPackages.x86_64-linux.alejandra;
|
||||
};
|
||||
diskoConfigurations = {
|
||||
nixos-pulse = import ./disko.nix;
|
||||
};
|
||||
homeConfigurations = {
|
||||
"tristand" = home-manager.lib.homeManagerConfiguration {
|
||||
"tristand" = inputs.home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
|
||||
modules = [
|
||||
./home.nix
|
||||
nur.hmModules.nur
|
||||
inputs.nur.hmModules.nur
|
||||
{
|
||||
_module.args.customPkgs = customPkgs;
|
||||
_module.args.inputs = inputs;
|
||||
# inherit customPkgs;
|
||||
# pkgs.pkgs = customPkgs;
|
||||
# home-manager.useUserPackages = true;
|
||||
|
@ -69,23 +66,25 @@
|
|||
};
|
||||
};
|
||||
nixosConfigurations = {
|
||||
nixos-pulse = nixpkgs.lib.nixosSystem {
|
||||
nixos-pulse = inputs.nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
./configuration.nix
|
||||
./users.nix
|
||||
./disko.nix
|
||||
disko.nixosModules.disko
|
||||
home-manager.nixosModules.home-manager
|
||||
tuxedo-nixos.nixosModules.default
|
||||
nur.nixosModules.nur
|
||||
inputs.disko.nixosModules.disko
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
inputs.tuxedo-nixos.nixosModules.default
|
||||
inputs.nur.nixosModules.nur
|
||||
{
|
||||
_module.args.customPkgs = customPkgs;
|
||||
# _module.args.nix-wallpaper = nix-wallpaper;
|
||||
_module.args.inputs = inputs;
|
||||
nixpkgs.pkgs = customPkgs;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.useGlobalPkgs = true;
|
||||
hardware.tuxedo-control-center.enable = true;
|
||||
hardware.tuxedo-control-center.package = tuxedo-nixos.packages.x86_64-linux.default;
|
||||
hardware.tuxedo-control-center.package = inputs.tuxedo-nixos.packages.x86_64-linux.default;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
|
11
home.nix
11
home.nix
|
@ -2,8 +2,15 @@
|
|||
pkgs,
|
||||
customPkgs,
|
||||
config,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
}: let
|
||||
wallpaper = inputs.nix-wallpaper.packages.${pkgs.system}.default.override {
|
||||
logoSize = 24;
|
||||
preset = "gruvbox-dark-rainbow";
|
||||
};
|
||||
wallpaperPath = "${wallpaper}/share/wallpapers/nixos-wallpaper.png";
|
||||
in {
|
||||
dconf.settings = {
|
||||
"org/virt-manager/virt-manager/connections" = {
|
||||
autoconnect = ["qemu:///system"];
|
||||
|
@ -293,6 +300,8 @@
|
|||
home.username = "tristand";
|
||||
home.homeDirectory = "/home/tristand";
|
||||
|
||||
home.file.".background".source = wallpaperPath;
|
||||
|
||||
home.packages = with pkgs; [
|
||||
alejandra
|
||||
atool
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
pkgs,
|
||||
config,
|
||||
customPkgs,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
users.users.tristand = {
|
||||
|
@ -17,5 +18,6 @@
|
|||
inherit pkgs;
|
||||
inherit config;
|
||||
inherit customPkgs;
|
||||
inherit inputs;
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue