some refactoring and modularizing locale
This commit is contained in:
17
modules/nixos/services/network/blueman/default.nix
Normal file
17
modules/nixos/services/network/blueman/default.nix
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.services.network.blueman;
|
||||
in {
|
||||
options = {
|
||||
nixos.services.network.blueman.enable = mkEnableOption "Enables blueman";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
services = {
|
||||
blueman.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
19
modules/nixos/services/network/mullvad/default.nix
Normal file
19
modules/nixos/services/network/mullvad/default.nix
Normal file
@@ -0,0 +1,19 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.services.network.mullvad;
|
||||
in {
|
||||
options = {
|
||||
nixos.services.network.mullvad.enable = mkEnableOption "Enables mullvad";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
services.mullvad-vpn = {
|
||||
enable = true;
|
||||
package = pkgs.mullvad-vpn;
|
||||
};
|
||||
};
|
||||
}
|
||||
17
modules/nixos/services/network/openssh/default.nix
Normal file
17
modules/nixos/services/network/openssh/default.nix
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.services.network.openssh;
|
||||
in {
|
||||
options = {
|
||||
nixos.services.network.openssh.enable = mkEnableOption "Enables openssh";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
32
modules/nixos/services/network/samba/default.nix
Normal file
32
modules/nixos/services/network/samba/default.nix
Normal file
@@ -0,0 +1,32 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.services.network.samba;
|
||||
in {
|
||||
options = {
|
||||
nixos.services.network.samba.enable = mkEnableOption "Enables samba";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
services = {
|
||||
samba = {
|
||||
enable = true;
|
||||
package = pkgs.samba4Full;
|
||||
openFirewall = true;
|
||||
};
|
||||
avahi = {
|
||||
publish.enable = true;
|
||||
publish.userServices = true;
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
samba-wsdd = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
63
modules/nixos/services/security/agenix/default.nix
Normal file
63
modules/nixos/services/security/agenix/default.nix
Normal file
@@ -0,0 +1,63 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
inputs,
|
||||
pkgs,
|
||||
self,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption mkOption mkMerge;
|
||||
cfg = config.nixos.services.security.agenix;
|
||||
in {
|
||||
options = {
|
||||
nixos.services.security.agenix = {
|
||||
enable = mkEnableOption "Enables agenix system environment";
|
||||
cnix.enable = mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "Apply cnix agenix settings";
|
||||
};
|
||||
toothpc.enable = mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "Apply toothpc agenix settings";
|
||||
};
|
||||
cnixpad.enable = mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "Apply cnixpad agenix settings";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
age = mkMerge [
|
||||
(mkIf cfg.cnix.enable {
|
||||
secrets = {
|
||||
cnstssh.file = "${self}/secrets/cnstssh.age";
|
||||
cnixssh.file = "${self}/secrets/cnixssh.age";
|
||||
helix-gpt = {
|
||||
file = "${self}/secrets/helix-gpt.age";
|
||||
owner = "cnst";
|
||||
group = "users";
|
||||
};
|
||||
};
|
||||
})
|
||||
(mkIf cfg.toothpc.enable {
|
||||
secrets = {
|
||||
# Add toothpc specific secrets here
|
||||
};
|
||||
})
|
||||
(mkIf cfg.cnixpad.enable {
|
||||
secrets = {
|
||||
# Add adampad specific secrets here
|
||||
};
|
||||
})
|
||||
];
|
||||
|
||||
environment.systemPackages = [
|
||||
inputs.agenix.packages.x86_64-linux.default
|
||||
pkgs.age
|
||||
];
|
||||
};
|
||||
}
|
||||
15
modules/nixos/services/security/gnome-keyring/default.nix
Normal file
15
modules/nixos/services/security/gnome-keyring/default.nix
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.services.security.gnome-keyring;
|
||||
in {
|
||||
options = {
|
||||
nixos.services.security.gnome-keyring.enable = mkEnableOption "Enables gnome-keyring";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
};
|
||||
}
|
||||
21
modules/nixos/services/session/dbus/default.nix
Normal file
21
modules/nixos/services/session/dbus/default.nix
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.services.session.dbus;
|
||||
in {
|
||||
options = {
|
||||
nixos.services.session.dbus.enable = mkEnableOption "Enables dbus";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
services.dbus = {
|
||||
enable = true;
|
||||
packages = with pkgs; [
|
||||
gcr
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
15
modules/nixos/services/session/dconf/default.nix
Normal file
15
modules/nixos/services/session/dconf/default.nix
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.services.session.dconf;
|
||||
in {
|
||||
options = {
|
||||
nixos.services.session.dconf.enable = mkEnableOption "Enables dconf";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
programs.dconf.enable = true;
|
||||
};
|
||||
}
|
||||
29
modules/nixos/services/session/xserver/default.nix
Normal file
29
modules/nixos/services/session/xserver/default.nix
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkOption types;
|
||||
cfg = config.nixos.services.session.xserver;
|
||||
in {
|
||||
options = {
|
||||
nixos.services.session.xserver = {
|
||||
videoDrivers = mkOption {
|
||||
type = types.listOf (types.enum ["amdgpu" "nvidia"]);
|
||||
default = ["amdgpu"];
|
||||
description = "The names of the video drivers the configuration supports";
|
||||
};
|
||||
xkbLayout = mkOption {
|
||||
type = types.str;
|
||||
default = "se";
|
||||
description = "X keyboard layout, or multiple keyboard layouts separated by commas.";
|
||||
};
|
||||
};
|
||||
};
|
||||
config = {
|
||||
services.xserver = {
|
||||
videoDrivers = cfg.videoDrivers;
|
||||
xkb.layout = cfg.xkbLayout;
|
||||
};
|
||||
};
|
||||
}
|
||||
15
modules/nixos/services/system/fwupd/default.nix
Normal file
15
modules/nixos/services/system/fwupd/default.nix
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.services.system.fwupd;
|
||||
in {
|
||||
options = {
|
||||
nixos.services.system.fwupd.enable = mkEnableOption "Enables fwupd";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
services.fwupd.enable = true;
|
||||
};
|
||||
}
|
||||
58
modules/nixos/services/system/greetd/default.nix
Normal file
58
modules/nixos/services/system/greetd/default.nix
Normal file
@@ -0,0 +1,58 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption mkMerge mkOption types;
|
||||
cfg = config.nixos.services.system.greetd;
|
||||
in {
|
||||
options = {
|
||||
nixos.services.system.greetd = {
|
||||
enable = mkEnableOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Enables the greetd service.";
|
||||
};
|
||||
gnomeKeyring.enable = mkEnableOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Enables GnomeKeyring PAM service for greetd.";
|
||||
};
|
||||
autologin.enable = mkEnableOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Enables autologin for a specified user.";
|
||||
};
|
||||
autologin.user = mkOption {
|
||||
type = types.str;
|
||||
default = "cnst";
|
||||
description = "The username to auto-login when autologin is enabled.";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
settings = mkMerge [
|
||||
# Conditionally include initial_session if autologin is enabled
|
||||
(mkIf cfg.autologin.enable {
|
||||
initial_session = {
|
||||
command = "${pkgs.hyprland}/bin/Hyprland";
|
||||
user = cfg.autologin.user;
|
||||
};
|
||||
})
|
||||
{
|
||||
default_session = {
|
||||
command = "${pkgs.greetd.tuigreet}/bin/tuigreet -r --remember-session --asterisks";
|
||||
user = "greeter";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
# Apply GnomeKeyring PAM Service based on user configuration
|
||||
security.pam.services.greetd.enableGnomeKeyring = cfg.gnomeKeyring.enable;
|
||||
};
|
||||
}
|
||||
15
modules/nixos/services/system/gvfs/default.nix
Normal file
15
modules/nixos/services/system/gvfs/default.nix
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.services.system.gvfs;
|
||||
in {
|
||||
options = {
|
||||
nixos.services.system.gvfs.enable = mkEnableOption "Enables gvfs";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
services.gvfs.enable = true;
|
||||
};
|
||||
}
|
||||
23
modules/nixos/services/system/kanata/default.nix
Normal file
23
modules/nixos/services/system/kanata/default.nix
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.services.system.kanata;
|
||||
in {
|
||||
options = {
|
||||
nixos.services.system.kanata.enable = mkEnableOption "Enables kanata keyboard remapping";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
services.kanata = {
|
||||
enable = true;
|
||||
package = pkgs.kanata-with-cmd;
|
||||
keyboards.hhkbse = {
|
||||
devices = ["/dev/input/by-id/usb-PFU_Limited_HHKB-Hybrid-event-kbd"];
|
||||
config = builtins.readFile (./. + "/hhkbse.kbd");
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
52
modules/nixos/services/system/kanata/hhkbse.kbd
Normal file
52
modules/nixos/services/system/kanata/hhkbse.kbd
Normal file
@@ -0,0 +1,52 @@
|
||||
(deflocalkeys-linux
|
||||
§ 41
|
||||
+ 12
|
||||
´ 13
|
||||
å 26
|
||||
¨ 27
|
||||
ö 39
|
||||
ä 40
|
||||
' 43
|
||||
< 86
|
||||
> 100
|
||||
, 51
|
||||
. 52
|
||||
- 53
|
||||
)
|
||||
|
||||
(defsrc
|
||||
esc 1 2 3 4 5 6 7 8 9 0 + ´ ' §
|
||||
tab q w e r t y u i o p å ¨ bspc
|
||||
lctl a s d f g h j k l ö ä ret
|
||||
lsft z x c v b n m , . - rsft
|
||||
lalt lmet spc rmet ralt
|
||||
)
|
||||
|
||||
(deflayer default
|
||||
esc 1 2 3 4 5 6 7 8 9 0 + pgdn pgup del
|
||||
tab q w e r t y u i o p å ' bspc
|
||||
lctl a s d f g h j k l ö ä ret
|
||||
@shift z x c v b n m , . - rsft
|
||||
lalt lmet spc @level3 ralt
|
||||
)
|
||||
|
||||
(deflayer shift
|
||||
esc S-1 S-2 S-3 RA-4 S-5 S-6 S-7 S-8 S-9 S-0 S-+ RA-7 RA-0 RA-<
|
||||
tab S-q S-w S-e S-r S-t S-y S-u S-i S-o S-p S-å S-¨ bspc
|
||||
lctl S-a S-s S-d S-f S-g S-h S-j S-k S-l S-ö S-ä S-ret
|
||||
@shift S-z S-x S-c S-v S-b S-n S-m S-, S-. S-- rsft
|
||||
lalt lmet spc @level3 ralt
|
||||
)
|
||||
|
||||
(deflayer level3
|
||||
esc 1 RA-2 RA-3 S-4 RA-5 RA-6 RA-7 RA-8 RA-9 RA-0 RA-+ ⇤ ⇥ S-'
|
||||
tab q w RA-5 r t y u i o ▲ å RA-¨ bspc
|
||||
lctl a s d f g h j k ◀ ▼ ▶ ret
|
||||
@shift RA-S-z RA-S-x c v b n m , . - rsft
|
||||
lalt lmet spc @level3 ralt
|
||||
)
|
||||
|
||||
(defalias
|
||||
shift (layer-toggle shift)
|
||||
level3 (layer-toggle level3)
|
||||
)
|
||||
20
modules/nixos/services/system/locate/default.nix
Normal file
20
modules/nixos/services/system/locate/default.nix
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.services.system.locate;
|
||||
in {
|
||||
options = {
|
||||
nixos.services.system.locate.enable = mkEnableOption "Enables plocate";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
services.locate = {
|
||||
enable = true;
|
||||
package = pkgs.plocate;
|
||||
localuser = null;
|
||||
};
|
||||
};
|
||||
}
|
||||
103
modules/nixos/services/system/nix-ld/default.nix
Normal file
103
modules/nixos/services/system/nix-ld/default.nix
Normal file
@@ -0,0 +1,103 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.services.system.nix-ld;
|
||||
in {
|
||||
options = {
|
||||
nixos.services.system.nix-ld.enable = mkEnableOption "Enables nix-ld";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
programs.nix-ld = {
|
||||
enable = true;
|
||||
# Sets up all the libraries to load
|
||||
libraries = with pkgs; [
|
||||
stdenv.cc.cc
|
||||
openssl
|
||||
xorg.libXcomposite
|
||||
xorg.libXtst
|
||||
xorg.libXrandr
|
||||
xorg.libXext
|
||||
xorg.libX11
|
||||
xorg.libXfixes
|
||||
libGL
|
||||
libva
|
||||
xorg.libxcb
|
||||
xorg.libXdamage
|
||||
xorg.libxshmfence
|
||||
xorg.libXxf86vm
|
||||
libelf
|
||||
glib
|
||||
gtk3
|
||||
bzip2
|
||||
xorg.libXinerama
|
||||
xorg.libXcursor
|
||||
xorg.libXrender
|
||||
xorg.libXScrnSaver
|
||||
xorg.libXi
|
||||
xorg.libSM
|
||||
xorg.libICE
|
||||
gnome2.GConf
|
||||
nspr
|
||||
nss
|
||||
cups
|
||||
libcap
|
||||
SDL2
|
||||
libusb1
|
||||
dbus-glib
|
||||
ffmpeg
|
||||
libudev0-shim
|
||||
xorg.libXt
|
||||
xorg.libXmu
|
||||
libogg
|
||||
libvorbis
|
||||
SDL
|
||||
SDL2_image
|
||||
glew110
|
||||
libidn
|
||||
tbb
|
||||
flac
|
||||
freeglut
|
||||
libjpeg
|
||||
libpng
|
||||
libpng12
|
||||
libsamplerate
|
||||
libmikmod
|
||||
libtheora
|
||||
libtiff
|
||||
pixman
|
||||
speex
|
||||
SDL_image
|
||||
SDL_ttf
|
||||
SDL_mixer
|
||||
SDL2_ttf
|
||||
SDL2_mixer
|
||||
libappindicator-gtk2
|
||||
libdbusmenu-gtk2
|
||||
libindicator-gtk2
|
||||
libcaca
|
||||
libcanberra
|
||||
libgcrypt
|
||||
libvpx
|
||||
librsvg
|
||||
xorg.libXft
|
||||
libvdpau
|
||||
gnome2.pango
|
||||
cairo
|
||||
atk
|
||||
gdk-pixbuf
|
||||
fontconfig
|
||||
freetype
|
||||
dbus
|
||||
alsaLib
|
||||
expat
|
||||
libdrm
|
||||
mesa
|
||||
libxkbcommon
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
15
modules/nixos/services/system/pcscd/default.nix
Normal file
15
modules/nixos/services/system/pcscd/default.nix
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.services.system.pcscd;
|
||||
in {
|
||||
options = {
|
||||
nixos.services.system.pcscd.enable = mkEnableOption "Enables pcscd";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
services.pcscd.enable = true;
|
||||
};
|
||||
}
|
||||
24
modules/nixos/services/system/pipewire/default.nix
Normal file
24
modules/nixos/services/system/pipewire/default.nix
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.services.system.pipewire;
|
||||
in {
|
||||
options = {
|
||||
nixos.services.system.pipewire.enable = mkEnableOption "Enables pipewire";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
hardware.pulseaudio.enable = false;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa = {
|
||||
enable = true;
|
||||
support32Bit = true;
|
||||
};
|
||||
pulse.enable = true;
|
||||
jack.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
18
modules/nixos/services/system/powerd/default.nix
Normal file
18
modules/nixos/services/system/powerd/default.nix
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.services.system.powerd;
|
||||
in {
|
||||
options = {
|
||||
nixos.services.system.powerd.enable = mkEnableOption "Enables power-profiles-daemon";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
services = {
|
||||
power-profiles-daemon.enable = true;
|
||||
upower.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
15
modules/nixos/services/system/udisks/default.nix
Normal file
15
modules/nixos/services/system/udisks/default.nix
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.services.system.udisks;
|
||||
in {
|
||||
options = {
|
||||
nixos.services.system.udisks.enable = mkEnableOption "Enables udisks";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
services.udisks2.enable = true;
|
||||
};
|
||||
}
|
||||
15
modules/nixos/services/system/zram/default.nix
Normal file
15
modules/nixos/services/system/zram/default.nix
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.services.system.zram;
|
||||
in {
|
||||
options = {
|
||||
nixos.services.system.zram.enable = mkEnableOption "Enables zram";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
zramSwap.enable = true;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user