flake: clean up modules
This commit is contained in:
parent
28f18c9a99
commit
8cd8b3a3f9
64 changed files with 258 additions and 273 deletions
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ ... }:
|
||||||
let
|
let
|
||||||
uuid = uuid: "/dev/disk/by-uuid/${uuid}";
|
uuid = uuid: "/dev/disk/by-uuid/${uuid}";
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
boot.initrd.availableKernelModules = [ "nvme" "ahci" "xhci_pci" "usbhid" "sd_mod" ];
|
boot.initrd.availableKernelModules = [ "nvme" "ahci" "xhci_pci" "usbhid" "sd_mod" ];
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, private, ... }:
|
{ private, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
services.factorio = {
|
services.factorio = {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ config, pkgs, common, ... }:
|
{ config, common, pkgs, ... }:
|
||||||
let
|
let
|
||||||
cfg = config.services.forgejo;
|
cfg = config.services.forgejo;
|
||||||
domain = config.common.subdomain "git";
|
domain = common.subdomain "git";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
persist.directories = [ "/var/lib/private/gitea-runner/" ];
|
persist.directories = [ "/var/lib/private/gitea-runner/" ];
|
||||||
|
@ -25,10 +25,10 @@ in
|
||||||
settings = {
|
settings = {
|
||||||
server = {
|
server = {
|
||||||
ROOT_URL = "https://${domain}/";
|
ROOT_URL = "https://${domain}/";
|
||||||
SSH_DOMAIN = config.common.domain;
|
SSH_DOMAIN = common.domain;
|
||||||
LANDING_PAGE = "explore";
|
LANDING_PAGE = "explore";
|
||||||
};
|
};
|
||||||
mailer = with config.common.email; {
|
mailer = with common.email; {
|
||||||
ENABLED = true;
|
ENABLED = true;
|
||||||
PROTOCOL = "smtps";
|
PROTOCOL = "smtps";
|
||||||
SMTP_ADDR = smtp.address;
|
SMTP_ADDR = smtp.address;
|
||||||
|
@ -49,7 +49,7 @@ in
|
||||||
service = {
|
service = {
|
||||||
DISABLE_REGISTRATION = true;
|
DISABLE_REGISTRATION = true;
|
||||||
OFFLINE_MODE = false;
|
OFFLINE_MODE = false;
|
||||||
NO_REPLY_ADDRESS = config.common.email.outgoing;
|
NO_REPLY_ADDRESS = common.email.outgoing;
|
||||||
};
|
};
|
||||||
indexer = {
|
indexer = {
|
||||||
REPO_INDEXER_ENABLED = true;
|
REPO_INDEXER_ENABLED = true;
|
||||||
|
@ -96,7 +96,7 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services.nginx.virtualHosts.${domain} = config.common.nginx.ssl // {
|
services.nginx.virtualHosts.${domain} = common.nginx.ssl // {
|
||||||
locations."/" = {
|
locations."/" = {
|
||||||
proxyPass = "http://${cfg.settings.server.DOMAIN}:${toString cfg.settings.server.HTTP_PORT}";
|
proxyPass = "http://${cfg.settings.server.DOMAIN}:${toString cfg.settings.server.HTTP_PORT}";
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
{ config, ... }:
|
{ config, common, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
domain = "freshrss.inx.moe";
|
domain = "freshrss.inx.moe";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
services.nginx.virtualHosts.${domain} = config.common.nginx.ssl;
|
services.nginx.virtualHosts.${domain} = common.nginx.ssl;
|
||||||
|
|
||||||
services.freshrss = {
|
services.freshrss = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
{ lib, modulesPath, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
{ config, pkgs, lib, ... }:
|
{ config, common, ... }:
|
||||||
let
|
let
|
||||||
domain = config.common.subdomain "hydra";
|
domain = common.subdomain "hydra";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
services.nginx.virtualHosts.${domain} = config.common.nginx.ssl // {
|
services.nginx.virtualHosts.${domain} = common.nginx.ssl // {
|
||||||
locations."/" = {
|
locations."/" = {
|
||||||
proxyPass = "http://localhost:${builtins.toString config.services.hydra.port}";
|
proxyPass = "http://localhost:${toString config.services.hydra.port}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -14,13 +14,13 @@ in
|
||||||
port = 3333;
|
port = 3333;
|
||||||
baseDir = "/srv/hydra";
|
baseDir = "/srv/hydra";
|
||||||
hydraURL = "https://${domain}";
|
hydraURL = "https://${domain}";
|
||||||
notificationSender = config.common.email.withSubaddress "hydra";
|
notificationSender = common.email.withSubaddress "hydra";
|
||||||
smtpHost = config.common.email.smtp.address;
|
smtpHost = common.email.smtp.address;
|
||||||
useSubstitutes = true;
|
useSubstitutes = true;
|
||||||
environmentFile = config.secrets.hydra;
|
environmentFile = config.secrets.hydra;
|
||||||
extraEnv = {
|
extraEnv = {
|
||||||
EMAIL_SENDER_TRANSPORT_sasl_username = config.common.email.outgoing;
|
EMAIL_SENDER_TRANSPORT_sasl_username = common.email.outgoing;
|
||||||
EMAIL_SENDER_TRANSPORT_port = builtins.toString config.common.email.smtp.SSLTLS;
|
EMAIL_SENDER_TRANSPORT_port = toString common.email.smtp.SSLTLS;
|
||||||
EMAIL_SENDER_TRANSPORT_ssl = "ssl";
|
EMAIL_SENDER_TRANSPORT_ssl = "ssl";
|
||||||
};
|
};
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, common, ... }:
|
||||||
let
|
let
|
||||||
address = "127.0.0.1";
|
address = "127.0.0.1";
|
||||||
port = 8096;
|
port = 8096;
|
||||||
|
@ -13,7 +13,7 @@ let
|
||||||
'';
|
'';
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
services.nginx.virtualHosts."jellyfin.inx.moe" = config.common.nginx.ssl // {
|
services.nginx.virtualHosts."jellyfin.inx.moe" = common.nginx.ssl // {
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
client_max_body_size 20M;
|
client_max_body_size 20M;
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
# Unused
|
# Unused
|
||||||
{ config, pkgs, lib, ... }:
|
{ config, common, ... }:
|
||||||
let
|
let
|
||||||
cfg = config.services.jitsi-meet;
|
cfg = config.services.jitsi-meet;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
services.jitsi-meet = {
|
services.jitsi-meet = {
|
||||||
enable = true;
|
enable = true;
|
||||||
hostName = config.common.subdomain "meet";
|
hostName = common.subdomain "meet";
|
||||||
config = {
|
config = {
|
||||||
prejoinPageEnabled = true;
|
prejoinPageEnabled = true;
|
||||||
disableModeratorIndicator = true;
|
disableModeratorIndicator = true;
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, common, pkgs, ... }:
|
||||||
let
|
let
|
||||||
|
cfg = config.services.jupyter;
|
||||||
|
|
||||||
mkPythonKernel = displayName: env: {
|
mkPythonKernel = displayName: env: {
|
||||||
inherit displayName;
|
inherit displayName;
|
||||||
language = "python";
|
language = "python";
|
||||||
|
@ -53,10 +55,10 @@ in
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
services.nginx.virtualHosts."jupyter.internal.inx.moe" = config.common.nginx.ssl // {
|
services.nginx.virtualHosts."jupyter.internal.inx.moe" = common.nginx.ssl // {
|
||||||
listenAddresses = [ "100.101.102.124" ];
|
listenAddresses = [ "100.101.102.124" ];
|
||||||
locations."/" = {
|
locations."/" = {
|
||||||
proxyPass = "http://localhost:${toString config.services.jupyter.port}";
|
proxyPass = "http://localhost:${toString cfg.port}";
|
||||||
proxyWebsockets = true;
|
proxyWebsockets = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
{ pkgs, config, lib, ... }:
|
{ config, pkgs, ... }:
|
||||||
let
|
let
|
||||||
|
cfg = config.services.postgresql;
|
||||||
directory = "/srv/postgresql";
|
directory = "/srv/postgresql";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
@ -8,6 +9,6 @@ in
|
||||||
services.postgresql = {
|
services.postgresql = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.postgresql_16;
|
package = pkgs.postgresql_16;
|
||||||
dataDir = "${directory}/${config.services.postgresql.package.psqlSchema}";
|
dataDir = "${directory}/${cfg.package.psqlSchema}";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,19 +1,22 @@
|
||||||
{ pkgs, config, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
let
|
||||||
|
cfg = config.services.openssh;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
users.users.incoming = {
|
users.users = {
|
||||||
|
incoming = {
|
||||||
description = "User for incoming files with a chroot jail";
|
description = "User for incoming files with a chroot jail";
|
||||||
isSystemUser = true;
|
isSystemUser = true;
|
||||||
group = "incoming";
|
group = "incoming";
|
||||||
};
|
};
|
||||||
users.groups.incoming = { };
|
|
||||||
|
|
||||||
users.users.jump = {
|
jump = {
|
||||||
description = "User for ssh jumping";
|
description = "User for ssh jumping";
|
||||||
isSystemUser = true;
|
isSystemUser = true;
|
||||||
group = "nogroup";
|
group = "nogroup";
|
||||||
};
|
};
|
||||||
|
|
||||||
users.users.neofetch = {
|
neofetch = {
|
||||||
description = "SSH Neofetch";
|
description = "SSH Neofetch";
|
||||||
isSystemUser = true;
|
isSystemUser = true;
|
||||||
group = "nogroup";
|
group = "nogroup";
|
||||||
|
@ -21,12 +24,16 @@
|
||||||
shell = pkgs.bash;
|
shell = pkgs.bash;
|
||||||
};
|
};
|
||||||
|
|
||||||
users.users.guest = {
|
guest = {
|
||||||
description = "Guest shell account for temporary access";
|
description = "Guest shell account for temporary access";
|
||||||
group = "users";
|
group = "users";
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
shell = pkgs.bash;
|
shell = pkgs.bash;
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
users.groups = {
|
||||||
|
incoming = { };
|
||||||
|
};
|
||||||
|
|
||||||
security.pam.services.sshd.allowNullPassword = true;
|
security.pam.services.sshd.allowNullPassword = true;
|
||||||
|
|
||||||
|
@ -41,7 +48,7 @@
|
||||||
Match user incoming
|
Match user incoming
|
||||||
AuthorizedKeysFile /etc/ssh/authorized_keys.d/infinidoge /etc/ssh/authorized_keys.d/%u
|
AuthorizedKeysFile /etc/ssh/authorized_keys.d/infinidoge /etc/ssh/authorized_keys.d/%u
|
||||||
ChrootDirectory /srv/external
|
ChrootDirectory /srv/external
|
||||||
ForceCommand ${config.services.openssh.sftpServerExecutable} -d incoming -u 007
|
ForceCommand ${cfg.sftpServerExecutable} -d incoming -u 007
|
||||||
X11Forwarding no
|
X11Forwarding no
|
||||||
AllowTcpForwarding no
|
AllowTcpForwarding no
|
||||||
KbdInteractiveAuthentication no
|
KbdInteractiveAuthentication no
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, common, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
services.nginx.virtualHosts."thelounge.inx.moe" = config.common.nginx.ssl // {
|
services.nginx.virtualHosts."thelounge.inx.moe" = common.nginx.ssl // {
|
||||||
locations."/" = {
|
locations."/" = {
|
||||||
proxyPass = "http://localhost:${toString config.services.thelounge.port}";
|
proxyPass = "http://localhost:${toString config.services.thelounge.port}";
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, common, lib, pkgs, ... }:
|
||||||
let
|
let
|
||||||
domain = config.common.subdomain "bitwarden";
|
domain = common.subdomain "bitwarden";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
persist.directories = [ config.services.vaultwarden.dataDir ];
|
persist.directories = [ config.services.vaultwarden.dataDir ];
|
||||||
|
|
||||||
services.nginx.virtualHosts.${domain} = config.common.nginx.ssl // {
|
services.nginx.virtualHosts.${domain} = common.nginx.ssl // {
|
||||||
locations."/" = {
|
locations."/" = {
|
||||||
proxyPass = "http://127.0.0.1:${toString config.services.vaultwarden.config.ROCKET_PORT}";
|
proxyPass = "http://127.0.0.1:${toString config.services.vaultwarden.config.ROCKET_PORT}";
|
||||||
};
|
};
|
||||||
|
@ -15,7 +15,7 @@ in
|
||||||
enable = true;
|
enable = true;
|
||||||
environmentFile = config.secrets."vaultwarden";
|
environmentFile = config.secrets."vaultwarden";
|
||||||
dataDir = "/srv/vaultwarden";
|
dataDir = "/srv/vaultwarden";
|
||||||
config = with config.common.email; {
|
config = with common.email; {
|
||||||
DOMAIN = "https://${domain}";
|
DOMAIN = "https://${domain}";
|
||||||
SIGNUPS_ALLOWED = false;
|
SIGNUPS_ALLOWED = false;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{ config, pkgs, lib, ... }:
|
{ config, common, pkgs, lib, ... }:
|
||||||
let
|
let
|
||||||
inherit (config.common.nginx) ssl ssl-optional;
|
inherit (common.nginx) ssl ssl-optional;
|
||||||
|
|
||||||
tryFiles = "$uri $uri.html $uri/ =404";
|
tryFiles = "$uri $uri.html $uri/ =404";
|
||||||
websiteConfig = ''
|
websiteConfig = ''
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ];
|
boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ];
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, lib, private, ... }: {
|
{ ... }: {
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
./filesystems.nix
|
./filesystems.nix
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ ... }:
|
||||||
let
|
let
|
||||||
uuid = uuid: "/dev/disk/by-uuid/${uuid}";
|
uuid = uuid: "/dev/disk/by-uuid/${uuid}";
|
||||||
main = uuid "9d4bf2d8-f139-42e7-937a-541a7870d806";
|
main = uuid "9d4bf2d8-f139-42e7-937a-541a7870d806";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
boot.initrd.availableKernelModules = [ "ahci" "nvme" "sd_mod" "usb_storage" "usbhid" "xhci_pci" ];
|
boot.initrd.availableKernelModules = [ "ahci" "nvme" "sd_mod" "usb_storage" "usbhid" "xhci_pci" ];
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, config, pkgs, ... }: {
|
{ pkgs, ... }: {
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
./filesystems.nix
|
./filesystems.nix
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
uuid = uuid: "/dev/disk/by-uuid/${uuid}";
|
uuid = uuid: "/dev/disk/by-uuid/${uuid}";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
{ lib, modulesPath, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, lib, private, ... }: {
|
{ ... }: {
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
./filesystems.nix
|
./filesystems.nix
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ lib, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
uuid = uuid: "/dev/disk/by-uuid/${uuid}";
|
uuid = uuid: "/dev/disk/by-uuid/${uuid}";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
boot.initrd.availableKernelModules = [ "nvme" "usb_storage" "xhci_pci" "ahci" "usbhid" "sd_mod" ];
|
boot.initrd.availableKernelModules = [ "nvme" "usb_storage" "xhci_pci" "ahci" "usbhid" "sd_mod" ];
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, config, pkgs, ... }: {
|
{ pkgs, ... }: {
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
./filesystems.nix
|
./filesystems.nix
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
{ lib, modulesPath, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, lib, ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
{ lib, modulesPath, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, lib, ... }:
|
{ ... }:
|
||||||
{
|
{
|
||||||
system.stateVersion = "22.05";
|
system.stateVersion = "22.05";
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ private, config, lib, pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
modules.hardware.form.server = true;
|
modules.hardware.form.server = true;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, ... }:
|
{ config, ... }:
|
||||||
{
|
{
|
||||||
programs = {
|
programs = {
|
||||||
# Enable dconf for programs that need it
|
# Enable dconf for programs that need it
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, pkgs, config, ... }:
|
{ config, lib, ... }:
|
||||||
|
|
||||||
lib.mkIf config.info.graphical {
|
lib.mkIf config.info.graphical {
|
||||||
boot.extraModulePackages = with config.boot.kernelPackages; [
|
boot.extraModulePackages = with config.boot.kernelPackages; [
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, config, private, ... }:
|
{ config, pkgs, private, ... }:
|
||||||
{
|
{
|
||||||
imports = [ private.nixosModules.networking ];
|
imports = [ private.nixosModules.networking ];
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# Heavily inspired by hlissner: https://github.com/hlissner/dotfiles/blob/master/modules/options.nix
|
# Heavily inspired by hlissner: https://github.com/hlissner/dotfiles/blob/master/modules/options.nix
|
||||||
{ config, options, lib, home-manager, ... }:
|
{ config, options, lib, ... }:
|
||||||
with lib;
|
with lib;
|
||||||
with lib.our;
|
with lib.our;
|
||||||
let
|
let
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, ... }:
|
{ common, lib, ... }:
|
||||||
with lib;
|
with lib;
|
||||||
{
|
{
|
||||||
# For rage encryption, all hosts need a ssh key pair
|
# For rage encryption, all hosts need a ssh key pair
|
||||||
|
@ -17,7 +17,7 @@ with lib;
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.ssh = {
|
programs.ssh = {
|
||||||
extraConfig = with config.common; ''
|
extraConfig = with common; ''
|
||||||
Host rsync.net
|
Host rsync.net
|
||||||
Hostname ${rsyncnet.host}
|
Hostname ${rsyncnet.host}
|
||||||
User ${rsyncnet.user}
|
User ${rsyncnet.user}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, lib, config, ... }:
|
{ config, common, pkgs, lib, ... }:
|
||||||
with lib;
|
with lib;
|
||||||
with lib.our;
|
with lib.our;
|
||||||
let
|
let
|
||||||
|
@ -30,7 +30,7 @@ in
|
||||||
|
|
||||||
programs.xss-lock = {
|
programs.xss-lock = {
|
||||||
enable = true;
|
enable = true;
|
||||||
lockerCommand = lib.getExe config.common.wm.locker;
|
lockerCommand = lib.getExe common.wm.locker;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Automatically attach/detatch connected/disconnected monitors
|
# Automatically attach/detatch connected/disconnected monitors
|
||||||
|
@ -64,7 +64,7 @@ in
|
||||||
|
|
||||||
pavucontrol
|
pavucontrol
|
||||||
|
|
||||||
config.common.wm.locker
|
common.wm.locker
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
(mkIf cfg.qtile.enable {
|
(mkIf cfg.qtile.enable {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ options, config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
with lib.our;
|
with lib.our;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, inputs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
with lib;
|
with lib;
|
||||||
with lib.our;
|
with lib.our;
|
||||||
let
|
let
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, private, ... }:
|
{ config, lib, private, ... }:
|
||||||
with lib;
|
with lib;
|
||||||
with lib.our;
|
with lib.our;
|
||||||
let
|
let
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, options, lib, pkgs, ... }:
|
{ config, lib, ... }:
|
||||||
with lib;
|
with lib;
|
||||||
with lib.our;
|
with lib.our;
|
||||||
let
|
let
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, lib, config, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, self, lib, pkgs, inputs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
let
|
let
|
||||||
inherit (lib) flatten optional mkIf;
|
inherit (lib) flatten optional mkIf;
|
||||||
ifGraphical = lib.optionals config.info.graphical;
|
ifGraphical = lib.optionals config.info.graphical;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, config, lib, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
# Modified from https://github.com/nix-community/impermanence/blob/master/home-manager.nix
|
# Modified from https://github.com/nix-community/impermanence/blob/master/home-manager.nix
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, main, pkgs, lib, ... }:
|
{ main, ... }:
|
||||||
{
|
{
|
||||||
services.flameshot = {
|
services.flameshot = {
|
||||||
enable = main.info.graphical;
|
enable = main.info.graphical;
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{ pkgs, ... }: {
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
gh
|
gh
|
||||||
git-absorb
|
git-absorb
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{ config, ... }: {
|
{ config, ... }:
|
||||||
|
{
|
||||||
programs.htop = {
|
programs.htop = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, ... }:
|
||||||
{
|
{
|
||||||
programs.keychain = {
|
programs.keychain = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -1,10 +1,9 @@
|
||||||
{ main, pkgs, lib, ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
config = {
|
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
font = {
|
font = rec {
|
||||||
package = (pkgs.nerdfonts.override { fonts = [ "DejaVuSansMono" ]; });
|
package = (pkgs.nerdfonts.override { fonts = [ name ]; });
|
||||||
name = "DejaVuSansMono";
|
name = "DejaVuSansMono";
|
||||||
size = 12;
|
size = 12;
|
||||||
};
|
};
|
||||||
|
@ -19,5 +18,4 @@
|
||||||
#ssh = "kitty +kitten ssh";
|
#ssh = "kitty +kitten ssh";
|
||||||
icat = "kitty +kitten icat";
|
icat = "kitty +kitten icat";
|
||||||
};
|
};
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ main, config, lib, pkgs, ... }:
|
{ main, lib, pkgs, ... }:
|
||||||
lib.mkIf main.info.graphical
|
lib.mkIf main.info.graphical
|
||||||
{
|
{
|
||||||
services = {
|
services = {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, lib, ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
programs.nixvim = {
|
programs.nixvim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, main, config, ... }:
|
{ main, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
programs.obs-studio = {
|
programs.obs-studio = {
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
{ ... }: {
|
|
||||||
imports = [
|
|
||||||
./bash.nix
|
|
||||||
./fish.nix
|
|
||||||
./ion.nix
|
|
||||||
./nushell.nix
|
|
||||||
./zsh.nix
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,15 +1,10 @@
|
||||||
{ config, pkgs, lib, ... }: {
|
{ config, lib, ... }:
|
||||||
imports = [ ./common.nix ];
|
{
|
||||||
|
programs.bash = {
|
||||||
programs = {
|
|
||||||
bash = {
|
|
||||||
enable = true;
|
enable = true;
|
||||||
enableVteIntegration = true;
|
enableVteIntegration = true;
|
||||||
initExtra = ''
|
initExtra = ''
|
||||||
source <(${lib.getExe config.programs.kitty.package} + complete setup bash)
|
source <(${lib.getExe config.programs.kitty.package} + complete setup bash)
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
starship.enableBashIntegration = true;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{ ... }: {
|
{ ... }:
|
||||||
|
{
|
||||||
programs.nix-index = {
|
programs.nix-index = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableBashIntegration = false;
|
enableBashIntegration = false;
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
{ config, lib, pkgs, ... }: {
|
{ config, lib, ... }:
|
||||||
imports = [ ./common.nix ];
|
{
|
||||||
|
programs.fish = {
|
||||||
programs = {
|
|
||||||
fish = {
|
|
||||||
enable = true;
|
enable = true;
|
||||||
functions = { };
|
functions = { };
|
||||||
shellAbbrs = { };
|
shellAbbrs = { };
|
||||||
|
@ -11,7 +9,4 @@
|
||||||
set -U fish_greeting
|
set -U fish_greeting
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
starship.enableFishIntegration = lib.mkIf config.programs.starship.enable true;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,6 @@
|
||||||
{ config, pkgs, ... }: {
|
{ ... }:
|
||||||
imports = [ ./common.nix ];
|
{
|
||||||
|
programs.ion = {
|
||||||
programs = {
|
|
||||||
ion = {
|
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
starship.enableIonIntegration = true;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{ ... }: {
|
{ ... }:
|
||||||
|
{
|
||||||
programs.nushell = {
|
programs.nushell = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
{ config, lib, pkgs, main, ... }: {
|
{ config, main, pkgs, ... }:
|
||||||
imports = [ ./common.nix ];
|
{
|
||||||
|
programs.zsh = rec {
|
||||||
programs = {
|
|
||||||
zsh = rec {
|
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
enableCompletion = true;
|
enableCompletion = true;
|
||||||
|
@ -112,7 +110,4 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
starship.enableZshIntegration = lib.mkIf config.programs.starship.enable true;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{ ... }: {
|
{ ... }:
|
||||||
|
{
|
||||||
programs.ssh = {
|
programs.ssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
controlMaster = "auto";
|
controlMaster = "auto";
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ ... }: {
|
{ ... }:
|
||||||
|
{
|
||||||
programs.starship = {
|
programs.starship = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableBashIntegration = true;
|
|
||||||
|
|
||||||
settings =
|
settings =
|
||||||
let
|
let
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, main, config, pkgs, ... }:
|
{ config, main, lib, pkgs, ... }:
|
||||||
lib.mkIf main.info.graphical
|
lib.mkIf main.info.graphical
|
||||||
{
|
{
|
||||||
gtk = {
|
gtk = {
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{ ... }: {
|
{ ... }:
|
||||||
|
{
|
||||||
programs.tmux = {
|
programs.tmux = {
|
||||||
enable = true;
|
enable = true;
|
||||||
mouse = true;
|
mouse = true;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, config, pkgs, ... }: {
|
{ config, lib, pkgs, ... }: {
|
||||||
users.users.root = {
|
users.users.root = {
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
hashedPasswordFile = lib.mkIf config.modules.secrets.enable config.secrets.root-password;
|
hashedPasswordFile = lib.mkIf config.modules.secrets.enable config.secrets.root-password;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue