nixfmt everything

This commit is contained in:
rotterdam 2023-04-03 11:01:56 -03:00
parent dbf843d70f
commit d92420451d
30 changed files with 383 additions and 330 deletions

View file

@ -5,39 +5,51 @@
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-22.11"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-22.11";
home-manager = { url = "github:nix-community/home-manager/master"; inputs.nixpkgs.follows = "nixpkgs"; }; home-manager = {
home-manager-stable = { url = "github:nix-community/home-manager/release-22.11"; inputs.nixpkgs.follows = "nixpkgs-stable"; }; url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager-stable = {
url = "github:nix-community/home-manager/release-22.11";
inputs.nixpkgs.follows = "nixpkgs-stable";
};
baduhai-nur.url = "github:baduhai/nur"; baduhai-nur.url = "github:baduhai/nur";
kmonad = { url = "github:kmonad/kmonad?dir=nix"; inputs.nixpkgs.follows = "nixpkgs"; }; kmonad = {
url = "github:kmonad/kmonad?dir=nix";
deploy-rs = { url = "github:serokell/deploy-rs"; inputs.nixpkgs.follows = "nixpkgs"; }; inputs.nixpkgs.follows = "nixpkgs";
agenix = { url = "github:ryantm/agenix"; inputs.nixpkgs.follows = "nixpkgs"; };
nixos-generators = { url = "github:nix-community/nixos-generators"; inputs.nixpkgs.follows = "nixpkgs-stable"; };
homepage = { url = "github:baduhai/homepage"; flake = false; };
dotfiles = { url = "github:baduhai/dotfiles"; flake = false; };
}; };
outputs = inputs @ { deploy-rs = {
self, url = "github:serokell/deploy-rs";
nixpkgs, inputs.nixpkgs.follows = "nixpkgs";
home-manager, };
baduhai-nur,
kmonad, agenix = {
nixpkgs-stable, url = "github:ryantm/agenix";
home-manager-stable, inputs.nixpkgs.follows = "nixpkgs";
deploy-rs, };
agenix,
nixos-generators, nixos-generators = {
homepage, url = "github:nix-community/nixos-generators";
dotfiles, inputs.nixpkgs.follows = "nixpkgs-stable";
... };
}: {
homepage = {
url = "github:baduhai/homepage";
flake = false;
};
dotfiles = {
url = "github:baduhai/dotfiles";
flake = false;
};
};
outputs = inputs@{ self, nixpkgs, home-manager, baduhai-nur, kmonad
, nixpkgs-stable, home-manager-stable, deploy-rs, agenix, nixos-generators
, homepage, dotfiles, ... }: {
nixosConfigurations = { nixosConfigurations = {
rotterdam = nixpkgs.lib.nixosSystem { rotterdam = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
@ -47,7 +59,10 @@
agenix.nixosModules.default agenix.nixosModules.default
kmonad.nixosModules.default kmonad.nixosModules.default
home-manager.nixosModules.default home-manager.nixosModules.default
{ nixpkgs.overlays = [ baduhai-nur.overlay agenix.overlays.default ]; } {
nixpkgs.overlays =
[ baduhai-nur.overlay agenix.overlays.default ];
}
]; ];
}; };
@ -59,7 +74,10 @@
agenix.nixosModules.default agenix.nixosModules.default
kmonad.nixosModules.default kmonad.nixosModules.default
home-manager.nixosModules.default home-manager.nixosModules.default
{ nixpkgs.overlays = [ baduhai-nur.overlay agenix.overlays.default ]; } {
nixpkgs.overlays =
[ baduhai-nur.overlay agenix.overlays.default ];
}
]; ];
}; };
@ -76,10 +94,7 @@
unstable-overlay = final: prev: { unstable-overlay = final: prev: {
unstable = nixpkgs.legacyPackages.x86_64-linux; unstable = nixpkgs.legacyPackages.x86_64-linux;
}; };
in { in { nixpkgs.overlays = [ unstable-overlay ]; })
nixpkgs.overlays = [ unstable-overlay ];
}
)
]; ];
}; };
}; };
@ -94,7 +109,8 @@
hostname = "alexandria"; hostname = "alexandria";
profiles.system = { profiles.system = {
remoteBuild = true; remoteBuild = true;
path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.alexandria; path = deploy-rs.lib.x86_64-linux.activate.nixos
self.nixosConfigurations.alexandria;
}; };
}; };
}; };
@ -105,9 +121,11 @@
packages.x86_64-linux = { packages.x86_64-linux = {
install-iso = nixos-generators.nixosGenerate { install-iso = nixos-generators.nixosGenerate {
system = "x86_64-linux"; system = "x86_64-linux";
modules = [ modules = [{
{users.users.nixos.openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKcwF1yuWEfYGScNocEbs0AmGxyTIzGc4/IhpU587SJE" ];} users.users.nixos.openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKcwF1yuWEfYGScNocEbs0AmGxyTIzGc4/IhpU587SJE"
]; ];
}];
format = "install-iso"; format = "install-iso";
}; };
}; };

View file

@ -18,9 +18,7 @@
tree tree
wget wget
# Package overrides # Package overrides
(nnn.override { (nnn.override { withNerdIcons = true; })
withNerdIcons = true;
})
]; ];
programs = { programs = {

View file

@ -5,13 +5,12 @@
user = { user = {
isNormalUser = true; isNormalUser = true;
shell = pkgs.fish; shell = pkgs.fish;
extraGroups = [ extraGroups = [ "networkmanager" "docker" "wheel" ];
"networkmanager" openssh.authorizedKeys.keys = [
"docker" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKcwF1yuWEfYGScNocEbs0AmGxyTIzGc4/IhpU587SJE"
"wheel"
]; ];
openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKcwF1yuWEfYGScNocEbs0AmGxyTIzGc4/IhpU587SJE" ]; hashedPassword =
hashedPassword = "$6$Pj7v/CpstyuWQQV0$cNujVDhfMBdwlGVEnnd8t71.kZPixbo0u25cd.874iaqLTH4V5fa1f98V5zGapjQCz5JyZmsR94xi00sUrntT0"; "$6$Pj7v/CpstyuWQQV0$cNujVDhfMBdwlGVEnnd8t71.kZPixbo0u25cd.874iaqLTH4V5fa1f98V5zGapjQCz5JyZmsR94xi00sUrntT0";
}; };
root = { root = {
shell = pkgs.fish; shell = pkgs.fish;

View file

@ -10,9 +10,7 @@
extraModprobeConfig = '' extraModprobeConfig = ''
options bluetooth disable_ertm=1 options bluetooth disable_ertm=1
''; '';
kernel.sysctl = { kernel.sysctl = { "net.ipv4.tcp_mtu_probing" = 1; };
"net.ipv4.tcp_mtu_probing" = 1;
};
kernelParams = [ kernelParams = [
"quiet" "quiet"
"splash" "splash"

View file

@ -11,5 +11,6 @@
sound.enable = true; sound.enable = true;
security.rtkit.enable = true; # Needed for pipewire to acquire realtime priority security.rtkit.enable =
true; # Needed for pipewire to acquire realtime priority
} }

View file

@ -19,10 +19,10 @@
fzf fzf
gimp gimp
gocryptfs gocryptfs
# helvum # helvum
heroic heroic
inkscape inkscape
# itch # Currently using unsafe electron version # itch # Currently using unsafe electron version
jellyfin-media-player jellyfin-media-player
junction junction
kolourpaint kolourpaint
@ -42,7 +42,7 @@
prismlauncher-qt5 prismlauncher-qt5
protontricks protontricks
protonup protonup
# prusa-slicer # prusa-slicer
qbittorrent qbittorrent
quickemu quickemu
qview qview
@ -62,9 +62,7 @@
wezterm wezterm
yubikey-personalization-gui yubikey-personalization-gui
# Package overrides # Package overrides
(appimage-run.override { (appimage-run.override { extraPkgs = pkgs: [ libthai ]; })
extraPkgs = pkgs: [ libthai ];
})
# Packages from 3rd party overlays # Packages from 3rd party overlays
agenix agenix
chatterino7 chatterino7
@ -95,11 +93,6 @@
]; ];
}; };
environment.plasma5.excludePackages = ( with pkgs.plasma5Packages; [ environment.plasma5.excludePackages =
elisa (with pkgs.plasma5Packages; [ elisa gwenview oxygen khelpcenter konsole ]);
gwenview
oxygen
khelpcenter
konsole
]);
} }

View file

@ -4,9 +4,8 @@ let
plasma = pkgs.writeScriptBin "plasma" '' plasma = pkgs.writeScriptBin "plasma" ''
${pkgs.plasma-workspace}/bin/startplasma-wayland &> /dev/null ${pkgs.plasma-workspace}/bin/startplasma-wayland &> /dev/null
''; '';
in
{ in {
services = { services = {
printing.enable = true; printing.enable = true;
pipewire = { pipewire = {
@ -23,14 +22,15 @@ in
layout = "us"; layout = "us";
xkbVariant = "altgr-intl"; xkbVariant = "altgr-intl";
exportConfiguration = true; exportConfiguration = true;
excludePackages = ( with pkgs; [ xterm ]); excludePackages = (with pkgs; [ xterm ]);
displayManager.startx.enable = true; displayManager.startx.enable = true;
desktopManager.plasma5.enable = true; desktopManager.plasma5.enable = true;
}; };
greetd = { greetd = {
enable = true; enable = true;
settings = { settings = {
default_session.command = "${pkgs.greetd.tuigreet}/bin/tuigreet --remember --user-menu --asterisks --time --greeting \"Welcome to NixOS\" --cmd ${plasma}/bin/plasma"; default_session.command = ''
${pkgs.greetd.tuigreet}/bin/tuigreet --remember --user-menu --asterisks --time --greeting "Welcome to NixOS" --cmd ${plasma}/bin/plasma'';
initial_session = { initial_session = {
command = "${plasma}/bin/plasma"; command = "${plasma}/bin/plasma";
user = "user"; user = "user";

View file

@ -2,8 +2,10 @@
{ {
environment.sessionVariables = rec { environment.sessionVariables = rec {
KDEHOME = "$XDG_CONFIG_HOME/kde4"; # Stops kde from placing a .kde4 folder in the home dir KDEHOME =
NIXOS_OZONE_WL = "1"; # Forces chromium and most electron apps to run in wayland "$XDG_CONFIG_HOME/kde4"; # Stops kde from placing a .kde4 folder in the home dir
NIXOS_OZONE_WL =
"1"; # Forces chromium and most electron apps to run in wayland
}; };
users.users.user = { users.users.user = {

View file

@ -20,11 +20,7 @@
}; };
boot = { boot = {
kernelParams = [ kernelParams = [ "nosgx" "i915.fastboot=1" "mem_sleep_default=deep" ];
"nosgx"
"i915.fastboot=1"
"mem_sleep_default=deep"
];
kernelModules = [ kernelModules = [
"i2c-dev" # Required for arduino dev "i2c-dev" # Required for arduino dev
"i2c-piix4" # Required for arduino dev "i2c-piix4" # Required for arduino dev

View file

@ -1,7 +1,5 @@
{ ... }: { ... }:
{ {
imports = [ imports = [ ./hardware-configuration.nix ];
./hardware-configuration.nix
];
} }

View file

@ -4,24 +4,24 @@
{ config, lib, pkgs, modulesPath, ... }: { config, lib, pkgs, modulesPath, ... }:
{ {
imports = imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usb_storage" "sd_mod" "sdhci_pci" ]; boot.initrd.availableKernelModules =
[ "xhci_pci" "ahci" "usb_storage" "sd_mod" "sdhci_pci" ];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ]; boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
fileSystems."/" = fileSystems."/" = {
{ device = "/dev/disk/by-uuid/2321ee32-a952-4a4b-bba0-bb25f616a4a5"; device = "/dev/disk/by-uuid/2321ee32-a952-4a4b-bba0-bb25f616a4a5";
fsType = "ext4"; fsType = "ext4";
}; };
boot.initrd.luks.devices."luks-008bb7cb-917c-4dda-93fe-542c2285bafb".device = "/dev/disk/by-uuid/008bb7cb-917c-4dda-93fe-542c2285bafb"; boot.initrd.luks.devices."luks-008bb7cb-917c-4dda-93fe-542c2285bafb".device =
"/dev/disk/by-uuid/008bb7cb-917c-4dda-93fe-542c2285bafb";
fileSystems."/boot/efi" = fileSystems."/boot/efi" = {
{ device = "/dev/disk/by-uuid/36B4-C473"; device = "/dev/disk/by-uuid/36B4-C473";
fsType = "vfat"; fsType = "vfat";
}; };
@ -35,5 +35,6 @@
# networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true; # networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true;
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.cpu.intel.updateMicrocode =
lib.mkDefault config.hardware.enableRedistributableFirmware;
} }

View file

@ -18,13 +18,9 @@
systemd.targets.hibernate.enable = false; # disable non-functional hibernate systemd.targets.hibernate.enable = false; # disable non-functional hibernate
nix.nixPath = [ nix.nixPath = [ "nixos-config=${./rotterdam.nix}" ];
"nixos-config=${./rotterdam.nix}"
];
users.users.user.extraGroups = [ users.users.user.extraGroups = [ "corectrl" ];
"corectrl"
];
boot.kernelParams = [ boot.kernelParams = [
"processor.max_cstate=1" # Fixes bug where ryzen cpus freeze when in highest C state "processor.max_cstate=1" # Fixes bug where ryzen cpus freeze when in highest C state
@ -32,7 +28,8 @@
]; ];
environment.sessionVariables = rec { environment.sessionVariables = rec {
KWIN_DRM_NO_AMS = "1"; # RDNA2 colour/gamma modesetting bug workaround for kwin wayland KWIN_DRM_NO_AMS =
"1"; # RDNA2 colour/gamma modesetting bug workaround for kwin wayland
}; };
programs = { programs = {
@ -45,17 +42,17 @@
cemu cemu
retroarchFull retroarchFull
rpcs3 rpcs3
# yuzu-ea # yuzu-ea
# Packages from 3rd party overlays # Packages from 3rd party overlays
emulationstation-de emulationstation-de
]; ];
networking.firewall = { networking.firewall = {
allowedTCPPorts =[ allowedTCPPorts = [
27036 # Steam remote play 27036 # Steam remote play
27037 # Steam remote play 27037 # Steam remote play
]; ];
allowedUDPPorts =[ allowedUDPPorts = [
27031 # Steam remote play 27031 # Steam remote play
27036 # Steam remote play 27036 # Steam remote play
]; ];

View file

@ -1,7 +1,5 @@
{ ... }: { ... }:
{ {
imports = [ imports = [ ./hardware-configuration.nix ];
./hardware-configuration.nix
];
} }

View file

@ -4,28 +4,26 @@
{ config, lib, pkgs, modulesPath, ... }: { config, lib, pkgs, modulesPath, ... }:
{ {
imports = imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; boot.initrd.availableKernelModules =
[ "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ]; boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
fileSystems."/" = fileSystems."/" = {
{ device = "/dev/disk/by-uuid/9ccbb9e3-addc-42a3-b5d8-1e81eed37548"; device = "/dev/disk/by-uuid/9ccbb9e3-addc-42a3-b5d8-1e81eed37548";
fsType = "ext4"; fsType = "ext4";
}; };
fileSystems."/boot/efi" = fileSystems."/boot/efi" = {
{ device = "/dev/disk/by-uuid/7707-0E25"; device = "/dev/disk/by-uuid/7707-0E25";
fsType = "vfat"; fsType = "vfat";
}; };
swapDevices = swapDevices =
[ { device = "/dev/disk/by-uuid/39005453-0ac9-4fee-bdd3-7ea9bb6f9ca6"; } [{ device = "/dev/disk/by-uuid/39005453-0ac9-4fee-bdd3-7ea9bb6f9ca6"; }];
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's # (the default) this is the recommended approach. When using systemd-networkd it's
@ -35,5 +33,6 @@
# networking.interfaces.enp34s0.useDHCP = lib.mkDefault true; # networking.interfaces.enp34s0.useDHCP = lib.mkDefault true;
# networking.interfaces.wlo1.useDHCP = lib.mkDefault true; # networking.interfaces.wlo1.useDHCP = lib.mkDefault true;
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.cpu.amd.updateMicrocode =
lib.mkDefault config.hardware.enableRedistributableFirmware;
} }

View file

@ -8,51 +8,27 @@
containers = { containers = {
"actual" = { "actual" = {
image = "jlongster/actual-server:latest"; image = "jlongster/actual-server:latest";
ports = [ ports = [ "${config.ports.actual}:5006" ];
"${config.ports.actual}:5006" volumes = [ "/data/actual:/data" ];
]; extraOptions = [ "--pull=always" ];
volumes = [
"/data/actual:/data"
];
extraOptions = [
"--pull=always"
];
}; };
"cinny" = { "cinny" = {
image = "ghcr.io/cinnyapp/cinny:latest"; image = "ghcr.io/cinnyapp/cinny:latest";
ports = [ ports = [ "${config.ports.cinny}:80" ];
"${config.ports.cinny}:80" volumes = [ "/data/matrix/cinny-config.json:/app/config.json" ];
]; extraOptions = [ "--pull=always" ];
volumes = [
"/data/matrix/cinny-config.json:/app/config.json"
];
extraOptions = [
"--pull=always"
];
}; };
"cinny2" = { "cinny2" = {
image = "ghcr.io/cinnyapp/cinny:latest"; image = "ghcr.io/cinnyapp/cinny:latest";
ports = [ ports = [ "${config.ports.cinny2}:80" ];
"${config.ports.cinny2}:80" volumes = [ "/data/matrix/cinny-config.json:/app/config.json" ];
]; extraOptions = [ "--pull=always" ];
volumes = [
"/data/matrix/cinny-config.json:/app/config.json"
];
extraOptions = [
"--pull=always"
];
}; };
"librespeed" = { "librespeed" = {
image = "lscr.io/linuxserver/librespeed:latest"; image = "lscr.io/linuxserver/librespeed:latest";
environment = { environment = { TZ = "America/Bahia"; };
TZ = "America/Bahia"; ports = [ "${config.ports.librespeed}:80" ];
}; extraOptions = [ "--pull=always" ];
ports = [
"${config.ports.librespeed}:80"
];
extraOptions = [
"--pull=always"
];
}; };
"whoogle" = { "whoogle" = {
image = "benbusby/whoogle-search:latest"; image = "benbusby/whoogle-search:latest";
@ -63,12 +39,8 @@
WHOOGLE_CONFIG_VIEW_IMAGE = "1"; WHOOGLE_CONFIG_VIEW_IMAGE = "1";
WHOOGLE_CONFIG_GET_ONLY = "1"; WHOOGLE_CONFIG_GET_ONLY = "1";
}; };
ports = [ ports = [ "${config.ports.whoogle}:5000" ];
"${config.ports.whoogle}:5000" extraOptions = [ "--pull=always" ];
];
extraOptions = [
"--pull=always"
];
}; };
}; };
}; };

View file

@ -4,22 +4,21 @@
{ config, lib, pkgs, modulesPath, ... }: { config, lib, pkgs, modulesPath, ... }:
{ {
imports = imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; boot.initrd.availableKernelModules =
[ "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ]; boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
fileSystems."/" = fileSystems."/" = {
{ device = "/dev/disk/by-uuid/31289617-1d84-4432-a833-680b52e88525"; device = "/dev/disk/by-uuid/31289617-1d84-4432-a833-680b52e88525";
fsType = "ext4"; fsType = "ext4";
}; };
fileSystems."/boot" = fileSystems."/boot" = {
{ device = "/dev/disk/by-uuid/4130-BE54"; device = "/dev/disk/by-uuid/4130-BE54";
fsType = "vfat"; fsType = "vfat";
}; };
@ -33,7 +32,8 @@
# networking.interfaces.enp1s0.useDHCP = lib.mkDefault true; # networking.interfaces.enp1s0.useDHCP = lib.mkDefault true;
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.cpu.intel.updateMicrocode =
lib.mkDefault config.hardware.enableRedistributableFirmware;
# high-resolution display # high-resolution display
hardware.video.hidpi.enable = lib.mkDefault true; hardware.video.hidpi.enable = lib.mkDefault true;
} }

View file

@ -3,9 +3,7 @@
{ {
services.matrix-conduit = { services.matrix-conduit = {
enable = true; enable = true;
extraEnvironment = { extraEnvironment = { RUST_MIN_STACK = "16777216"; };
RUST_MIN_STACK = "16777216";
};
package = pkgs.unstable.matrix-conduit; package = pkgs.unstable.matrix-conduit;
settings.global = { settings.global = {
server_name = "baduhai.me"; server_name = "baduhai.me";

View file

@ -15,9 +15,7 @@
dnsProvider = "cloudflare"; dnsProvider = "cloudflare";
credentialsFile = config.age.secrets.cloudflare-creds.path; credentialsFile = config.age.secrets.cloudflare-creds.path;
}; };
certs."baduhai.me" = { certs."baduhai.me" = { extraDomainNames = [ "*.baduhai.me" ]; };
extraDomainNames = [ "*.baduhai.me" ];
};
}; };
boot.kernel.sysctl = { boot.kernel.sysctl = {

View file

@ -64,22 +64,108 @@
kTLS = true; kTLS = true;
root = inputs.homepage; root = inputs.homepage;
}; };
"bazarr.baduhai.me" = { useACMEHost = "baduhai.me"; forceSSL = true; kTLS = true; locations."/".proxyPass = "http://127.0.0.1:${config.ports.bazaar}"; }; "bazarr.baduhai.me" = {
"bitwarden.baduhai.me" = { useACMEHost = "baduhai.me"; forceSSL = true; kTLS = true; locations."/".proxyPass = "http://127.0.0.1:${config.ports.vaultwarden}"; }; useACMEHost = "baduhai.me";
"cinny.baduhai.me" = { useACMEHost = "baduhai.me"; forceSSL = true; kTLS = true; locations."/".proxyPass = "http://127.0.0.1:${config.ports.cinny}"; }; forceSSL = true;
"detect.baduhai.me" = { useACMEHost = "baduhai.me"; forceSSL = true; kTLS = true; locations."/".proxyPass = "http://127.0.0.1:${config.ports.changedetection-io}"; }; kTLS = true;
"jackett.baduhai.me" = { useACMEHost = "baduhai.me"; forceSSL = true; kTLS = true; locations."/".proxyPass = "http://127.0.0.1:${config.ports.jackett}"; }; locations."/".proxyPass = "http://127.0.0.1:${config.ports.bazaar}";
"jellyfin.baduhai.me" = { useACMEHost = "baduhai.me"; forceSSL = true; kTLS = true; locations."/".proxyPass = "http://127.0.0.1:${config.ports.jellyfin}"; }; };
"actual.baduhai.me" = { useACMEHost = "baduhai.me"; forceSSL = true; kTLS = true; locations."/".proxyPass = "http://127.0.0.1:${config.ports.actual}"; }; "bitwarden.baduhai.me" = {
"librespeed.baduhai.me" = { useACMEHost = "baduhai.me"; forceSSL = true; kTLS = true; locations."/".proxyPass = "http://127.0.0.1:${config.ports.librespeed}"; }; useACMEHost = "baduhai.me";
"n8n.baduhai.me" = { useACMEHost = "baduhai.me"; forceSSL = true; kTLS = true; locations."/".proxyPass = "http://127.0.0.1:${config.ports.n8n}"; }; forceSSL = true;
"paperless.baduhai.me" = { useACMEHost = "baduhai.me"; forceSSL = true; kTLS = true; locations."/".proxyPass = "http://127.0.0.1:${config.ports.paperless}"; }; kTLS = true;
"qbittorrent.baduhai.me" = { useACMEHost = "baduhai.me"; forceSSL = true; kTLS = true; locations."/".proxyPass = "http://127.0.0.1:${config.ports.qbittorrent}"; }; locations."/".proxyPass =
"radarr.baduhai.me" = { useACMEHost = "baduhai.me"; forceSSL = true; kTLS = true; locations."/".proxyPass = "http://127.0.0.1:${config.ports.radarr}"; }; "http://127.0.0.1:${config.ports.vaultwarden}";
"shiori.baduhai.me" = { useACMEHost = "baduhai.me"; forceSSL = true; kTLS = true; locations."/".proxyPass = "http://127.0.0.1:${config.ports.shiori}"; }; };
"sonarr.baduhai.me" = { useACMEHost = "baduhai.me"; forceSSL = true; kTLS = true; locations."/".proxyPass = "http://127.0.0.1:${config.ports.sonarr}"; }; "cinny.baduhai.me" = {
"sync.baduhai.me" = { useACMEHost = "baduhai.me"; forceSSL = true; kTLS = true; locations."/".proxyPass = "http://127.0.0.1:${config.ports.syncthing}"; }; useACMEHost = "baduhai.me";
"whoogle.baduhai.me" = { useACMEHost = "baduhai.me"; forceSSL = true; kTLS = true; locations."/".proxyPass = "http://127.0.0.1:${config.ports.whoogle}"; }; forceSSL = true;
kTLS = true;
locations."/".proxyPass = "http://127.0.0.1:${config.ports.cinny}";
};
"detect.baduhai.me" = {
useACMEHost = "baduhai.me";
forceSSL = true;
kTLS = true;
locations."/".proxyPass =
"http://127.0.0.1:${config.ports.changedetection-io}";
};
"jackett.baduhai.me" = {
useACMEHost = "baduhai.me";
forceSSL = true;
kTLS = true;
locations."/".proxyPass = "http://127.0.0.1:${config.ports.jackett}";
};
"jellyfin.baduhai.me" = {
useACMEHost = "baduhai.me";
forceSSL = true;
kTLS = true;
locations."/".proxyPass = "http://127.0.0.1:${config.ports.jellyfin}";
};
"actual.baduhai.me" = {
useACMEHost = "baduhai.me";
forceSSL = true;
kTLS = true;
locations."/".proxyPass = "http://127.0.0.1:${config.ports.actual}";
};
"librespeed.baduhai.me" = {
useACMEHost = "baduhai.me";
forceSSL = true;
kTLS = true;
locations."/".proxyPass =
"http://127.0.0.1:${config.ports.librespeed}";
};
"n8n.baduhai.me" = {
useACMEHost = "baduhai.me";
forceSSL = true;
kTLS = true;
locations."/".proxyPass = "http://127.0.0.1:${config.ports.n8n}";
};
"paperless.baduhai.me" = {
useACMEHost = "baduhai.me";
forceSSL = true;
kTLS = true;
locations."/".proxyPass =
"http://127.0.0.1:${config.ports.paperless}";
};
"qbittorrent.baduhai.me" = {
useACMEHost = "baduhai.me";
forceSSL = true;
kTLS = true;
locations."/".proxyPass =
"http://127.0.0.1:${config.ports.qbittorrent}";
};
"radarr.baduhai.me" = {
useACMEHost = "baduhai.me";
forceSSL = true;
kTLS = true;
locations."/".proxyPass = "http://127.0.0.1:${config.ports.radarr}";
};
"shiori.baduhai.me" = {
useACMEHost = "baduhai.me";
forceSSL = true;
kTLS = true;
locations."/".proxyPass = "http://127.0.0.1:${config.ports.shiori}";
};
"sonarr.baduhai.me" = {
useACMEHost = "baduhai.me";
forceSSL = true;
kTLS = true;
locations."/".proxyPass = "http://127.0.0.1:${config.ports.sonarr}";
};
"sync.baduhai.me" = {
useACMEHost = "baduhai.me";
forceSSL = true;
kTLS = true;
locations."/".proxyPass =
"http://127.0.0.1:${config.ports.syncthing}";
};
"whoogle.baduhai.me" = {
useACMEHost = "baduhai.me";
forceSSL = true;
kTLS = true;
locations."/".proxyPass = "http://127.0.0.1:${config.ports.whoogle}";
};
}; };
}; };
@ -90,9 +176,7 @@
passwordFile = config.age.secrets.paperless-pass.path; passwordFile = config.age.secrets.paperless-pass.path;
port = lib.toInt "${config.ports.paperless}"; port = lib.toInt "${config.ports.paperless}";
consumptionDirIsPublic = true; consumptionDirIsPublic = true;
extraConfig = { extraConfig = { PAPERLESS_OCR_LANGUAGE = "eng+por+deu"; };
PAPERLESS_OCR_LANGUAGE = "eng+por+deu";
};
}; };
postgresql.enable = true; postgresql.enable = true;
@ -132,5 +216,6 @@
}; };
}; };
systemd.services.NetworkManager-wait-online.enable = false; # Workaround for upstream bug in NetworkManager-wait-online.service systemd.services.NetworkManager-wait-online.enable =
false; # Workaround for upstream bug in NetworkManager-wait-online.service
} }

View file

@ -9,13 +9,7 @@
groups = { groups = {
hosted = { hosted = {
gid = 1005; gid = 1005;
members = [ members = [ "user" "shiori" "minecraft" "paperless" "vaultwarden" ];
"user"
"shiori"
"minecraft"
"paperless"
"vaultwarden"
];
}; };
}; };
}; };

View file

@ -1,13 +1,13 @@
{ specialArgs, inputs, config, pkgs, lib, ... }: { specialArgs, inputs, config, pkgs, lib, ... }:
let let
mkStringOption = default: lib.mkOption { mkStringOption = default:
lib.mkOption {
inherit default; inherit default;
type = lib.types.str; type = lib.types.str;
}; };
in
{ in {
options.ports = { options.ports = {
n8n = mkStringOption "5678"; n8n = mkStringOption "5678";
bazaar = mkStringOption "6767"; bazaar = mkStringOption "6767";

View file

@ -1,8 +1,5 @@
{ ... }: { ... }:
{ {
imports = [ imports = [ ./boot.nix ./nix.nix ];
./boot.nix
./nix.nix
];
} }

View file

@ -4,8 +4,7 @@ let
cfg = config.services.qbittorrent; cfg = config.services.qbittorrent;
configDir = "${cfg.dataDir}/.config"; configDir = "${cfg.dataDir}/.config";
openFilesLimit = 4096; openFilesLimit = 4096;
in in {
{
options.services.qbittorrent = { options.services.qbittorrent = {
enable = mkOption { enable = mkOption {
type = types.bool; type = types.bool;

View file

@ -1,8 +1,5 @@
{ ... }: { ... }:
{ {
imports = [ imports = [ ./home.nix ./programs.nix ];
./home.nix
./programs.nix
];
} }

View file

@ -5,13 +5,14 @@
username = "user"; username = "user";
homeDirectory = "/home/user"; homeDirectory = "/home/user";
stateVersion = "22.05"; stateVersion = "22.05";
sessionVariables = { sessionVariables = { EDITOR = "micro"; };
EDITOR = "micro";
};
file = { file = {
".config/btop/themes/catppuccin_mocha.theme".source = "${inputs.dotfiles}/.config/btop/themes/catppuccin_mocha.theme"; ".config/btop/themes/catppuccin_mocha.theme".source =
".config/fish/themes/Catppuccin Mocha.theme".source = "${inputs.dotfiles}/.config/fish/themes/Catppuccin Mocha.theme"; "${inputs.dotfiles}/.config/btop/themes/catppuccin_mocha.theme";
".config/starship.toml".source = "${inputs.dotfiles}/.config/starship.toml"; ".config/fish/themes/Catppuccin Mocha.theme".source =
"${inputs.dotfiles}/.config/fish/themes/Catppuccin Mocha.theme";
".config/starship.toml".source =
"${inputs.dotfiles}/.config/starship.toml";
}; };
}; };
} }

View file

@ -43,7 +43,7 @@
# loginShellInit = "nix-your-shell fish | source"; # loginShellInit = "nix-your-shell fish | source";
shellAliases = { shellAliases = {
nano = "micro"; nano = "micro";
wget = "wget --hsts-file=\"$XDG_DATA_HOME/wget-hsts\""; wget = ''wget --hsts-file="$XDG_DATA_HOME/wget-hsts"'';
}; };
functions = { functions = {
fish_greeting = ""; fish_greeting = "";

View file

@ -1,9 +1,5 @@
{ ... }: { ... }:
{ {
imports = [ imports = [ ./home.nix ./programs.nix ./services.nix ];
./home.nix
./programs.nix
./services.nix
];
} }

View file

@ -10,13 +10,20 @@
package = pkgs.breeze-icons; package = pkgs.breeze-icons;
}; };
file = { file = {
".config/wezterm/wezterm.lua".source = "${inputs.dotfiles}/.config/wezterm/wezterm.lua"; ".config/wezterm/wezterm.lua".source =
".config/MangoHud/MangoHud.conf".source = "${inputs.dotfiles}/.config/MangoHud/MangoHud.conf"; "${inputs.dotfiles}/.config/wezterm/wezterm.lua";
".config/solvespace/settings.json".source = "${inputs.dotfiles}/.config/solvespace/settings.json"; ".config/MangoHud/MangoHud.conf".source =
".local/share/color-schemes/CatppuccinLatte.colors".source = "${inputs.dotfiles}/.local/share/color-schemes/CatppuccinLatte.colors"; "${inputs.dotfiles}/.config/MangoHud/MangoHud.conf";
".local/share/color-schemes/CatppuccinMocha.colors".source = "${inputs.dotfiles}/.local/share/color-schemes/CatppuccinMocha.colors"; ".config/solvespace/settings.json".source =
"${inputs.dotfiles}/.config/solvespace/settings.json";
".local/share/color-schemes/CatppuccinLatte.colors".source =
"${inputs.dotfiles}/.local/share/color-schemes/CatppuccinLatte.colors";
".local/share/color-schemes/CatppuccinMocha.colors".source =
"${inputs.dotfiles}/.local/share/color-schemes/CatppuccinMocha.colors";
# Autostart programs # Autostart programs
".config/autostart/koi.desktop".source = config.lib.file.mkOutOfStoreSymlink "/var/run/current-system/sw/share/applications/koi.desktop"; ".config/autostart/koi.desktop".source =
config.lib.file.mkOutOfStoreSymlink
"/var/run/current-system/sw/share/applications/koi.desktop";
}; };
}; };
} }

View file

@ -5,9 +5,18 @@
gtk = { gtk = {
enable = true; enable = true;
font = { name = "Inter"; size = 10; }; font = {
theme = { package = pkgs.breeze-gtk; name = "Breeze"; }; name = "Inter";
iconTheme = { package = pkgs.breeze-icons; name = "Breeze"; }; size = 10;
};
theme = {
package = pkgs.breeze-gtk;
name = "Breeze";
};
iconTheme = {
package = pkgs.breeze-icons;
name = "Breeze";
};
}; };
programs = { programs = {
@ -30,10 +39,14 @@
interactiveShellInit = "nix-your-shell fish | source"; interactiveShellInit = "nix-your-shell fish | source";
loginShellInit = "nix-your-shell fish | source"; loginShellInit = "nix-your-shell fish | source";
functions = { functions = {
rebuild = "rm ~/.gtkrc-2.0; sudo nixos-rebuild switch --flake '/home/user/Projects/personal/nix-config#'"; rebuild =
rebuild-boot = "rm ~/.gtkrc-2.0; sudo nixos-rebuild boot --flake '/home/user/Projects/personal/nix-config#'"; "rm ~/.gtkrc-2.0; sudo nixos-rebuild switch --flake '/home/user/Projects/personal/nix-config#'";
upgrade = "rm ~/.gtkrc-2.0; nix flake lock --update-input nixpkgs --commit-lock-file /home/user/Projects/personal/nix-config; sudo nixos-rebuild switch --upgrade --flake '/home/user/Projects/personal/nix-config#'"; rebuild-boot =
upgrade-boot = "rm ~/.gtkrc-2.0; nix flake lock --update-input nixpkgs --commit-lock-file /home/user/Projects/personal/nix-config; sudo nixos-rebuild boot --upgrade --flake '/home/user/Projects/personal/nix-config#'"; "rm ~/.gtkrc-2.0; sudo nixos-rebuild boot --flake '/home/user/Projects/personal/nix-config#'";
upgrade =
"rm ~/.gtkrc-2.0; nix flake lock --update-input nixpkgs --commit-lock-file /home/user/Projects/personal/nix-config; sudo nixos-rebuild switch --upgrade --flake '/home/user/Projects/personal/nix-config#'";
upgrade-boot =
"rm ~/.gtkrc-2.0; nix flake lock --update-input nixpkgs --commit-lock-file /home/user/Projects/personal/nix-config; sudo nixos-rebuild boot --upgrade --flake '/home/user/Projects/personal/nix-config#'";
}; };
}; };
}; };

View file

@ -1,7 +1,5 @@
{ specialArgs, inputs, config, pkgs, lib, ... }: { specialArgs, inputs, config, pkgs, lib, ... }:
{ {
services = { services = { kdeconnect.enable = true; };
kdeconnect.enable = true;
};
} }