mirror of
https://github.com/kittywitch/nixfiles.git
synced 2026-02-09 04:19:19 -08:00
[STYLE/REFACTOR] Deadnix, Alejandra and Statix
This commit is contained in:
parent
8573c4508d
commit
d4242f9dd8
51 changed files with 465 additions and 466 deletions
|
|
@ -5,7 +5,7 @@
|
|||
inputs,
|
||||
...
|
||||
}: let
|
||||
inherit (std) set tuple list function;
|
||||
inherit (std) set list;
|
||||
inherit (lib.strings) versionAtLeast;
|
||||
inputs' = set.filter (n: _: !list.elem n ["pypi-deps-db"]) (set.rename "self" "kat" inputs);
|
||||
in {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
tree,
|
||||
system,
|
||||
...
|
||||
}: {
|
||||
|
|
|
|||
|
|
@ -5,7 +5,8 @@
|
|||
|
||||
launchd.daemons.start_nixos_native = {
|
||||
serviceConfig.ProgramArguments = [
|
||||
"/bin/sh" "-c"
|
||||
"/bin/sh"
|
||||
"-c"
|
||||
"/bin/wait4path /nix/store && ${pkgs.writeScript "start_nixos_native" ''
|
||||
/usr/bin/open "utm://start?name=NixOS Native"
|
||||
''}"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,4 @@
|
|||
{
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
{lib, ...}: let
|
||||
inherit (lib.modules) mkMerge;
|
||||
in {
|
||||
base16 = {
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
in
|
||||
dirImports
|
||||
// {
|
||||
user = tree.prev.user;
|
||||
inherit (tree.prev) user;
|
||||
common = {
|
||||
imports = with tree.prev; [
|
||||
base16
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{pkgs, ...}: {
|
||||
_: {
|
||||
dconf = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,9 @@
|
|||
{ config, lib, pkgs, ... }: let
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.modules) mkMerge mkIf;
|
||||
inherit (lib.attrsets) mapAttrsToList;
|
||||
in {
|
||||
|
|
@ -6,8 +11,7 @@ in {
|
|||
programs.mpv = {
|
||||
enable = true;
|
||||
scripts = with pkgs.mpvScripts; [sponsorblock paused];
|
||||
bindings =
|
||||
let
|
||||
bindings = let
|
||||
vim = {
|
||||
"l" = "seek 5";
|
||||
"h" = "seek -5";
|
||||
|
|
@ -100,7 +104,8 @@ in {
|
|||
osd-bar-h = 2.5; # 3.125 default
|
||||
osd-border-size = 2; # font border pixels, default 3
|
||||
term-osd-bar = true;
|
||||
script-opts = builtins.concatStringsSep ","
|
||||
script-opts =
|
||||
builtins.concatStringsSep ","
|
||||
(mapAttrsToList (k: v: "${k}=${toString v}") {
|
||||
ytdl_hook-ytdl_path = "${pkgs.yt-dlp}/bin/yt-dlp";
|
||||
osc-layout = "slimbox";
|
||||
|
|
@ -114,6 +119,7 @@ in {
|
|||
osc-seekbarkeyframes = "no";
|
||||
osc-seekrangestyle = "slider";
|
||||
});
|
||||
}];
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,8 @@
|
|||
{ config, lib, ... }: {
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
# TODO: fix lib use
|
||||
home.packages = [
|
||||
config.services.konawall.konashow
|
||||
|
|
|
|||
|
|
@ -1,12 +1,15 @@
|
|||
{ config, pkgs, ... }: let
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (config.base16) palette;
|
||||
in {
|
||||
systemd.user.services = {
|
||||
mako = {
|
||||
Unit = {
|
||||
Description = "mako";
|
||||
X-Restart-Triggers =
|
||||
[ (toString config.xdg.configFile."mako/config".source) ];
|
||||
X-Restart-Triggers = [(toString config.xdg.configFile."mako/config".source)];
|
||||
};
|
||||
Service = {
|
||||
ExecStart = "${pkgs.mako}/bin/mako";
|
||||
|
|
|
|||
|
|
@ -3,8 +3,12 @@
|
|||
enable = true;
|
||||
settings = {
|
||||
style = let
|
||||
template = kittywitch.sassTemplate { name = "wofi-style"; src = ./wofi.sass; };
|
||||
in template.source;
|
||||
template = kittywitch.sassTemplate {
|
||||
name = "wofi-style";
|
||||
src = ./wofi.sass;
|
||||
};
|
||||
in
|
||||
template.source;
|
||||
insensitive = true;
|
||||
allow_images = true;
|
||||
hide_scroll = true;
|
||||
|
|
|
|||
|
|
@ -1,8 +1,14 @@
|
|||
{ config, pkgs, lib, ... }: let
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.types) attrsOf str enum;
|
||||
inherit (lib.modules) mkIf;
|
||||
cfg = config.base16;
|
||||
in with lib; {
|
||||
in
|
||||
with lib; {
|
||||
options.base16 = {
|
||||
palette = mkOption {
|
||||
type = attrsOf str;
|
||||
|
|
@ -10,7 +16,9 @@ in with lib; {
|
|||
sass = {
|
||||
variables = mkOption {
|
||||
type = attrsOf str;
|
||||
default = cfg.palette // {
|
||||
default =
|
||||
cfg.palette
|
||||
// {
|
||||
term_font = "Iosevka";
|
||||
font = "Iosevka";
|
||||
font_size = "12px";
|
||||
|
|
@ -25,7 +33,8 @@ in with lib; {
|
|||
config = mkIf (cfg.schemes != {}) {
|
||||
base16 = {
|
||||
# TODO: convert to std
|
||||
palette = lib.mapAttrs' (k: v:
|
||||
palette =
|
||||
lib.mapAttrs' (k: v:
|
||||
lib.nameValuePair
|
||||
k
|
||||
"#${v.hex}")
|
||||
|
|
@ -33,13 +42,20 @@ in with lib; {
|
|||
cfg.defaultScheme);
|
||||
};
|
||||
|
||||
lib.kittywitch.sassTemplate = { name, src }:
|
||||
let
|
||||
lib.kittywitch.sassTemplate = {
|
||||
name,
|
||||
src,
|
||||
}: let
|
||||
variables = pkgs.writeText "base-variables.sass" ''
|
||||
${(concatStringsSep "\n" (mapAttrsToList (var: con: "\$${var}: ${con}") cfg.sass.variables))}
|
||||
'';
|
||||
source = pkgs.callPackage
|
||||
({ sass, stdenv }: stdenv.mkDerivation {
|
||||
source =
|
||||
pkgs.callPackage
|
||||
({
|
||||
sass,
|
||||
stdenv,
|
||||
}:
|
||||
stdenv.mkDerivation {
|
||||
inherit name src variables;
|
||||
nativeBuildInputs = lib.singleton pkgs.sass;
|
||||
phases = ["buildPhase"];
|
||||
|
|
@ -49,8 +65,7 @@ in with lib; {
|
|||
'';
|
||||
})
|
||||
{};
|
||||
in
|
||||
{
|
||||
in {
|
||||
inherit source;
|
||||
text = builtins.readFile source;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,6 +1,11 @@
|
|||
{ config, lib, ... }: let
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.modules) mkIf;
|
||||
in mkIf (config.programs.waybar.enable) {
|
||||
in
|
||||
mkIf config.programs.waybar.enable {
|
||||
systemd.user.services.waybar.Unit.X-Restart-Triggers = [
|
||||
(builtins.toString config.programs.waybar.style)
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1,8 +1,4 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
{lib, ...}: let
|
||||
inherit (lib.types) listOf path;
|
||||
inherit (lib.options) mkOption;
|
||||
in {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,4 @@
|
|||
({ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
({pkgs, ...}: {
|
||||
users.users.arc = {
|
||||
uid = 1001;
|
||||
isNormalUser = true;
|
||||
|
|
|
|||
|
|
@ -1,30 +1,39 @@
|
|||
{ config, pkgs, lib, ... }: let
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
# TODO: solve lib usage
|
||||
inherit (lib.lists) concatLists elem;
|
||||
inherit (lib.attrsets) mapAttrsToList;
|
||||
commonUser = {
|
||||
openssh.authorizedKeys.keys = concatLists (mapAttrsToList
|
||||
(_: user:
|
||||
if elem "wheel" user.extraGroups then
|
||||
user.openssh.authorizedKeys.keys
|
||||
else
|
||||
[ ])
|
||||
if elem "wheel" user.extraGroups
|
||||
then user.openssh.authorizedKeys.keys
|
||||
else [])
|
||||
config.users.users);
|
||||
};
|
||||
in {
|
||||
security.sudo.extraRules = [{
|
||||
security.sudo.extraRules = [
|
||||
{
|
||||
users = ["deploy"];
|
||||
commands = [ {
|
||||
commands = [
|
||||
{
|
||||
command = "ALL";
|
||||
options = [
|
||||
"NOPASSWD"
|
||||
"SETENV"
|
||||
];
|
||||
} ];
|
||||
}];
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
users.users = {
|
||||
root = commonUser;
|
||||
deploy = commonUser // {
|
||||
deploy =
|
||||
commonUser
|
||||
// {
|
||||
isNormalUser = true;
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,18 +1,30 @@
|
|||
{ config, lib, std, ... }: let
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
std,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.modules) mkDefault;
|
||||
inherit (std) list;
|
||||
in {
|
||||
networking.firewall = {
|
||||
allowedTCPPorts = [(list.unsafeHead config.services.openssh.ports)];
|
||||
allowedUDPPortRanges = [ { from = 60000; to = 61000; } ];
|
||||
allowedUDPPortRanges = [
|
||||
{
|
||||
from = 60000;
|
||||
to = 61000;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
/* knownHosts.katca = {
|
||||
/*
|
||||
knownHosts.katca = {
|
||||
certAuthority = true;
|
||||
publicKey = builtins.readFile ./ca-pubkey.pem;
|
||||
}; */
|
||||
};
|
||||
*/
|
||||
kexAlgorithms = ["curve25519-sha256@libssh.org"];
|
||||
settings = {
|
||||
PasswordAuthentication = false;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,9 @@
|
|||
{ lib, tree, ... }: with lib; let
|
||||
{
|
||||
lib,
|
||||
tree,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
profiles = tree.prev;
|
||||
appendedProfiles = {
|
||||
common-wifi-bt = {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,9 @@
|
|||
{lib, pkgs, ...}: let
|
||||
inherit (lib.modules) mkDefault mkOrder;
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.modules) mkDefault;
|
||||
in {
|
||||
powerManagement.cpuFreqGovernor = mkDefault "powersave";
|
||||
programs.light.enable = true;
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
{lib, ...}: let
|
||||
in {
|
||||
_: {
|
||||
boot = {
|
||||
initrd.availableKernelModules =
|
||||
[ "xhci_pci" "nvme" "usb_storage" "sd_mod" "sr_mod" "rtsx_usb_sdmmc" ];
|
||||
initrd.availableKernelModules = ["xhci_pci" "nvme" "usb_storage" "sd_mod" "sr_mod" "rtsx_usb_sdmmc"];
|
||||
kernelModules = ["kvm-intel"];
|
||||
};
|
||||
home-manager.sharedModules = [
|
||||
|
|
|
|||
|
|
@ -1,6 +1,4 @@
|
|||
{lib, pkgs, ...}: let
|
||||
inherit (lib.modules) mkDefault mkOrder;
|
||||
in {
|
||||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [pulsemixer];
|
||||
|
||||
sound = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,8 @@
|
|||
{ lib, pkgs, ... }: let
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.modules) mkForce;
|
||||
in {
|
||||
systemd.services.NetworkManager-wait-online = {
|
||||
|
|
@ -7,7 +11,12 @@ in {
|
|||
networking = {
|
||||
firewall = {
|
||||
allowedUDPPorts = [5353]; # MDNS
|
||||
allowedUDPPortRanges = [ { from = 32768; to=60999; } ]; # Ephemeral / Chromecast
|
||||
allowedUDPPortRanges = [
|
||||
{
|
||||
from = 32768;
|
||||
to = 60999;
|
||||
}
|
||||
]; # Ephemeral / Chromecast
|
||||
};
|
||||
networkmanager = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,9 @@
|
|||
{ config, lib, std, ... }: let
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
std,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.modules) mkDefault mkIf mkMerge;
|
||||
inherit (std) list;
|
||||
in {
|
||||
|
|
|
|||
|
|
@ -1,10 +1,4 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.modules) mkForce;
|
||||
in {
|
||||
{pkgs, ...}: {
|
||||
services.xserver.enable = true;
|
||||
services.xserver.displayManager.gdm.enable = true;
|
||||
services.xserver.desktopManager.gnome.enable = true;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{ pkgs, ... }: {
|
||||
_: {
|
||||
fonts = {
|
||||
enableDefaultFonts = true;
|
||||
fontDir.enable = true;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
prev,
|
||||
...
|
||||
}: let
|
||||
|
|
|
|||
|
|
@ -1,4 +1,10 @@
|
|||
{ config, pkgs, std, lib, ... }: let
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
std,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (std) set list;
|
||||
inherit (lib.modules) mkForce;
|
||||
in {
|
||||
|
|
|
|||
|
|
@ -1,10 +1,4 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
prev,
|
||||
...
|
||||
}: {
|
||||
{config, ...}: {
|
||||
scalpel.trafos."credentials_file" = {
|
||||
source = "/etc/ssl/credentials_template";
|
||||
matchers."CLOUDFLARE_EMAIL".secret = config.sops.secrets.cloudflare_email.path;
|
||||
|
|
|
|||
|
|
@ -8,10 +8,10 @@
|
|||
inherit (import ./pkgs.nix {inherit inputs tree overlay;}) pkgs;
|
||||
formatter = import ./formatter.nix {inherit inputs pkgs;};
|
||||
inherit (std) set;
|
||||
#checks = set.map (_: deployLib: deployLib.deployChecks inputs.self.deploy) inputs.deploy-rs.lib;
|
||||
checks = set.map (_: deployLib: deployLib.deployChecks inputs.self.deploy) inputs.deploy-rs.lib;
|
||||
in
|
||||
{
|
||||
inherit inputs tree std pkgs formatter lib; # checks
|
||||
inherit inputs tree std pkgs formatter lib checks;
|
||||
legacyPackages = pkgs;
|
||||
}
|
||||
// systems
|
||||
|
|
|
|||
|
|
@ -1,3 +1,9 @@
|
|||
{ inputs, tree, ... }: final: prev: let
|
||||
inherit (inputs.std.lib) set list;
|
||||
in set.map (_: package: prev.callPackage package {} ) (removeAttrs tree.packages ["default"])
|
||||
{
|
||||
inputs,
|
||||
tree,
|
||||
...
|
||||
}: _: prev: let
|
||||
# formerly final: prev:, but deadnix
|
||||
inherit (inputs.std.lib) set;
|
||||
in
|
||||
set.map (_: package: prev.callPackage package {}) (removeAttrs tree.packages ["default"])
|
||||
|
|
|
|||
7
pkgs.nix
7
pkgs.nix
|
|
@ -5,4 +5,9 @@
|
|||
}: let
|
||||
overlays = import tree.overlays {inherit inputs tree;};
|
||||
in
|
||||
inputs.utils.lib.eachDefaultSystem (system: {pkgs = import inputs.nixpkgs { inherit system overlays; config.allowUnfree = true; };})
|
||||
inputs.utils.lib.eachDefaultSystem (system: {
|
||||
pkgs = import inputs.nixpkgs {
|
||||
inherit system overlays;
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
})
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
_: let
|
||||
hostConfig = {lib, tree, modulesPath, inputs, pkgs, ...}: let
|
||||
hostConfig = {
|
||||
lib,
|
||||
tree,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.modules) mkForce;
|
||||
in {
|
||||
imports = with tree; [
|
||||
|
|
|
|||
|
|
@ -110,7 +110,7 @@
|
|||
{
|
||||
inherit machine;
|
||||
systemType = config.folder;
|
||||
system = config.system;
|
||||
inherit (config) system;
|
||||
}
|
||||
// defaultSpecialArgs;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,14 +1,21 @@
|
|||
_: let
|
||||
hostConfig = {config, tree, pkgs, ...}: {
|
||||
imports = with tree.nixos.hardware; [
|
||||
hostConfig = {
|
||||
config,
|
||||
tree,
|
||||
...
|
||||
}: {
|
||||
imports = with tree.nixos.hardware;
|
||||
[
|
||||
lenovo-thinkpad-x260
|
||||
common-pc-laptop-ssd
|
||||
] ++ (with tree.nixos.roles; [
|
||||
]
|
||||
++ (with tree.nixos.roles; [
|
||||
graphical
|
||||
sway
|
||||
laptop
|
||||
bootable
|
||||
]) ++ (with tree; [
|
||||
])
|
||||
++ (with tree; [
|
||||
kat.gui
|
||||
kat.sway
|
||||
]);
|
||||
|
|
|
|||
|
|
@ -1,5 +1,9 @@
|
|||
_: let
|
||||
hostConfig = { lib, tree, ... }: let
|
||||
hostConfig = {
|
||||
lib,
|
||||
tree,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.modules) mkDefault;
|
||||
in {
|
||||
imports = with tree; [
|
||||
|
|
|
|||
|
|
@ -1,84 +0,0 @@
|
|||
_: let
|
||||
hostConfig = {tree, lib, ...}: let
|
||||
inherit (lib.modules) mkForce;
|
||||
in {
|
||||
imports = with tree; [
|
||||
nixos.arc
|
||||
/* ./kanidm.nix
|
||||
./vouch.nix
|
||||
./home-assistant.nix
|
||||
./zigbee2mqtt.nix
|
||||
./mosquitto.nix
|
||||
./postgres.nix
|
||||
./nginx.nix
|
||||
../../gui/nfs.nix */
|
||||
];
|
||||
|
||||
|
||||
networking = {
|
||||
useDHCP = false;
|
||||
interfaces = {
|
||||
eno1 = {
|
||||
useDHCP = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
boot = {
|
||||
loader = {
|
||||
systemd-boot = {
|
||||
enable = true;
|
||||
};
|
||||
efi = {
|
||||
canTouchEfiVariables = true;
|
||||
};
|
||||
};
|
||||
initrd = {
|
||||
availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
||||
};
|
||||
kernelModules = [ "kvm-intel" ];
|
||||
};
|
||||
|
||||
/* services.openiscsi = {
|
||||
enable = true;
|
||||
name = "";
|
||||
discoverPortal = "shanghai.tail.cutie.moe";
|
||||
};
|
||||
|
||||
environment.etc."iscsi/initiatorname.iscsi" = mkForce {
|
||||
source = config.secrets.files.openscsi-config.path;
|
||||
};
|
||||
|
||||
secrets.variables.openscsi-password = {
|
||||
path = "gensokyo/tewi-scsi";
|
||||
field = "password";
|
||||
};
|
||||
|
||||
secrets.files.openscsi-config = {
|
||||
text = "InitiatorName=${tf.variables.openscsi-password.ref}";
|
||||
}; */
|
||||
|
||||
fileSystems = {
|
||||
"/" = {
|
||||
device = "/dev/disk/by-uuid/6c5d82b1-5d11-4c72-96c6-5f90e6ce57f5";
|
||||
fsType = "ext4";
|
||||
};
|
||||
"/boot" = {
|
||||
device = "/dev/disk/by-uuid/85DC-72FA";
|
||||
fsType = "vfat";
|
||||
};
|
||||
};
|
||||
|
||||
swapDevices = lib.singleton ({
|
||||
device = "/dev/disk/by-uuid/137605d3-5e3f-47c8-8070-6783ce651932";
|
||||
});
|
||||
|
||||
system.stateVersion = "21.05";
|
||||
};
|
||||
in {
|
||||
arch = "x86_64";
|
||||
type = "NixOS";
|
||||
modules = [
|
||||
hostConfig
|
||||
];
|
||||
}
|
||||
6
tree.nix
6
tree.nix
|
|
@ -1,8 +1,4 @@
|
|||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{inputs, ...}:
|
||||
(inputs.tree.tree {
|
||||
inherit inputs;
|
||||
folder = ./.;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue