added thin user option to leyla
This commit is contained in:
parent
feb30a45bf
commit
0545051a1b
|
@ -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";
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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'
|
|
||||||
# '';
|
|
||||||
# }
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
}
|
}
|
Loading…
Reference in a new issue