added thin user option to leyla

This commit is contained in:
Leyla Becker 2024-09-03 00:16:33 -05:00
parent 4ab2cad4d2
commit fef18e7902
4 changed files with 64 additions and 101 deletions

View file

@ -17,10 +17,10 @@
sops.age.keyFile = "/home/leyla/.config/sops/age/keys.txt"; sops.age.keyFile = "/home/leyla/.config/sops/age/keys.txt";
users.leyla.isNormalUser = true; users.leyla.isNormalUser = true;
users.leyla.isThinInstallation = true;
users.ester.isNormalUser = false; users.ester.isNormalUser = false;
users.eve.isNormalUser = false; users.eve.isNormalUser = false;
boot.loader.grub = { boot.loader.grub = {
enable = true; enable = true;
device = "/dev/sda"; device = "/dev/sda";

View file

@ -9,6 +9,7 @@ in
options.users.leyla = { options.users.leyla = {
isNormalUser = lib.mkEnableOption "create usable leyla user"; isNormalUser = lib.mkEnableOption "create usable leyla user";
isThinInstallation = lib.mkEnableOption "are most programs going to be installed or not";
hasPiperMouse = lib.mkEnableOption "install programs for managing piper supported mouses"; hasPiperMouse = lib.mkEnableOption "install programs for managing piper supported mouses";
hasOpenRGBHardware = lib.mkEnableOption "install programs for managing openRGB supported hardware"; hasOpenRGBHardware = lib.mkEnableOption "install programs for managing openRGB supported hardware";
hasViaKeyboard = lib.mkEnableOption "install programs for managing via supported keyboards"; hasViaKeyboard = lib.mkEnableOption "install programs for managing via supported keyboards";
@ -35,7 +36,12 @@ in
( (
if cfg.isNormalUser then { if cfg.isNormalUser then {
isNormalUser = true; isNormalUser = true;
extraGroups = [ "networkmanager" "wheel" "adbusers" "docker" ]; extraGroups = lib.mkMerge [
["networkmanager" "wheel" "docker"]
(
lib.mkIf (!cfg.isThinInstallation) [ "adbusers" ]
)
];
hashedPasswordFile = config.sops.secrets."passwords/leyla".path; hashedPasswordFile = config.sops.secrets."passwords/leyla".path;
} else { } else {

View file

@ -120,33 +120,4 @@
}; };
}; };
}; };
# dconf.settings = {
# "org/gnome/settings-daemon/plugins/media-keys" = {
# custom-keybindings = [
# "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/"
# ];
# };
# };
# "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
# binding = "<Super>t";
# command = "kgx";
# name = "Open Terminal";
# };
# services.xserver.desktopManager.gnome3 = {
# extraGSettingsOverridePackages = with pkgs; [ gnome3.gnome-settings-daemon ];
# extraGSettingsOverrides = ''
# [org.gnome.settings-daemon.plugins.media-keys]
# custom-keybindings=['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/']
# [org.gnome.settings-daemon.plugins.media-keys.custom-keybindings.custom0]
# binding='<Super>t'
# command='kgx'
# name='Open terminal'
# '';
# }
} }

View file

@ -27,79 +27,65 @@ in
]; ];
users.users.leyla.packages = lib.mkIf cfg.isNormalUser ( users.users.leyla.packages = lib.mkIf cfg.isNormalUser (
with pkgs; [ lib.mkMerge [
#foss platforms (
signal-desktop with pkgs; [
bitwarden # comand line tools
firefox yt-dlp
ungoogled-chromium ffmpeg
libreoffice imagemagick
inkscape ]
gimp )
krita (
freecad lib.mkIf (!cfg.isThinInstallation) (
# cura with pkgs; [
kicad-small #foss platforms
makemkv signal-desktop
transmission_4-gtk bitwarden
onionshare firefox
easytag ungoogled-chromium
# rhythmbox libreoffice
(lib.mkIf cfg.hasGPU obs-studio) inkscape
# wireshark gimp
# rpi-imager krita
# fritzing freecad
# cura
kicad-small
makemkv
transmission_4-gtk
onionshare
easytag
# rhythmbox
(lib.mkIf cfg.hasGPU obs-studio)
# wireshark
# rpi-imager
# fritzing
# comand line tools # proprietary platforms
yt-dlp discord
ffmpeg obsidian
imagemagick steam
(lib.mkIf cfg.hasGPU davinci-resolve)
# development tools
vscodium
androidStudioPackages.canary
jetbrains.idea-community
dbeaver-bin
bruno
# proprietary platforms # system tools
discord protonvpn-gui
obsidian nextcloud-client
steam noisetorch
(lib.mkIf cfg.hasGPU davinci-resolve)
# development tools
vscodium
androidStudioPackages.canary
jetbrains.idea-community
dbeaver-bin
bruno
# system tools # hardware managment tools
protonvpn-gui (lib.mkIf cfg.hasPiperMouse piper)
nextcloud-client (lib.mkIf cfg.hasOpenRGBHardware openrgb)
noisetorch (lib.mkIf cfg.hasViaKeyboard via)
]
# hardware managment tools )
(lib.mkIf cfg.hasPiperMouse piper) )
(lib.mkIf cfg.hasOpenRGBHardware openrgb)
(lib.mkIf cfg.hasViaKeyboard via)
# # gaming
# # emulators
# # nintendo
# # TODO: replace this with self hosted flake
# # (lib.mkIf cfg.hasGPU yuzu-mainline) # Switch Emulator
# # TODO: replace this with self hosted flake
# # citra-canary # 3DS emulator
# (lib.mkIf cfg.hasGPU cemu) # Wii-U emulator
# dolphin-emu # GameCube and Wii Emulator
# desmume # DS Emulator
# mupen64plus # N64 Emulator
# zsnes # SNES Emulator
# vbam # Game Boy Advanced Emulator
# fceux # NES Emulator
# # play station
# rpcs3 # PS3 Emulator
# pcsx2 # PS2 Emulator
# pcsxr # PS1 Emulator
# # TODO: more play station emulators here when they come out
# #misc
# stella # Atari 2600 Emulator
# mame # mame Emulator
] ]
); );
} }