mirror of
https://github.com/Swarsel/.dotfiles.git
synced 2025-12-06 09:07:21 +01:00
refactor: WIP
This commit is contained in:
parent
289f072c13
commit
ecd37537cc
53 changed files with 2370 additions and 1932 deletions
File diff suppressed because it is too large
Load diff
|
|
@ -23,6 +23,7 @@ in
|
|||
"${modulesPath}/nixos/optional/nswitch-rcm.nix"
|
||||
"${modulesPath}/nixos/optional/gaming.nix"
|
||||
"${modulesPath}/nixos/optional/work.nix"
|
||||
"${self}/profiles/nixos"
|
||||
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
{
|
||||
|
|
@ -90,6 +91,7 @@ in
|
|||
|
||||
swarselsystems = lib.recursiveUpdate
|
||||
{
|
||||
profiles.personal = true;
|
||||
wallpaper = self + /wallpaper/lenovowp.png;
|
||||
hasBluetooth = true;
|
||||
hasFingerprint = true;
|
||||
|
|
|
|||
|
|
@ -26,6 +26,11 @@ in
|
|||
}
|
||||
);
|
||||
|
||||
mkTrueOption = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
};
|
||||
|
||||
getSecret = filename: lib.strings.trim (builtins.readFile "${filename}");
|
||||
|
||||
forEachSystem = f: lib.genAttrs (import systems) (system: f lib.swarselsystems.pkgsFor.${system});
|
||||
|
|
@ -132,6 +137,13 @@ in
|
|||
})
|
||||
names);
|
||||
|
||||
mkProfiles = names: type: builtins.listToAttrs (map
|
||||
(name: {
|
||||
inherit name;
|
||||
value = import "${self}/profiles/${type}/${name}";
|
||||
})
|
||||
names);
|
||||
|
||||
mkTemplates = names: builtins.listToAttrs (map
|
||||
(name: {
|
||||
inherit name;
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@
|
|||
xdg.configFile = {
|
||||
"tridactyl/tridactylrc".source = self + /programs/firefox/tridactyl/tridactylrc;
|
||||
"tridactyl/themes/base16-codeschool.css".source = self + /programs/firefox/tridactyl/themes/base16-codeschool.css;
|
||||
"tridactyl/themes/swarsel.css".source = self + /programs/firefox/tridactyl/themes/swarsel.css;
|
||||
"swayidle/config".source = self + /programs/swayidle/config;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,11 @@
|
|||
_:
|
||||
{ lib, config, ... }:
|
||||
{
|
||||
|
||||
options.swarselsystems.modules.appimage = lib.mkEnableOption "appimage config";
|
||||
config = lib.mkIf config.swarselsystems.modules.appimage {
|
||||
programs.appimage = {
|
||||
enable = true;
|
||||
binfmt = true;
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,8 @@
|
|||
_:
|
||||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.blueman = lib.mkEnableOption "blueman config";
|
||||
config = lib.mkIf config.swarselsystems.modules.blueman {
|
||||
services.blueman.enable = true;
|
||||
services.hardware.bolt.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,10 +8,5 @@ in
|
|||
"${modulesPath}/home/common/sharedsetup.nix"
|
||||
];
|
||||
|
||||
nixpkgs.config.permittedInsecurePackages = [
|
||||
"jitsi-meet-1.0.8043"
|
||||
"electron-29.4.6"
|
||||
"SDL_ttf-2.0.11"
|
||||
];
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
{ pkgs, ... }:
|
||||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.distrobox = lib.mkEnableOption "distrobox config";
|
||||
config = lib.mkIf config.swarselsystems.modules.distrobox {
|
||||
environment.systemPackages = with pkgs; [
|
||||
distrobox
|
||||
boxbuddy
|
||||
|
|
@ -10,5 +12,5 @@
|
|||
dockerCompat = true;
|
||||
package = pkgs.stable.podman;
|
||||
};
|
||||
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
{ lib, pkgs, ... }:
|
||||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.env = lib.mkEnableOption "environment config";
|
||||
config = lib.mkIf config.swarselsystems.modules.env {
|
||||
environment = {
|
||||
wordlist.enable = true;
|
||||
sessionVariables = {
|
||||
|
|
@ -12,5 +14,5 @@
|
|||
]);
|
||||
};
|
||||
};
|
||||
# gstreamer plugins for nautilus (used for file metadata)
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,12 @@
|
|||
_:
|
||||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.gc = lib.mkEnableOption "garbage collection config";
|
||||
config = lib.mkIf config.swarselsystems.modules.gc {
|
||||
nix.gc = {
|
||||
automatic = true;
|
||||
randomizedDelaySec = "14m";
|
||||
dates = "weekly";
|
||||
options = "--delete-older-than 10d";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,11 @@
|
|||
_:
|
||||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.gnome-keyring = lib.mkEnableOption "gnome-keyring config";
|
||||
config = lib.mkIf config.swarselsystems.modules.gnome-keyring {
|
||||
services.gnome.gnome-keyring = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
programs.seahorse.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
_:
|
||||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.gvfs = lib.mkEnableOption "gvfs config for nautilus";
|
||||
config = lib.mkIf config.swarselsystems.modules.gvfs {
|
||||
services.gvfs.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
{
|
||||
|
||||
options.swarselsystems = {
|
||||
modules.hardware = lib.mkEnableOption "hardware config";
|
||||
hasBluetooth = lib.mkEnableOption "bluetooth availability";
|
||||
hasFingerprint = lib.mkEnableOption "fingerprint sensor availability";
|
||||
trackpoint = {
|
||||
|
|
@ -12,7 +13,7 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
config = {
|
||||
config = lib.mkIf config.swarselsystems.modules.hardware {
|
||||
hardware = {
|
||||
# opengl.driSupport32Bit = true is replaced with graphics.enable32Bit and hence redundant
|
||||
graphics = {
|
||||
|
|
|
|||
|
|
@ -1,8 +1,11 @@
|
|||
{ pkgs, ... }:
|
||||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.keyboards = lib.mkEnableOption "keyboards config";
|
||||
config = lib.mkIf config.swarselsystems.modules.keyboards {
|
||||
services.udev.packages = with pkgs; [
|
||||
qmk-udev-rules
|
||||
vial
|
||||
via
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,12 @@
|
|||
{ pkgs, ... }:
|
||||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.ledger = lib.mkEnableOption "ledger config";
|
||||
config = lib.mkIf config.swarselsystems.modules.ledger {
|
||||
hardware.ledger.enable = true;
|
||||
|
||||
services.udev.packages = with pkgs; [
|
||||
ledger-udev-rules
|
||||
];
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
{ pkgs, ... }:
|
||||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.yubikey = lib.mkEnableOption "yubikey config";
|
||||
config = lib.mkIf config.swarselsystems.modules.yubikey {
|
||||
programs.ssh.startAgent = false;
|
||||
|
||||
services.pcscd.enable = false;
|
||||
|
|
@ -10,12 +12,5 @@
|
|||
yubikey-personalization
|
||||
];
|
||||
|
||||
# systemd.services.shutdownSopsGpg = {
|
||||
# path = [ pkgs.gnupg ];
|
||||
# script = ''
|
||||
# gpgconf --homedir /var/lib/sops --kill gpg-agent
|
||||
# '';
|
||||
# wantedBy = [ "multi-user.target" ];
|
||||
# };
|
||||
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ inputs, config, lib, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.home-managerExtra = lib.mkEnableOption "home-manager extras for non-chaostheatre";
|
||||
config = lib.mkIf config.swarselsystems.modules.home-managerExtra {
|
||||
home-manager = lib.mkIf config.swarselsystems.withHomeManager {
|
||||
extraSpecialArgs = { inherit (inputs) nix-secrets nixgl; };
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,12 @@
|
|||
{ inputs, config, lib, ... }:
|
||||
{
|
||||
|
||||
options.swarselsystems.modules.home-manager = lib.mkEnableOption "home-manager";
|
||||
config = lib.mkIf config.swarselsystems.modules.home-manager {
|
||||
home-manager = lib.mkIf config.swarselsystems.withHomeManager {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
extraSpecialArgs = { inherit (inputs) self; };
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@ let
|
|||
inherit (config.swarselsystems) homeDir isImpermanence isCrypted;
|
||||
in
|
||||
{
|
||||
options.swarselsystems.modules.impermanence = lib.mkEnableOption "impermanence config";
|
||||
config = lib.mkIf config.swarselsystems.modules.impermanence {
|
||||
|
||||
security.sudo.extraConfig = lib.mkIf isImpermanence ''
|
||||
# rollback results in sudo lectures after each reboot
|
||||
|
|
@ -87,5 +89,6 @@ in
|
|||
"/etc/ssh/ssh_host_rsa_key.pub"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
{ pkgs, ... }:
|
||||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.interceptionTools = lib.mkEnableOption "interception tools config";
|
||||
config = lib.mkIf config.swarselsystems.modules.interceptionTools {
|
||||
# Make CAPS work as a dual function ESC/CTRL key
|
||||
services.interception-tools = {
|
||||
enable = true;
|
||||
|
|
@ -26,4 +28,5 @@
|
|||
EV_KEY: [KEY_CAPSLOCK]
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.lanzaboote = lib.mkEnableOption "lanzaboote config";
|
||||
config = lib.mkIf config.swarselsystems.modules.lanzaboote {
|
||||
boot = {
|
||||
loader = {
|
||||
efi.canTouchEfiVariables = true;
|
||||
|
|
@ -11,4 +13,5 @@
|
|||
configurationLimit = 3;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
_:
|
||||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.lid = lib.mkEnableOption "lid config";
|
||||
config = lib.mkIf config.swarselsystems.modules.lid {
|
||||
services.logind = {
|
||||
lidSwitch = "suspend";
|
||||
lidSwitchDocked = "ignore";
|
||||
|
|
@ -31,4 +33,5 @@ _:
|
|||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
{ pkgs, ... }:
|
||||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.login = lib.mkEnableOption "login config";
|
||||
config = lib.mkIf config.swarselsystems.modules.login {
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
|
@ -17,4 +19,5 @@
|
|||
environment.etc."greetd/environments".text = ''
|
||||
sway
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
{ pkgs, lib, ... }:
|
||||
{ pkgs, lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.lowBattery = lib.mkEnableOption "low battery notification config";
|
||||
config = lib.mkIf config.swarselsystems.modules.lowBattery {
|
||||
systemd.user.services."battery-low" = {
|
||||
enable = true;
|
||||
description = "Timer for battery check that alerts at 10% or less";
|
||||
|
|
@ -23,4 +25,5 @@
|
|||
Unit = "battery-low.service";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.network = lib.mkEnableOption "network config";
|
||||
config = lib.mkIf config.swarselsystems.modules.network {
|
||||
networking = {
|
||||
nftables.enable = lib.mkDefault true;
|
||||
enableIPv6 = lib.mkDefault true;
|
||||
|
|
@ -242,4 +244,5 @@
|
|||
};
|
||||
|
||||
systemd.services.NetworkManager-ensure-profiles.after = [ "NetworkManager.service" ];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
{ pkgs, ... }:
|
||||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.networkDevices = lib.mkEnableOption "network device config";
|
||||
config = lib.mkIf config.swarselsystems.modules.networkDevices {
|
||||
# enable scanners over network
|
||||
hardware.sane = {
|
||||
enable = true;
|
||||
|
|
@ -27,4 +29,5 @@
|
|||
nssmdns4 = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
{ pkgs, ... }:
|
||||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.nix-ld = lib.mkEnableOption "nix-ld config";
|
||||
config = lib.mkIf config.swarselsystems.modules.nix-ld {
|
||||
programs.nix-ld = {
|
||||
enable = true;
|
||||
libraries = with pkgs; [
|
||||
|
|
@ -107,4 +109,5 @@
|
|||
zlib
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
{ pkgs, ... }:
|
||||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.nvd = lib.mkEnableOption "nvd config";
|
||||
config = lib.mkIf config.swarselsystems.modules.nvd {
|
||||
system.activationScripts.diff = {
|
||||
supportsDryActivation = true;
|
||||
text = ''
|
||||
|
|
@ -7,4 +9,5 @@
|
|||
/run/current-system "$systemConfig"
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
{ pkgs, ... }:
|
||||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.packages = lib.mkEnableOption "install packages";
|
||||
config = lib.mkIf config.swarselsystems.modules.packages {
|
||||
environment.systemPackages = with pkgs; [
|
||||
# yubikey packages
|
||||
gnupg
|
||||
|
|
@ -63,61 +65,19 @@
|
|||
|
||||
# bluetooth
|
||||
bluez
|
||||
|
||||
# lsp-related -------------------------------
|
||||
# nix
|
||||
# latex
|
||||
# texlab
|
||||
ghostscript_headless
|
||||
# wireguard
|
||||
wireguard-tools
|
||||
# rust
|
||||
# rust-analyzer
|
||||
# clippy
|
||||
# rustfmt
|
||||
# go
|
||||
# go
|
||||
# gopls
|
||||
# nix
|
||||
nixd
|
||||
# zig
|
||||
zig
|
||||
zls
|
||||
# cpp
|
||||
# clang-tools
|
||||
# + cuda
|
||||
# cudatoolkit
|
||||
# ansible
|
||||
# ansible-lint
|
||||
ansible-language-server
|
||||
# molecule
|
||||
#lsp-bridge / python
|
||||
# gcc
|
||||
# gdb
|
||||
# (python3.withPackages (ps: with ps; [ jupyter ipython pyqt5 epc orjson sexpdata six setuptools paramiko numpy pandas scipy matplotlib requests debugpy flake8 gnureadline python-lsp-server ]))
|
||||
# (python3.withPackages(ps: with ps; [ jupyter ipython pyqt5 numpy pandas scipy matplotlib requests debugpy flake8 gnureadline python-lsp-server]))
|
||||
# --------------------------------------------
|
||||
|
||||
# (stdenv.mkDerivation {
|
||||
# name = "oama";
|
||||
|
||||
# src = pkgs.fetchurl {
|
||||
# name = "oama";
|
||||
# url = "https://github.com/pdobsan/oama/releases/download/0.13.1/oama-0.13.1-Linux-x86_64-static.tgz";
|
||||
# sha256 = "sha256-OTdCObVfnMPhgZxVtZqehgUXtKT1iyqozdkPIV+i3Gc=";
|
||||
# };
|
||||
|
||||
# phases = [
|
||||
# "unpackPhase"
|
||||
# ];
|
||||
|
||||
# unpackPhase = ''
|
||||
# mkdir -p $out/bin
|
||||
# tar xvf $src -C $out/
|
||||
# mv $out/oama-0.13.1-Linux-x86_64-static/oama $out/bin/
|
||||
# '';
|
||||
|
||||
# })
|
||||
|
||||
];
|
||||
|
||||
nixpkgs.config.permittedInsecurePackages = [
|
||||
"jitsi-meet-1.0.8043"
|
||||
"electron-29.4.6"
|
||||
"SDL_ttf-2.0.11"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
_: {
|
||||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.pipewire = lib.mkEnableOption "pipewire config";
|
||||
config = lib.mkIf config.swarselsystems.modules.pipewire {
|
||||
security.rtkit.enable = true; # this is required for pipewire real-time access
|
||||
|
||||
services.pipewire = {
|
||||
|
|
@ -12,4 +15,5 @@ _: {
|
|||
support32Bit = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
_:
|
||||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.security = lib.mkEnableOption "security config";
|
||||
config = lib.mkIf config.swarselsystems.modules.security {
|
||||
|
||||
security = {
|
||||
pam.services = {
|
||||
|
|
@ -16,5 +18,5 @@ _:
|
|||
Defaults env_keep+=WAYLAND_DISPLAY
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
_:
|
||||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.ppd = lib.mkEnableOption "power profiles daemon config";
|
||||
config = lib.mkIf config.swarselsystems.modules.ppd {
|
||||
services.power-profiles-daemon.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,11 @@
|
|||
_:
|
||||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.programs = lib.mkEnableOption "small program modules config";
|
||||
config = lib.mkIf config.swarselsystems.modules.programs {
|
||||
programs = {
|
||||
dconf.enable = true;
|
||||
evince.enable = true;
|
||||
kdeconnect.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,11 @@
|
|||
{ config, pkgs, lib, ... }: {
|
||||
|
||||
options.swarselsystems.modules.pulseaudio = lib.mkEnableOption "pulseaudio config";
|
||||
config = lib.mkIf config.swarselsystems.modules.pulseaudio {
|
||||
services.pulseaudio = {
|
||||
enable = lib.mkIf (!config.services.pipewire.enable) true;
|
||||
package = pkgs.pulseaudioFull;
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
{ lib, config, outputs, inputs, ... }:
|
||||
{
|
||||
|
||||
options.swarselsystems.modules.general = lib.mkEnableOption "general nix settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.general {
|
||||
nixpkgs = {
|
||||
overlays = [ outputs.overlays.default ];
|
||||
config = {
|
||||
|
|
@ -39,7 +40,6 @@
|
|||
nixPath = lib.mapAttrsToList (n: _: "${n}=flake:${n}") flakeInputs;
|
||||
};
|
||||
|
||||
|
||||
system.stateVersion = lib.mkDefault "23.05";
|
||||
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@ let
|
|||
inherit (config.swarselsystems) mainUser homeDir;
|
||||
in
|
||||
{
|
||||
options.swarselsystems.modules.commonSops = lib.mkEnableOption "sops config";
|
||||
config = lib.mkIf config.swarselsystems.modules.commonSops {
|
||||
sops = lib.mkIf (!config.swarselsystems.isPublic) {
|
||||
|
||||
age.sshKeyPaths = lib.swarselsystems.mkIfElseList config.swarselsystems.isBtrfs [ "/persist/.ssh/sops" "/persist/.ssh/ssh_host_ed25519_key" ] [ "${homeDir}/.ssh/sops" "/etc/ssh/ssh_host_ed25519_key" ];
|
||||
|
|
@ -48,4 +50,5 @@ in
|
|||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,10 @@
|
|||
_:
|
||||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.storeOptimize = lib.mkEnableOption "store optimization config";
|
||||
config = lib.mkIf config.swarselsystems.modules.storeOptimize {
|
||||
nix.optimise = {
|
||||
automatic = true;
|
||||
dates = [ "weekly" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.stylix = lib.mkEnableOption "stylix config";
|
||||
config = lib.mkIf config.swarselsystems.modules.stylix {
|
||||
stylix = lib.recursiveUpdate
|
||||
{
|
||||
targets.grub.enable = false; # the styling makes grub more ugly
|
||||
|
|
@ -11,4 +13,5 @@
|
|||
targets = config.swarselsystems.stylixHomeTargets;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
{ pkgs, ... }:
|
||||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
|
||||
options.swarselsystems.modules.sway = lib.mkEnableOption "sway config";
|
||||
config = lib.mkIf config.swarselsystems.modules.sway {
|
||||
programs.sway = {
|
||||
enable = true;
|
||||
package = pkgs.swayfx;
|
||||
|
|
@ -19,5 +20,5 @@
|
|||
export MOZ_DISABLE_RDD_SANDBOX=1
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,8 @@ let
|
|||
inherit (config.swarselsystems) mainUser homeDir;
|
||||
in
|
||||
{
|
||||
options.swarselsystems.modules.syncthing = lib.mkEnableOption "syncthing config";
|
||||
config = lib.mkIf config.swarselsystems.modules.syncthing {
|
||||
services.syncthing = {
|
||||
enable = true;
|
||||
user = mainUser;
|
||||
|
|
@ -50,4 +52,5 @@ in
|
|||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,11 @@
|
|||
_:
|
||||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.systemdTimeout = lib.mkEnableOption "systemd timeout config";
|
||||
config = lib.mkIf config.swarselsystems.modules.systemdTimeout {
|
||||
# systemd
|
||||
systemd.extraConfig = ''
|
||||
DefaultTimeoutStartSec=60s
|
||||
DefaultTimeoutStopSec=15s
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
_:
|
||||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.time = lib.mkEnableOption "time config";
|
||||
config = lib.mkIf config.swarselsystems.modules.time {
|
||||
time = {
|
||||
timeZone = "Europe/Vienna";
|
||||
# hardwareClockInLocalTime = true;
|
||||
|
|
@ -19,4 +21,5 @@ _:
|
|||
LC_TIME = "de_AT.UTF-8";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
{ pkgs, config, lib, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.users = lib.mkEnableOption "user config";
|
||||
config = lib.mkIf config.swarselsystems.modules.users {
|
||||
sops.secrets.swarseluser = lib.mkIf (!config.swarselsystems.isPublic) { neededForUsers = true; };
|
||||
|
||||
users = {
|
||||
|
|
@ -13,4 +15,5 @@
|
|||
packages = with pkgs; [ ];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
{ pkgs, ... }:
|
||||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
|
||||
options.swarselsystems.modules.xdg-portal = lib.mkEnableOption "xdg portal config";
|
||||
config = lib.mkIf config.swarselsystems.modules.xdg-portal {
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
config = {
|
||||
|
|
@ -15,5 +16,5 @@
|
|||
chooser_cmd = "${pkgs.slurp}/bin/slurp -f %o -or";
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,12 @@
|
|||
_:
|
||||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.xserver = lib.mkEnableOption "xserver keymap";
|
||||
config = lib.mkIf config.swarselsystems.modules.packages {
|
||||
services.xserver = {
|
||||
xkb = {
|
||||
layout = "us";
|
||||
variant = "altgr-intl";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,10 @@
|
|||
{ pkgs, ... }:
|
||||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.zsh = lib.mkEnableOption "zsh base config";
|
||||
config = lib.mkIf config.swarselsystems.modules.zsh {
|
||||
programs.zsh.enable = true;
|
||||
users.defaultUserShell = pkgs.zsh;
|
||||
environment.shells = with pkgs; [ zsh ];
|
||||
environment.pathsToLink = [ "/share/zsh" ];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,4 +2,4 @@
|
|||
let
|
||||
moduleNames = lib.swarselsystems.readNix "profiles/home";
|
||||
in
|
||||
lib.swarselsystems.mkModules moduleNames "home"
|
||||
lib.swarselsystems.mkProfiles moduleNames "home"
|
||||
|
|
|
|||
|
|
@ -2,4 +2,4 @@
|
|||
let
|
||||
moduleNames = lib.swarselsystems.readNix "profiles/nixos";
|
||||
in
|
||||
lib.swarselsystems.mkModules moduleNames "nixos"
|
||||
lib.swarselsystems.mkProfiles moduleNames "nixos"
|
||||
|
|
|
|||
51
profiles/nixos/personal/default.nix
Normal file
51
profiles/nixos/personal/default.nix
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.profiles.personalz = lib.mkEnableOption "is this a personal host";
|
||||
config = lib.mkIf config.swarselsystems.profiles.personalz {
|
||||
config.swarselsystems.modules = {
|
||||
packages = lib.mkDefault true;
|
||||
general = lib.mkDefault true;
|
||||
home-manager = lib.mkDefault true;
|
||||
home-managerExtra = lib.mkDefault true;
|
||||
xserver = lib.mkDefault true;
|
||||
users = lib.mkDefault true;
|
||||
env = lib.mkDefault true;
|
||||
security = lib.mkDefault true;
|
||||
gc = lib.mkDefault true;
|
||||
storeOptimize = lib.mkDefault true;
|
||||
systemdTimeout = lib.mkDefault true;
|
||||
hardware = lib.mkDefault true;
|
||||
pulseaudio = lib.mkDefault true;
|
||||
pipewire = lib.mkDefault true;
|
||||
network = lib.mkDefault true;
|
||||
time = lib.mkDefault true;
|
||||
commonSops = lib.mkDefault true;
|
||||
stylix = lib.mkDefault true;
|
||||
programs = lib.mkDefault true;
|
||||
zsh = lib.mkDefault true;
|
||||
syncthing = lib.mkDefault true;
|
||||
blueman = lib.mkDefault true;
|
||||
networkDevices = lib.mkDefault true;
|
||||
gvfs = lib.mkDefault true;
|
||||
interceptionTools = lib.mkDefault true;
|
||||
ppd = lib.mkDefault true;
|
||||
yubikey = lib.mkDefault true;
|
||||
ledger = lib.mkDefault true;
|
||||
keyboards = lib.mkDefault true;
|
||||
login = lib.mkDefault true;
|
||||
nix-ld = lib.mkDefault true;
|
||||
impermanence = lib.mkDefault true;
|
||||
nvd = lib.mkDefault true;
|
||||
gnome-keyring = lib.mkDefault true;
|
||||
sway = lib.mkDefault true;
|
||||
xdg-portal = lib.mkDefault true;
|
||||
distrobox = lib.mkDefault true;
|
||||
appimage = lib.mkDefault true;
|
||||
lid = lib.mkDefault true;
|
||||
lowBattery = lib.mkDefault true;
|
||||
lanzaboote = lib.mkDefault true;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
|
@ -8,6 +8,24 @@ See the above repository for updates as well as full license text. */
|
|||
:root{
|
||||
--uc-autohide-toolbox-delay: 0ms; /* Wait 0.1s before hiding toolbars */
|
||||
--uc-toolbox-rotation: 107deg; /* This may need to be lower on mac - like 75 or so */
|
||||
|
||||
--base00: #1D252C;
|
||||
--base01: #171D23;
|
||||
--base02: #5EC4FF;
|
||||
--base03: #566C7D;
|
||||
--base04: #5EC4FF;
|
||||
--base05: #A0B3C5;
|
||||
--base06: #C06ECE;
|
||||
--base07: #A0B3C5;
|
||||
--base08: #D95468;
|
||||
--base09: #FFA880;
|
||||
--base0A: #5EC4FF;
|
||||
--base0B: #8BD49C;
|
||||
--base0C: #008B94;
|
||||
--base0D: #5EC4FF;
|
||||
--base0E: #C06ECE;
|
||||
--base0F: #5EC4FF;
|
||||
|
||||
}
|
||||
|
||||
:root[sizemode="maximized"]{
|
||||
|
|
|
|||
1
programs/firefox/tridactyl/themes/.#base16-codeschool.css
Symbolic link
1
programs/firefox/tridactyl/themes/.#base16-codeschool.css
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
swarsel@nbl-imba-2.3038:1743148454
|
||||
|
|
@ -15,6 +15,7 @@ set searchurls.hm https://home-manager-options.extranix.com/?query=
|
|||
set completions.Tab.statusstylepretty true
|
||||
set hintfiltermode vimperator-reflow
|
||||
set hintnames numeric
|
||||
unbind --mode=hint <Space>
|
||||
|
||||
" Binds
|
||||
bind <C-m> buffer #
|
||||
|
|
@ -47,6 +48,7 @@ bind gwm tab_or_tabopen monitoring.vbc.ac.at/grafana
|
|||
bind gwM tab_or_tabopen monitoring.vbc.ac.at/prometheus
|
||||
bind gwn tab_or_tabopen netbox.vbc.ac.at
|
||||
bind gwN tab_or_tabopen nap.imp.ac.at
|
||||
|
||||
bind gwo tab_or_tabopen outlook.office.com
|
||||
bind gws tab_or_tabopen satellite.vbc.ac.at
|
||||
bind gwt tab_or_tabopen tower.vbc.ac.at
|
||||
|
|
@ -102,7 +104,7 @@ set allowautofocus false
|
|||
jsb browser.webRequest.onHeadersReceived.addListener(tri.request.clobberCSP,{urls:["<all_urls>"],types:["main_frame"]},["blocking","responseHeaders"])
|
||||
|
||||
" default is 300ms
|
||||
set hintdelay 100
|
||||
" set hintdelay 500
|
||||
|
||||
" Some pages like github break on the tridactyl quick search. have this as a fallback
|
||||
unbind <C-f>
|
||||
|
|
|
|||
1
programs/stylix/.#swarsel.yaml
Symbolic link
1
programs/stylix/.#swarsel.yaml
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
swarsel@nbl-imba-2.3038:1743148454
|
||||
Loading…
Add table
Add a link
Reference in a new issue