refactor: Move packages & wallpapers config into own nix files

My systems are single-user machines and the package configuration can
go in the system-wide package list in full.

This splits out the package list into a separate file and also moves
the systemd units for wallpaper setting into a separate file.
This commit is contained in:
Vincent Ambo 2017-10-16 22:53:49 +02:00
parent aa5dcbc477
commit 202467e989
3 changed files with 101 additions and 54 deletions

View file

@ -4,20 +4,15 @@
{ config, pkgs, ... }:
let rust-overlay = import nixpkgs-mozilla/rust-overlay.nix;
unstable = import <nixos-unstable> { config.allowUnfree = true; };
nixfd = import pkgs/nixfd.nix;
in {
{
imports =
[ # Include the results of the hardware scan.
[
./hardware-configuration.nix
./local-configuration.nix
./packages.nix
./wallpapers.nix
];
# Configure the Nix package manager
nixpkgs.config.allowUnfree = true;
nixpkgs.overlays = [ rust-overlay ];
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
@ -27,14 +22,6 @@ in {
# Set your time zone.
time.timeZone = "Europe/Oslo";
# List packages installed in system profile. To search by name, run:
# $ nix-env -qaP | grep wget
environment.systemPackages = with pkgs; [
curl gnumake unzip openjdk gcc htop tree direnv tmux fish ripgrep
gnupg pass git manpages stdmanpages latest.rustChannels.stable.rust
nixfd
];
# Enable the X11 windowing system.
services.xserver.enable = true;
services.xserver.layout = "us,no";
@ -65,7 +52,7 @@ in {
input-fonts
];
};
# Configure user account
users.defaultUserShell = pkgs.fish;
users.extraUsers.vincent = {
@ -73,42 +60,6 @@ in {
isNormalUser = true;
uid = 1000;
shell = pkgs.fish;
packages = with pkgs; [
jetbrains.idea-community pavucontrol spotify xclip tdesktop
rofi rofi-pass alacritty i3lock unstable.firefox-beta-bin fd
tig kubernetes xfce.xfce4-screenshooter exa lxappearance-gtk3
numix-gtk-theme numix-icon-theme unstable.numix-cursor-theme
];
};
# Configure random setting of wallpapers
systemd.user.services.clone-wallpapers = {
description = "Clone wallpaper repository";
enable = true;
before = [ "feh-wp.service" "feh-wp.timer" ];
serviceConfig = {
Type = "oneshot";
ExecStart = "${pkgs.fish}/bin/fish -c '${pkgs.coreutils}/bin/stat %h/wallpapers; or ${pkgs.git}/bin/git clone https://git.tazj.in/tazjin/wallpapers.git %h/wallpapers'";
};
};
systemd.user.services.feh-wp = {
description = "Randomly set wallpaper via feh";
serviceConfig = {
Type = "oneshot";
WorkingDirectory = "%h/wallpapers";
ExecStart = "${pkgs.bash}/bin/bash -c '${pkgs.fd}/bin/fd -atf | shuf | head -n1 | ${pkgs.findutils}/bin/xargs ${pkgs.feh}/bin/feh --bg-fill'";
};
};
systemd.user.timers.feh-wp = {
description = "Set a random wallpaper every hour";
wantedBy = [ "timers.target" ];
timerConfig = {
OnActiveSec = "3second";
OnUnitActiveSec = "1hour";
};
};
security.sudo.enable = true;