ran nix fmt .

This commit is contained in:
2025-02-08 17:38:15 -05:00
parent c12bd0c7ca
commit 300aa1f032
35 changed files with 215 additions and 134 deletions

View File

@@ -31,7 +31,7 @@
home-manager = { home-manager = {
useGlobalPkgs = true; useGlobalPkgs = true;
useUserPackages = true; useUserPackages = true;
extraSpecialArgs = {inherit inputs outputs;}; extraSpecialArgs = { inherit inputs outputs; };
backupFileExtension = "backup"; backupFileExtension = "backup";
}; };

View File

@@ -2,9 +2,11 @@
inputs, inputs,
lib, lib,
... ...
}: let }:
let
flakeInputs = lib.filterAttrs (_: lib.isType "flake") inputs; flakeInputs = lib.filterAttrs (_: lib.isType "flake") inputs;
in { in
{
nix = { nix = {
settings = { settings = {
trusted-users = [ trusted-users = [
@@ -37,7 +39,7 @@ in {
}; };
# Add each flake input as a registry and nix_path # Add each flake input as a registry and nix_path
registry = lib.mapAttrs (_: flake: {inherit flake;}) flakeInputs; registry = lib.mapAttrs (_: flake: { inherit flake; }) flakeInputs;
nixPath = lib.mapAttrsToList (n: _: "${n}=flake:${n}") flakeInputs; nixPath = lib.mapAttrsToList (n: _: "${n}=flake:${n}") flakeInputs;
}; };
} }

View File

@@ -1,4 +1,10 @@
{ inputs, pkgs, lib, config, ... }: {
inputs,
pkgs,
lib,
config,
...
}:
let let
cfg = config.services.snapshot_manager; cfg = config.services.snapshot_manager;
in in
@@ -41,4 +47,4 @@ in
}; };
}; };
}; };
} }

View File

@@ -67,5 +67,5 @@
}; };
}; };
networking.firewall.allowedTCPPorts = [ 22 ]; networking.firewall.allowedTCPPorts = [ 22 ];
} }

View File

@@ -2,6 +2,9 @@
{ {
services.printing = { services.printing = {
enable = true; enable = true;
drivers = with pkgs; [ gutenprint hplip ]; drivers = with pkgs; [
gutenprint
hplip
];
}; };
} }

View File

@@ -1,6 +1,9 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
environment.systemPackages = with pkgs; [mangohud steam-run]; environment.systemPackages = with pkgs; [
mangohud
steam-run
];
hardware.steam-hardware.enable = true; hardware.steam-hardware.enable = true;
programs = { programs = {
@@ -11,7 +14,7 @@
remotePlay.openFirewall = true; remotePlay.openFirewall = true;
localNetworkGameTransfers.openFirewall = true; localNetworkGameTransfers.openFirewall = true;
protontricks.enable = true; protontricks.enable = true;
extraCompatPackages = with pkgs; [proton-ge-bin]; extraCompatPackages = with pkgs; [ proton-ge-bin ];
extest.enable = true; extest.enable = true;
}; };
gamescope = { gamescope = {

View File

@@ -49,51 +49,54 @@
}; };
}; };
outputs = { outputs =
self, {
nixpkgs, self,
home-manager, nixpkgs,
systems, home-manager,
nixos-cosmic, systems,
sops-nix, nixos-cosmic,
... sops-nix,
} @ inputs: let ...
inherit (self) outputs; }@inputs:
lib = nixpkgs.lib // home-manager.lib; let
forEachSystem = f: lib.genAttrs (import systems) (system: f pkgsFor.${system}); inherit (self) outputs;
pkgsFor = lib.genAttrs (import systems) ( lib = nixpkgs.lib // home-manager.lib;
system: forEachSystem = f: lib.genAttrs (import systems) (system: f pkgsFor.${system});
pkgsFor = lib.genAttrs (import systems) (
system:
import nixpkgs { import nixpkgs {
inherit system; inherit system;
config.allowUnfree = true; config.allowUnfree = true;
} }
); );
in { in
inherit lib; {
overlays = import ./overlays {inherit inputs outputs;}; inherit lib;
overlays = import ./overlays { inherit inputs outputs; };
devShells = forEachSystem (pkgs: import ./shell.nix {inherit pkgs;}); devShells = forEachSystem (pkgs: import ./shell.nix { inherit pkgs; });
formatter = forEachSystem (pkgs: pkgs.treefmt); formatter = forEachSystem (pkgs: pkgs.treefmt);
nixosConfigurations = { nixosConfigurations = {
bob = lib.nixosSystem { bob = lib.nixosSystem {
modules = [ modules = [
./systems/bob ./systems/bob
]; ];
specialArgs = {inherit inputs outputs;}; specialArgs = { inherit inputs outputs; };
}; };
jeeves = lib.nixosSystem { jeeves = lib.nixosSystem {
modules = [ modules = [
./systems/jeeves ./systems/jeeves
]; ];
specialArgs = {inherit inputs outputs;}; specialArgs = { inherit inputs outputs; };
}; };
rhapsody-in-green = lib.nixosSystem { rhapsody-in-green = lib.nixosSystem {
modules = [ modules = [
./systems/rhapsody-in-green ./systems/rhapsody-in-green
]; ];
specialArgs = {inherit inputs outputs;}; specialArgs = { inherit inputs outputs; };
};
}; };
}; };
};
} }

View File

@@ -1,4 +1,5 @@
{inputs, ...}: { { inputs, ... }:
{
# When applied, the stable nixpkgs set (declared in the flake inputs) will be accessible through 'pkgs.stable' # When applied, the stable nixpkgs set (declared in the flake inputs) will be accessible through 'pkgs.stable'
stable = final: _prev: { stable = final: _prev: {
stable = import inputs.nixpkgs-stable { stable = import inputs.nixpkgs-stable {

View File

@@ -1,4 +1,8 @@
{pkgs ? import <nixpkgs> {}, ...}: { {
pkgs ? import <nixpkgs> { },
...
}:
{
default = pkgs.mkShell { default = pkgs.mkShell {
NIX_CONFIG = "extra-experimental-features = nix-command flakes ca-derivations"; NIX_CONFIG = "extra-experimental-features = nix-command flakes ca-derivations";
nativeBuildInputs = with pkgs; [ nativeBuildInputs = with pkgs; [

View File

@@ -66,4 +66,4 @@
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
} }

View File

@@ -2,7 +2,7 @@
services = { services = {
ollama = { ollama = {
enable = true; enable = true;
loadModels = [ loadModels = [
"codellama:7b" "codellama:7b"
"deepseek-r1:1.5b" "deepseek-r1:1.5b"
"deepseek-r1:7b" "deepseek-r1:7b"
@@ -19,6 +19,6 @@
enable = true; enable = true;
openFirewall = true; openFirewall = true;
host = "192.168.90.25"; host = "192.168.90.25";
}; };
}; };
} }

View File

@@ -1,4 +1,4 @@
{ {
services.syncthing.settings.folders = { services.syncthing.settings.folders = {
"dotfiles" = { "dotfiles" = {
path = "/home/richie/dotfiles"; path = "/home/richie/dotfiles";

View File

@@ -3,8 +3,15 @@ let
in in
{ {
networking.firewall = { networking.firewall = {
allowedTCPPorts = [ 6881 8082 29432 ]; allowedTCPPorts = [
allowedUDPPorts = [ 6881 29432 ]; 6881
8082
29432
];
allowedUDPPorts = [
6881
29432
];
}; };
virtualisation.oci-containers.containers.qbit = { virtualisation.oci-containers.containers.qbit = {
image = "ghcr.io/linuxserver/qbittorrent:5.0.2"; image = "ghcr.io/linuxserver/qbittorrent:5.0.2";

View File

@@ -3,7 +3,11 @@ let
in in
{ {
networking.firewall = { networking.firewall = {
allowedTCPPorts = [ 6882 8081 8118 ]; allowedTCPPorts = [
6882
8081
8118
];
allowedUDPPorts = [ 6882 ]; allowedUDPPorts = [ 6882 ];
}; };
virtualisation.oci-containers.containers.qbitvpn = { virtualisation.oci-containers.containers.qbitvpn = {
@@ -36,7 +40,7 @@ in
DELUGE_DAEMON_LOG_LEVEL = "debug"; DELUGE_DAEMON_LOG_LEVEL = "debug";
DELUGE_WEB_LOG_LEVEL = "debug"; DELUGE_WEB_LOG_LEVEL = "debug";
}; };
environmentFiles = ["${vars.storage_secrets}/docker/qbitvpn"]; environmentFiles = [ "${vars.storage_secrets}/docker/qbitvpn" ];
autoStart = true; autoStart = true;
}; };
} }

View File

@@ -1,6 +1,11 @@
{ config, lib, modulesPath, ... }:
{ {
imports =[ (modulesPath + "/installer/scan/not-detected.nix") ]; config,
lib,
modulesPath,
...
}:
{
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
boot = { boot = {
loader = { loader = {
@@ -88,22 +93,32 @@
bypassWorkqueues = true; bypassWorkqueues = true;
allowDiscards = true; allowDiscards = true;
}; };
"luks-storage_pool-wwn-0x5000cca23bc438dd-part1".device = "/dev/disk/by-id/wwn-0x5000cca23bc438dd-part1"; "luks-storage_pool-wwn-0x5000cca23bc438dd-part1".device =
"luks-storage_pool-wwn-0x5000cca23bd035f5-part1".device = "/dev/disk/by-id/wwn-0x5000cca23bd035f5-part1"; "/dev/disk/by-id/wwn-0x5000cca23bc438dd-part1";
"luks-storage_pool-wwn-0x5000cca23bd00ad6-part1".device = "/dev/disk/by-id/wwn-0x5000cca23bd00ad6-part1"; "luks-storage_pool-wwn-0x5000cca23bd035f5-part1".device =
"luks-storage_pool-wwn-0x5000cca23bcf313e-part1".device = "/dev/disk/by-id/wwn-0x5000cca23bcf313e-part1"; "/dev/disk/by-id/wwn-0x5000cca23bd035f5-part1";
"luks-storage_pool-wwn-0x5000cca23bcdf3b8-part1".device = "/dev/disk/by-id/wwn-0x5000cca23bcdf3b8-part1"; "luks-storage_pool-wwn-0x5000cca23bd00ad6-part1".device =
"luks-storage_pool-wwn-0x5000cca23bd02746-part1".device = "/dev/disk/by-id/wwn-0x5000cca23bd02746-part1"; "/dev/disk/by-id/wwn-0x5000cca23bd00ad6-part1";
"luks-storage_pool-wwn-0x5000cca23bcf9f89-part1".device = "/dev/disk/by-id/wwn-0x5000cca23bcf9f89-part1"; "luks-storage_pool-wwn-0x5000cca23bcf313e-part1".device =
"luks-storage_pool-wwn-0x5000cca23bd00ae9-part1".device = "/dev/disk/by-id/wwn-0x5000cca23bd00ae9-part1"; "/dev/disk/by-id/wwn-0x5000cca23bcf313e-part1";
"luks-storage_pool-wwn-0x5000cca23bcdf3b8-part1".device =
"/dev/disk/by-id/wwn-0x5000cca23bcdf3b8-part1";
"luks-storage_pool-wwn-0x5000cca23bd02746-part1".device =
"/dev/disk/by-id/wwn-0x5000cca23bd02746-part1";
"luks-storage_pool-wwn-0x5000cca23bcf9f89-part1".device =
"/dev/disk/by-id/wwn-0x5000cca23bcf9f89-part1";
"luks-storage_pool-wwn-0x5000cca23bd00ae9-part1".device =
"/dev/disk/by-id/wwn-0x5000cca23bd00ae9-part1";
# Torrenting pool # Torrenting pool
"luks-torrenting_pool-wwn-0x500a0751e6c3c01e-part1" = { "luks-torrenting_pool-wwn-0x500a0751e6c3c01e-part1" = {
device = "/dev/disk/by-id/wwn-0x500a0751e6c3c01e-part1"; device = "/dev/disk/by-id/wwn-0x500a0751e6c3c01e-part1";
bypassWorkqueues = true; bypassWorkqueues = true;
allowDiscards = true; allowDiscards = true;
}; };
"luks-torrenting_pool-wwn-0x5000cca264f080a3-part1".device = "/dev/disk/by-id/wwn-0x5000cca264f080a3-part1"; "luks-torrenting_pool-wwn-0x5000cca264f080a3-part1".device =
"luks-torrenting_pool-wwn-0x5000cca298c33ae5-part1".device = "/dev/disk/by-id/wwn-0x5000cca298c33ae5-part1"; "/dev/disk/by-id/wwn-0x5000cca264f080a3-part1";
"luks-torrenting_pool-wwn-0x5000cca298c33ae5-part1".device =
"/dev/disk/by-id/wwn-0x5000cca298c33ae5-part1";
# cspell:enable # cspell:enable
}; };
}; };
@@ -122,8 +137,8 @@
fsType = "zfs"; fsType = "zfs";
}; };
"/nix" = "/nix" = {
{ device = "root_pool/nix"; device = "root_pool/nix";
fsType = "zfs"; fsType = "zfs";
}; };
@@ -146,7 +161,7 @@
options = [ options = [
"fmask=0077" "fmask=0077"
"dmask=0077" "dmask=0077"
]; ];
}; };
}; };

View File

@@ -12,7 +12,7 @@
"10-1GB_Primary" = { "10-1GB_Primary" = {
matchConfig.Name = "enp98s0f0"; matchConfig.Name = "enp98s0f0";
address = [ "192.168.95.14/24" ]; address = [ "192.168.95.14/24" ];
routes = [{ Gateway = "192.168.95.1"; }]; routes = [ { Gateway = "192.168.95.1"; } ];
linkConfig.RequiredForOnline = "routable"; linkConfig.RequiredForOnline = "routable";
}; };
"10-1GB_Secondary" = { "10-1GB_Secondary" = {

View File

@@ -14,7 +14,6 @@
}; };
groups.github-runners.gid = 601; groups.github-runners.gid = 601;
}; };
services.nix_builder.containers = { services.nix_builder.containers = {
nix-builder-0.enable = true; nix-builder-0.enable = true;

View File

@@ -7,14 +7,20 @@ let
in in
{ {
options.services.nix_builder.containers = mkOption { options.services.nix_builder.containers = mkOption {
type = types.attrsOf (types.submodule ({ name, ... }: { type = types.attrsOf (
options.enable = mkEnableOption "GitHub runner container"; types.submodule (
})); { name, ... }:
default = {}; {
options.enable = mkEnableOption "GitHub runner container";
}
)
);
default = { };
description = "GitHub runner container configurations"; description = "GitHub runner container configurations";
}; };
config.containers = mapAttrs (name: cfg: config.containers = mapAttrs (
name: cfg:
mkIf cfg.enable { mkIf cfg.enable {
autoStart = true; autoStart = true;
bindMounts = { bindMounts = {
@@ -25,7 +31,14 @@ in
"/secrets".mountPoint = "${vars.storage_secrets}/services/github-runners/${name}"; "/secrets".mountPoint = "${vars.storage_secrets}/services/github-runners/${name}";
"ssh-keys".mountPoint = "${vars.storage_secrets}/services/github-runners/id_ed25519_github-runners"; "ssh-keys".mountPoint = "${vars.storage_secrets}/services/github-runners/id_ed25519_github-runners";
}; };
config = { config, pkgs, lib, ... }: { config =
{
config,
pkgs,
lib,
...
}:
{
nix.settings = { nix.settings = {
trusted-substituters = [ trusted-substituters = [
"https://cache.nixos.org" "https://cache.nixos.org"
@@ -65,7 +78,10 @@ in
tokenFile = "${vars.storage_secrets}/services/github-runners/${name}"; tokenFile = "${vars.storage_secrets}/services/github-runners/${name}";
user = "github-runners"; user = "github-runners";
group = "github-runners"; group = "github-runners";
extraPackages = with pkgs; [ nixos-rebuild openssh ]; extraPackages = with pkgs; [
nixos-rebuild
openssh
];
}; };
users = { users = {
users.github-runners = { users.github-runners = {
@@ -77,7 +93,7 @@ in
groups.github-runners.gid = 601; groups.github-runners.gid = 601;
}; };
system.stateVersion = "24.11"; system.stateVersion = "24.11";
}; };
} }
) config.services.nix_builder.containers; ) config.services.nix_builder.containers;
} }

View File

@@ -8,6 +8,7 @@ in
openFirewall = true; openFirewall = true;
host = "192.168.90.40"; host = "192.168.90.40";
}; };
systemd.services.audiobookshelf.serviceConfig.WorkingDirectory = lib.mkForce "${vars.media_docker_configs}/audiobookshelf"; systemd.services.audiobookshelf.serviceConfig.WorkingDirectory =
lib.mkForce "${vars.media_docker_configs}/audiobookshelf";
users.users.audiobookshelf.home = lib.mkForce "${vars.media_docker_configs}/audiobookshelf"; users.users.audiobookshelf.home = lib.mkForce "${vars.media_docker_configs}/audiobookshelf";
} }

View File

@@ -15,4 +15,3 @@ in
}; };
}; };
} }

View File

@@ -1,8 +1,11 @@
{ {
networking.firewall.allowedTCPPorts = [ 80 443 ]; networking.firewall.allowedTCPPorts = [
80
443
];
services.haproxy = { services.haproxy = {
enable = true; enable = true;
config = builtins.readFile ./haproxy.cfg; config = builtins.readFile ./haproxy.cfg;
}; };
} }

View File

@@ -2,7 +2,7 @@ let
vars = import ../vars.nix; vars = import ../vars.nix;
in in
{ {
services ={ services = {
home-assistant = { home-assistant = {
enable = true; enable = true;
openFirewall = true; openFirewall = true;
@@ -62,9 +62,9 @@ in
extraComponents = [ "isal" ]; extraComponents = [ "isal" ];
}; };
esphome = { esphome = {
enable = true; enable = true;
openFirewall = true; openFirewall = true;
address = "192.168.90.40"; address = "192.168.90.40";
}; };
}; };
} }

View File

@@ -16,7 +16,7 @@ in
#type database DBuser origin-address auth-method #type database DBuser origin-address auth-method
local all all trust local all all trust
# ipv4 # ipv4
host all all 127.0.0.1/32 trust host all all 127.0.0.1/32 trust
host all all 192.168.90.1/24 trust host all all 192.168.90.1/24 trust

View File

@@ -2,8 +2,8 @@ let
vars = import ./vars.nix; vars = import ./vars.nix;
in in
{ {
networking.firewall.allowedTCPPorts = [ 8384 ]; networking.firewall.allowedTCPPorts = [ 8384 ];
services.syncthing = { services.syncthing = {
guiAddress = "192.168.90.40:8384"; guiAddress = "192.168.90.40:8384";
settings = { settings = {
@@ -77,7 +77,7 @@ in
]; ];
fsWatcherEnabled = true; fsWatcherEnabled = true;
}; };
# #
"davids-backup1" = { "davids-backup1" = {
id = "8229p-8z3tm"; # cspell:disable-line id = "8229p-8z3tm"; # cspell:disable-line
path = "${vars.storage_syncthing}/davids_backups/1"; path = "${vars.storage_syncthing}/davids_backups/1";

View File

@@ -11,7 +11,7 @@ in
media_docker_configs = "${zfs_media}/docker/configs"; media_docker_configs = "${zfs_media}/docker/configs";
media_mirror = "${zfs_media}/mirror"; media_mirror = "${zfs_media}/mirror";
media_share = "${zfs_media}/share"; media_share = "${zfs_media}/share";
media_services = "${zfs_media}/services"; media_services = "${zfs_media}/services";
media_notes = "${zfs_media}/notes"; media_notes = "${zfs_media}/notes";
media_plex = "${zfs_media}/plex"; media_plex = "${zfs_media}/plex";
media_home_assistant = "${zfs_media}/home_assistant"; media_home_assistant = "${zfs_media}/home_assistant";

View File

@@ -26,7 +26,7 @@
services = { services = {
openssh.ports = [ 922 ]; openssh.ports = [ 922 ];
desktopManager.cosmic.enable = true; desktopManager.cosmic.enable = true;
}; };
system.stateVersion = "24.05"; system.stateVersion = "24.05";

View File

@@ -1,4 +1,9 @@
{ config, lib, modulesPath, ... }: {
config,
lib,
modulesPath,
...
}:
{ {
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];

View File

@@ -1,4 +1,4 @@
{ {
services.syncthing.settings.folders = { services.syncthing.settings.folders = {
"dotfiles" = { "dotfiles" = {
path = "/home/richie/dotfiles"; path = "/home/richie/dotfiles";

View File

@@ -266,7 +266,7 @@ def installer(
if encrypt_key: if encrypt_key:
pool_disks = [ pool_disks = [
f'/dev/mapper/luks-root-pool-{disk.split("/")[-1]}-part2' for disk in disks f"/dev/mapper/luks-root-pool-{disk.split('/')[-1]}-part2" for disk in disks
] ]
else: else:
pool_disks = [f"{disk}-part2" for disk in disks] pool_disks = [f"{disk}-part2" for disk in disks]
@@ -448,7 +448,7 @@ def draw_device_menu(
type_padding = calculate_device_menu_padding(devices, "type", padding) type_padding = calculate_device_menu_padding(devices, "type", padding)
mountpoints_padding = calculate_device_menu_padding(devices, "mountpoints", padding) mountpoints_padding = calculate_device_menu_padding(devices, "mountpoints", padding)
device_header = f"{"Name":{name_padding}}{"Size":{size_padding}}{"Type":{type_padding}}{"Mountpoints":{mountpoints_padding}}" device_header = f"{'Name':{name_padding}}{'Size':{size_padding}}{'Type':{type_padding}}{'Mountpoints':{mountpoints_padding}}"
menu_width = range(menu_start_x, len(device_header) + menu_start_x) menu_width = range(menu_start_x, len(device_header) + menu_start_x)

View File

@@ -2,7 +2,7 @@
pkgs, pkgs,
config, config,
... ...
}: }:
{ {
sops.secrets.gaming_password = { sops.secrets.gaming_password = {
sopsFile = ../secrets.yaml; sopsFile = ../secrets.yaml;
@@ -16,8 +16,7 @@
shell = pkgs.zsh; shell = pkgs.zsh;
group = "gaming"; group = "gaming";
extraGroups = extraGroups = [
[
"audio" "audio"
"video" "video"
"users" "users"
@@ -27,5 +26,5 @@
groups.gaming.gid = 1100; groups.gaming.gid = 1100;
}; };
home-manager.users.gaming = import ./systems/${config.networking.hostName}.nix; home-manager.users.gaming = import ./systems/${config.networking.hostName}.nix;
} }

View File

@@ -137,7 +137,8 @@
"permissions.default.desktop-notification" = 0; # allow websites to ask "permissions.default.desktop-notification" = 0; # allow websites to ask
# PREF: allow websites to ask you for your location # PREF: allow websites to ask you for your location
"permissions.default.geo" = 0; "permissions.default.geo" = 0;
"geo.provider.network.url" = "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%"; "geo.provider.network.url" =
"https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%";
"permissions.manager.defaultsUrl" = ""; "permissions.manager.defaultsUrl" = "";
"webchannel.allowObject.urlWhitelist" = ""; "webchannel.allowObject.urlWhitelist" = "";

View File

@@ -2,9 +2,11 @@
pkgs, pkgs,
config, config,
... ...
}: let }:
let
ifTheyExist = groups: builtins.filter (group: builtins.hasAttr group config.users.groups) groups; ifTheyExist = groups: builtins.filter (group: builtins.hasAttr group config.users.groups) groups;
in { in
{
sops.secrets.richie_password = { sops.secrets.richie_password = {
sopsFile = ../secrets.yaml; sopsFile = ../secrets.yaml;
@@ -23,28 +25,28 @@ in {
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJYZFsc9CSH03ZUP7y81AHwSyjLwFmcshVFCyxDcYhBT rhapsody-in-green" # cspell:disable-line "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJYZFsc9CSH03ZUP7y81AHwSyjLwFmcshVFCyxDcYhBT rhapsody-in-green" # cspell:disable-line
]; ];
extraGroups = extraGroups =
[ [
"audio" "audio"
"video" "video"
"wheel" "wheel"
"users" "users"
] ]
++ ifTheyExist [ ++ ifTheyExist [
"dialout" "dialout"
"docker" "docker"
"hass" "hass"
"libvirtd" "libvirtd"
"networkmanager" "networkmanager"
"plugdev" "plugdev"
"scanner" "scanner"
"uaccess" "uaccess"
"wireshark" "wireshark"
]; ];
uid = 1000; uid = 1000;
}; };
groups.richie.gid = 1000; groups.richie.gid = 1000;
}; };
home-manager.users.richie = import ./systems/${config.networking.hostName}.nix; home-manager.users.richie = import ./systems/${config.networking.hostName}.nix;
} }

View File

@@ -17,7 +17,11 @@
search = { search = {
force = true; force = true;
default = "kagi"; default = "kagi";
order = [ "kagi" "DuckDuckGo" "Google" ]; order = [
"kagi"
"DuckDuckGo"
"Google"
];
}; };
settings = { settings = {
# SECTION: FASTFOX # SECTION: FASTFOX
@@ -138,7 +142,8 @@
"permissions.default.desktop-notification" = 0; # allow websites to ask "permissions.default.desktop-notification" = 0; # allow websites to ask
# PREF: allow websites to ask you for your location # PREF: allow websites to ask you for your location
"permissions.default.geo" = 0; "permissions.default.geo" = 0;
"geo.provider.network.url" = "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%"; "geo.provider.network.url" =
"https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%";
"permissions.manager.defaultsUrl" = ""; "permissions.manager.defaultsUrl" = "";
"webchannel.allowObject.urlWhitelist" = ""; "webchannel.allowObject.urlWhitelist" = "";

View File

@@ -1,4 +1,5 @@
{pkgs, ...}: { { pkgs, ... }:
{
programs.kitty = { programs.kitty = {
enable = true; enable = true;
font.name = "IntoneMono Nerd Font"; font.name = "IntoneMono Nerd Font";

View File

@@ -4,8 +4,10 @@ let
in in
{ {
# mutable symlinks to key binds and settings # mutable symlinks to key binds and settings
xdg.configFile."Code/User/settings.json".source = config.lib.file.mkOutOfStoreSymlink "${vscode_dir}/settings.json"; xdg.configFile."Code/User/settings.json".source =
xdg.configFile."Code/User/keybindings.json".source = config.lib.file.mkOutOfStoreSymlink "${vscode_dir}/keybindings.json"; config.lib.file.mkOutOfStoreSymlink "${vscode_dir}/settings.json";
xdg.configFile."Code/User/keybindings.json".source =
config.lib.file.mkOutOfStoreSymlink "${vscode_dir}/keybindings.json";
home.packages = with pkgs; [ nil ]; home.packages = with pkgs; [ nil ];