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:
Tristan D. 2023-09-19 15:14:49 +02:00
parent e66122aa4c
commit 8a23a33c52
Signed by: tristan
SSH key fingerprint: SHA256:U7y6eMb7CQDaTHv9XoX6/BaQnPqyxxKc+Xnfcefi6rY
5 changed files with 205 additions and 38 deletions

View file

@ -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
View file

@ -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": {

View file

@ -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;
}
];
};

View file

@ -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

View file

@ -2,6 +2,7 @@
pkgs,
config,
customPkgs,
inputs,
...
}: {
users.users.tristand = {
@ -17,5 +18,6 @@
inherit pkgs;
inherit config;
inherit customPkgs;
inherit inputs;
};
}