mirror of
https://github.com/Swarsel/.dotfiles.git
synced 2025-12-06 17:17:22 +01:00
WIP share configuraton between nixos / homemanager
This commit is contained in:
parent
641a0cd84d
commit
a1617e71bd
165 changed files with 994 additions and 1032 deletions
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.appimage = lib.mkEnableOption "appimage config";
|
||||
config = lib.mkIf config.swarselsystems.modules.appimage {
|
||||
options.swarselmodules.appimage = lib.mkEnableOption "appimage config";
|
||||
config = lib.mkIf config.swarselmodules.appimage {
|
||||
programs.appimage = {
|
||||
enable = true;
|
||||
binfmt = true;
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@ let
|
|||
inherit (config.swarselsystems) mainUser;
|
||||
in
|
||||
{
|
||||
options.swarselsystems.modules.autologin = lib.mkEnableOption "optional autologin settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.autologin {
|
||||
options.swarselmodules.autologin = lib.mkEnableOption "optional autologin settings";
|
||||
config = lib.mkIf config.swarselmodules.autologin {
|
||||
services = {
|
||||
getty.autologinUser = mainUser;
|
||||
greetd.settings.initial_session.user = mainUser;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.blueman = lib.mkEnableOption "blueman config";
|
||||
config = lib.mkIf config.swarselsystems.modules.blueman {
|
||||
options.swarselmodules.blueman = lib.mkEnableOption "blueman config";
|
||||
config = lib.mkIf config.swarselmodules.blueman {
|
||||
services.blueman.enable = true;
|
||||
services.hardware.bolt.enable = true;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.distrobox = lib.mkEnableOption "distrobox config";
|
||||
config = lib.mkIf config.swarselsystems.modules.distrobox {
|
||||
options.swarselmodules.distrobox = lib.mkEnableOption "distrobox config";
|
||||
config = lib.mkIf config.swarselmodules.distrobox {
|
||||
environment.systemPackages = with pkgs; [
|
||||
distrobox
|
||||
boxbuddy
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.env = lib.mkEnableOption "environment config";
|
||||
config = lib.mkIf config.swarselsystems.modules.env {
|
||||
options.swarselmodules.env = lib.mkEnableOption "environment config";
|
||||
config = lib.mkIf config.swarselmodules.env {
|
||||
|
||||
environment = {
|
||||
wordlist.enable = true;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.gnome-keyring = lib.mkEnableOption "gnome-keyring config";
|
||||
config = lib.mkIf config.swarselsystems.modules.gnome-keyring {
|
||||
options.swarselmodules.gnome-keyring = lib.mkEnableOption "gnome-keyring config";
|
||||
config = lib.mkIf config.swarselmodules.gnome-keyring {
|
||||
services.gnome.gnome-keyring = {
|
||||
enable = true;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.gvfs = lib.mkEnableOption "gvfs config for nautilus";
|
||||
config = lib.mkIf config.swarselsystems.modules.gvfs {
|
||||
options.swarselmodules.gvfs = lib.mkEnableOption "gvfs config for nautilus";
|
||||
config = lib.mkIf config.swarselmodules.gvfs {
|
||||
services.gvfs.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
{ pkgs, config, lib, ... }:
|
||||
{
|
||||
|
||||
options.swarselmodules.hardware = lib.mkEnableOption "hardware config";
|
||||
options.swarselsystems = {
|
||||
modules.hardware = lib.mkEnableOption "hardware config";
|
||||
hasBluetooth = lib.mkEnableOption "bluetooth availability";
|
||||
hasFingerprint = lib.mkEnableOption "fingerprint sensor availability";
|
||||
trackpoint = {
|
||||
|
|
@ -13,7 +13,7 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
config = lib.mkIf config.swarselsystems.modules.hardware {
|
||||
config = lib.mkIf config.swarselmodules.hardware {
|
||||
hardware = {
|
||||
# opengl.driSupport32Bit = true is replaced with graphics.enable32Bit and hence redundant
|
||||
graphics = {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.keyboards = lib.mkEnableOption "keyboards config";
|
||||
config = lib.mkIf config.swarselsystems.modules.keyboards {
|
||||
options.swarselmodules.keyboards = lib.mkEnableOption "keyboards config";
|
||||
config = lib.mkIf config.swarselmodules.keyboards {
|
||||
services.udev.packages = with pkgs; [
|
||||
qmk-udev-rules
|
||||
vial
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.ledger = lib.mkEnableOption "ledger config";
|
||||
config = lib.mkIf config.swarselsystems.modules.ledger {
|
||||
options.swarselmodules.ledger = lib.mkEnableOption "ledger config";
|
||||
config = lib.mkIf config.swarselmodules.ledger {
|
||||
hardware.ledger.enable = true;
|
||||
|
||||
services.udev.packages = with pkgs; [
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@ let
|
|||
inherit (config.repo.secrets.common.yubikeys) cfg1 cfg2;
|
||||
in
|
||||
{
|
||||
options.swarselsystems.modules.yubikey = lib.mkEnableOption "yubikey config";
|
||||
config = lib.mkIf config.swarselsystems.modules.yubikey {
|
||||
options.swarselmodules.yubikey = lib.mkEnableOption "yubikey config";
|
||||
config = lib.mkIf config.swarselmodules.yubikey {
|
||||
programs.ssh.startAgent = false;
|
||||
|
||||
services.pcscd.enable = false;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.interceptionTools = lib.mkEnableOption "interception tools config";
|
||||
config = lib.mkIf config.swarselsystems.modules.interceptionTools {
|
||||
options.swarselmodules.interceptionTools = lib.mkEnableOption "interception tools config";
|
||||
config = lib.mkIf config.swarselmodules.interceptionTools {
|
||||
# Make CAPS work as a dual function ESC/CTRL key
|
||||
services.interception-tools = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.lid = lib.mkEnableOption "lid config";
|
||||
config = lib.mkIf config.swarselsystems.modules.lid {
|
||||
options.swarselmodules.lid = lib.mkEnableOption "lid config";
|
||||
config = lib.mkIf config.swarselmodules.lid {
|
||||
services.logind = {
|
||||
lidSwitch = "suspend";
|
||||
lidSwitchDocked = "ignore";
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.login = lib.mkEnableOption "login config";
|
||||
config = lib.mkIf config.swarselsystems.modules.login {
|
||||
options.swarselmodules.login = lib.mkEnableOption "login config";
|
||||
config = lib.mkIf config.swarselmodules.login {
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ pkgs, lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.lowBattery = lib.mkEnableOption "low battery notification config";
|
||||
config = lib.mkIf config.swarselsystems.modules.lowBattery {
|
||||
options.swarselmodules.lowBattery = lib.mkEnableOption "low battery notification config";
|
||||
config = lib.mkIf config.swarselmodules.lowBattery {
|
||||
systemd.user.services."battery-low" = {
|
||||
enable = true;
|
||||
description = "Timer for battery check that alerts at 10% or less";
|
||||
|
|
|
|||
|
|
@ -10,10 +10,10 @@ let
|
|||
in
|
||||
{
|
||||
options.swarselsystems = {
|
||||
modules.network = lib.mkEnableOption "network config";
|
||||
firewall = lib.swarselsystems.mkTrueOption;
|
||||
};
|
||||
config = lib.mkIf config.swarselsystems.modules.network {
|
||||
options.swarselmodules.network = lib.mkEnableOption "network config";
|
||||
config = lib.mkIf config.swarselmodules.network {
|
||||
|
||||
sops = {
|
||||
secrets = lib.mkIf (!config.swarselsystems.isPublic) {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.networkDevices = lib.mkEnableOption "network device config";
|
||||
config = lib.mkIf config.swarselsystems.modules.networkDevices {
|
||||
options.swarselmodules.networkDevices = lib.mkEnableOption "network device config";
|
||||
config = lib.mkIf config.swarselmodules.networkDevices {
|
||||
# enable scanners over network
|
||||
hardware.sane = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.nix-ld = lib.mkEnableOption "nix-ld config";
|
||||
config = lib.mkIf config.swarselsystems.modules.nix-ld {
|
||||
options.swarselmodules.nix-ld = lib.mkEnableOption "nix-ld config";
|
||||
config = lib.mkIf config.swarselmodules.nix-ld {
|
||||
programs.nix-ld = {
|
||||
enable = true;
|
||||
libraries = with pkgs; [
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.nvd = lib.mkEnableOption "nvd config";
|
||||
config = lib.mkIf config.swarselsystems.modules.nvd {
|
||||
options.swarselmodules.nvd = lib.mkEnableOption "nvd config";
|
||||
config = lib.mkIf config.swarselmodules.nvd {
|
||||
|
||||
environment.systemPackages = [
|
||||
pkgs.nvd
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, pkgs, minimal, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.packages = lib.mkEnableOption "install packages";
|
||||
config = lib.mkIf config.swarselsystems.modules.packages {
|
||||
options.swarselmodules.packages = lib.mkEnableOption "install packages";
|
||||
config = lib.mkIf config.swarselmodules.packages {
|
||||
|
||||
environment.systemPackages = with pkgs; lib.optionals (!minimal) [
|
||||
# yubikey packages
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.pipewire = lib.mkEnableOption "pipewire config";
|
||||
config = lib.mkIf config.swarselsystems.modules.pipewire {
|
||||
options.swarselmodules.pipewire = lib.mkEnableOption "pipewire config";
|
||||
config = lib.mkIf config.swarselmodules.pipewire {
|
||||
security.rtkit.enable = true; # this is required for pipewire real-time access
|
||||
|
||||
services.pipewire = {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, minimal, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.security = lib.mkEnableOption "security config";
|
||||
config = lib.mkIf config.swarselsystems.modules.security {
|
||||
options.swarselmodules.security = lib.mkEnableOption "security config";
|
||||
config = lib.mkIf config.swarselmodules.security {
|
||||
|
||||
security = {
|
||||
pam.services = lib.mkIf (!minimal) {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.ppd = lib.mkEnableOption "power profiles daemon config";
|
||||
config = lib.mkIf config.swarselsystems.modules.ppd {
|
||||
options.swarselmodules.ppd = lib.mkEnableOption "power profiles daemon config";
|
||||
config = lib.mkIf config.swarselmodules.ppd {
|
||||
services.power-profiles-daemon.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.programs = lib.mkEnableOption "small program modules config";
|
||||
config = lib.mkIf config.swarselsystems.modules.programs {
|
||||
options.swarselmodules.programs = lib.mkEnableOption "small program modules config";
|
||||
config = lib.mkIf config.swarselmodules.programs {
|
||||
programs = {
|
||||
dconf.enable = true;
|
||||
evince.enable = true;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ config, pkgs, lib, ... }: {
|
||||
|
||||
options.swarselsystems.modules.pulseaudio = lib.mkEnableOption "pulseaudio config";
|
||||
config = lib.mkIf config.swarselsystems.modules.pulseaudio {
|
||||
options.swarselmodules.pulseaudio = lib.mkEnableOption "pulseaudio config";
|
||||
config = lib.mkIf config.swarselmodules.pulseaudio {
|
||||
services.pulseaudio = {
|
||||
enable = lib.mkIf (!config.services.pipewire.enable) true;
|
||||
package = pkgs.pulseaudioFull;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ config, lib, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.sops = lib.mkEnableOption "sops config";
|
||||
config = lib.mkIf config.swarselsystems.modules.sops {
|
||||
options.swarselmodules.sops = lib.mkEnableOption "sops config";
|
||||
config = lib.mkIf config.swarselmodules.sops {
|
||||
sops = {
|
||||
|
||||
# age.sshKeyPaths = lib.swarselsystems.mkIfElseList config.swarselsystems.isBtrfs [ "/persist/.ssh/sops" "/persist/.ssh/ssh_host_ed25519_key" ] [ "${config.swarselsystems.homeDir}/.ssh/sops" "/etc/ssh/sops" "/etc/ssh/ssh_host_ed25519_key" ];
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
{ self, lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.stylix = lib.mkEnableOption "stylix config";
|
||||
options.swarselmodules.stylix = lib.mkEnableOption "stylix config";
|
||||
config = {
|
||||
stylix = {
|
||||
enable = true;
|
||||
base16Scheme = "${self}/files/stylix/swarsel.yaml";
|
||||
} // lib.optionalAttrs config.swarselsystems.modules.stylix
|
||||
} // lib.optionalAttrs config.swarselmodules.stylix
|
||||
(lib.recursiveUpdate
|
||||
{
|
||||
targets.grub.enable = false; # the styling makes grub more ugly
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.sway = lib.mkEnableOption "sway config";
|
||||
config = lib.mkIf config.swarselsystems.modules.sway {
|
||||
options.swarselmodules.sway = lib.mkEnableOption "sway config";
|
||||
config = lib.mkIf config.swarselmodules.sway {
|
||||
programs.sway = {
|
||||
enable = true;
|
||||
package = pkgs.dev.swayfx;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, pkgs, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.swayosd = lib.mkEnableOption "swayosd settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.swayosd {
|
||||
options.swarselmodules.swayosd = lib.mkEnableOption "swayosd settings";
|
||||
config = lib.mkIf config.swarselmodules.swayosd {
|
||||
environment.systemPackages = [ pkgs.dev.swayosd ];
|
||||
services.udev.packages = [ pkgs.dev.swayosd ];
|
||||
systemd.services.swayosd-libinput-backend = {
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@ let
|
|||
inherit (config.swarselsystems) mainUser homeDir;
|
||||
in
|
||||
{
|
||||
options.swarselsystems.modules.syncthing = lib.mkEnableOption "syncthing config";
|
||||
config = lib.mkIf config.swarselsystems.modules.syncthing {
|
||||
options.swarselmodules.syncthing = lib.mkEnableOption "syncthing config";
|
||||
config = lib.mkIf config.swarselmodules.syncthing {
|
||||
services.syncthing = {
|
||||
enable = true;
|
||||
package = pkgs.stable.syncthing;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.systemdTimeout = lib.mkEnableOption "systemd timeout config";
|
||||
config = lib.mkIf config.swarselsystems.modules.systemdTimeout {
|
||||
options.swarselmodules.systemdTimeout = lib.mkEnableOption "systemd timeout config";
|
||||
config = lib.mkIf config.swarselmodules.systemdTimeout {
|
||||
# systemd
|
||||
systemd.extraConfig = ''
|
||||
DefaultTimeoutStartSec=60s
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.xdg-portal = lib.mkEnableOption "xdg portal config";
|
||||
config = lib.mkIf config.swarselsystems.modules.xdg-portal {
|
||||
options.swarselmodules.xdg-portal = lib.mkEnableOption "xdg portal config";
|
||||
config = lib.mkIf config.swarselmodules.xdg-portal {
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
config = {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.zsh = lib.mkEnableOption "zsh base config";
|
||||
config = lib.mkIf config.swarselsystems.modules.zsh {
|
||||
options.swarselmodules.zsh = lib.mkEnableOption "zsh base config";
|
||||
config = lib.mkIf config.swarselmodules.zsh {
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
enableCompletion = false;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue