ran linter

This commit is contained in:
Leyla Becker 2024-09-21 11:26:18 -05:00
parent 5da0753b7c
commit dcd5accea0
23 changed files with 372 additions and 309 deletions

View file

@ -1,11 +1,9 @@
{ pkgs, ... }: {pkgs, ...}: {
{
imports = [ imports = [
../common ../common
]; ];
services = { services = {
# Enable CUPS to print documents. # Enable CUPS to print documents.
printing.enable = true; printing.enable = true;
@ -21,7 +19,7 @@
}; };
# Get rid of xTerm # Get rid of xTerm
excludePackages = [ pkgs.xterm ]; excludePackages = [pkgs.xterm];
# Configure keymap in X11 # Configure keymap in X11
xkb = { xkb = {
@ -44,7 +42,6 @@
}; };
}; };
# Enable sound with pipewire. # Enable sound with pipewire.
hardware.pulseaudio.enable = false; hardware.pulseaudio.enable = false;
security.rtkit.enable = true; security.rtkit.enable = true;

View file

@ -1,11 +1,10 @@
{ pkgs, ... }: {pkgs, ...}: {
{
imports = [ imports = [
../../users ../../users
]; ];
nix.settings.experimental-features = [ "nix-command" "flakes" ]; nix.settings.experimental-features = ["nix-command" "flakes"];
nix.settings.trusted-users = [ "leyla" ]; nix.settings.trusted-users = ["leyla"];
# Enable networking # Enable networking
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
@ -32,10 +31,10 @@
services = { services = {
openssh = { openssh = {
enable = true; enable = true;
ports = [ 22 ]; ports = [22];
settings = { settings = {
PasswordAuthentication = false; PasswordAuthentication = false;
AllowUsers = [ "leyla" ]; # Allows all users by default. Can be [ "user1" "user2" ] AllowUsers = ["leyla"]; # Allows all users by default. Can be [ "user1" "user2" ]
UseDns = true; UseDns = true;
X11Forwarding = false; X11Forwarding = false;
}; };
@ -47,7 +46,7 @@
defaultSopsFormat = "yaml"; defaultSopsFormat = "yaml";
gnupg.sshKeyPaths = []; gnupg.sshKeyPaths = [];
age ={ age = {
keyFile = "/var/lib/sops-nix/key.txt"; keyFile = "/var/lib/sops-nix/key.txt";
sshKeyPaths = []; sshKeyPaths = [];
# generateKey = true; # generateKey = true;

View file

@ -1,33 +1,55 @@
{ config, pkgs, ... }:
{ {
config,
pkgs,
...
}: {
imports = [ imports = [
../common ../common
]; ];
users.groups.jellyfin_media = { users = {
groups = {
jellyfin_media = {
members = ["jellyfin" "leyla" "ester" "eve"]; members = ["jellyfin" "leyla" "ester" "eve"];
}; };
users.groups.jellyfin = { jellyfin = {
members = ["jellyfin" "leyla"]; members = ["jellyfin" "leyla"];
}; };
users.users.jellyfin = { # forgejo = {
# members = ["forgejo" "leyla"];
# };
};
users = {
jellyfin = {
uid = 2000; uid = 2000;
group = "jellyfin"; group = "jellyfin";
isSystemUser = true; isSystemUser = true;
}; };
# forgejo = {
# uid = 2001;
# group = "forgejo";
# isSystemUser = true;
# };
};
};
systemd.tmpfiles.rules = [ systemd.tmpfiles.rules = [
"d /home/jellyfin 755 jellyfin jellyfin -" "d /home/jellyfin 755 jellyfin jellyfin -"
"d /home/jellyfin/media 775 jellyfin jellyfin_media -" "d /home/jellyfin/media 775 jellyfin jellyfin_media -"
"d /home/jellyfin/config 750 jellyfin jellyfin -" "d /home/jellyfin/config 750 jellyfin jellyfin -"
"d /home/jellyfin/cache 755 jellyfin jellyfin_media -" "d /home/jellyfin/cache 755 jellyfin jellyfin_media -"
# "d /home/forgejo 750 forgejo forgejo -"
# "d /home/forgejo/data 750 forgejo forgejo -"
]; ];
services = let services = let
jellyfinDomain = "jellyfin.jan-leila.com"; jellyfinDomain = "jellyfin.jan-leila.com";
headscaleDomain = "headscale.jan-leila.com"; headscaleDomain = "headscale.jan-leila.com";
# forgejoDomain = "forgejo.jan-leila.com";
in { in {
nfs.server = { nfs.server = {
enable = true; enable = true;
@ -59,6 +81,20 @@
openFirewall = false; openFirewall = false;
}; };
# TODO: figure out what needs to be here
# forgejo = {
# enable = true;
# database.type = "postgres";
# lfs.enable = true;
# settings = {
# server = {
# DOMAIN = forgejoDomain;
# HTTP_PORT = 8081;
# };
# service.DISABLE_REGISTRATION = true;
# };
# };
nginx = { nginx = {
enable = false; # TODO: enable this when you want to test all the configs enable = false; # TODO: enable this when you want to test all the configs
virtualHosts = { virtualHosts = {
@ -66,20 +102,20 @@
forceSSL = true; forceSSL = true;
enableACME = true; enableACME = true;
locations."/" = { locations."/" = {
proxyPass = proxyPass = "http://localhost:${toString config.services.headscale.port}";
"http://localhost:${toString config.services.headscale.port}";
proxyWebsockets = true; proxyWebsockets = true;
}; };
}; };
${jellyfinDomain} = { ${jellyfinDomain} = {
forceSSL = true; forceSSL = true;
enableACME = true; enableACME = true;
locations."/" = { locations."/".proxyPass = "http://localhost:8096";
proxyPass =
"http://localhost:8096";
proxyWebsockets = true;
};
}; };
# ${forgejoDomain} = {
# forceSSL = true;
# enableACME = true;
# locations."/".proxyPass = "http://localhost:${toString config.services.forgejo.settings.server.HTTP_PORT}";
# };
}; };
}; };
}; };
@ -97,7 +133,7 @@
hybrid-sleep.enable = false; hybrid-sleep.enable = false;
}; };
networking.firewall.allowedTCPPorts = [ 2049 ]; networking.firewall.allowedTCPPorts = [2049];
environment.systemPackages = [ environment.systemPackages = [
config.services.headscale.package config.services.headscale.package

View file

@ -30,8 +30,13 @@
}; };
}; };
outputs = { self, nixpkgs, disko, nixos-hardware, ... }@inputs: outputs = {
let self,
nixpkgs,
disko,
nixos-hardware,
...
} @ inputs: let
forEachSystem = nixpkgs.lib.genAttrs [ forEachSystem = nixpkgs.lib.genAttrs [
"aarch64-darwin" "aarch64-darwin"
"aarch64-linux" "aarch64-linux"
@ -39,14 +44,13 @@
"x86_64-linux" "x86_64-linux"
]; ];
forEachPkgs = lambda: forEachSystem (system: lambda nixpkgs.legacyPackages.${system}); forEachPkgs = lambda: forEachSystem (system: lambda nixpkgs.legacyPackages.${system});
in in {
{ packages = forEachPkgs (pkgs: import ./pkgs {inherit pkgs;});
packages = forEachPkgs (pkgs: import ./pkgs { inherit pkgs; });
nixosConfigurations = { nixosConfigurations = {
# Leyla Laptop # Leyla Laptop
horizon = nixpkgs.lib.nixosSystem { horizon = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; }; specialArgs = {inherit inputs;};
modules = [ modules = [
./hosts/horizon/configuration.nix ./hosts/horizon/configuration.nix
inputs.home-manager.nixosModules.default inputs.home-manager.nixosModules.default
@ -55,7 +59,7 @@
}; };
# Leyla Desktop # Leyla Desktop
twilight = nixpkgs.lib.nixosSystem { twilight = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; }; specialArgs = {inherit inputs;};
modules = [ modules = [
./hosts/twilight/configuration.nix ./hosts/twilight/configuration.nix
inputs.home-manager.nixosModules.default inputs.home-manager.nixosModules.default
@ -63,7 +67,7 @@
}; };
# NAS Service # NAS Service
defiant = nixpkgs.lib.nixosSystem { defiant = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; }; specialArgs = {inherit inputs;};
modules = [ modules = [
disko.nixosModules.disko disko.nixosModules.disko
./hosts/defiant/disko-config.nix ./hosts/defiant/disko-config.nix

View file

@ -1,8 +1,11 @@
# server nas # server nas
{ config, pkgs, inputs, ... }:
{ {
imports = config,
[ pkgs,
inputs,
...
}: {
imports = [
inputs.home-manager.nixosModules.default inputs.home-manager.nixosModules.default
inputs.sops-nix.nixosModules.sops inputs.sops-nix.nixosModules.sops
@ -43,7 +46,7 @@
}; };
# Get rid of xTerm # Get rid of xTerm
excludePackages = [ pkgs.xterm ]; excludePackages = [pkgs.xterm];
}; };
}; };

View file

@ -1,5 +1,4 @@
{ lib, ... }: {lib, ...}: let
let
bootDisk = devicePath: { bootDisk = devicePath: {
type = "disk"; type = "disk";
device = devicePath; device = devicePath;
@ -86,11 +85,13 @@ in {
# should this only mirror for this inital config with 3 drives we will used raidz2 for future configs??? # should this only mirror for this inital config with 3 drives we will used raidz2 for future configs???
mode = "mirror"; mode = "mirror";
members = [ members = [
"hd_13_tb_a" "hd_13_tb_b" "hd_13_tb_c" "hd_13_tb_a"
"hd_13_tb_b"
"hd_13_tb_c"
]; ];
} }
]; ];
cache = [ ]; cache = [];
# cache = [ "ssd_2_tb_a" ]; # cache = [ "ssd_2_tb_a" ];
}; };
}; };
@ -133,4 +134,3 @@ in {
}; };
}; };
} }

View file

@ -1,9 +1,13 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{ {
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [ imports = [
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
../hardware-common.nix ../hardware-common.nix
@ -11,15 +15,15 @@
boot = { boot = {
initrd = { initrd = {
availableKernelModules = [ "xhci_pci" "aacraid" "ahci" "usbhid" "usb_storage" "sd_mod" ]; availableKernelModules = ["xhci_pci" "aacraid" "ahci" "usbhid" "usb_storage" "sd_mod"];
kernelModules = [ ]; kernelModules = [];
}; };
kernelModules = [ "kvm-amd" ]; kernelModules = ["kvm-amd"];
extraModulePackages = [ ]; extraModulePackages = [];
supportedFilesystems = [ "zfs" ]; supportedFilesystems = ["zfs"];
zfs.extraPools = [ "zroot" ]; zfs.extraPools = ["zroot"];
}; };
# fileSystems."/" = # fileSystems."/" =
@ -27,7 +31,7 @@
# fsType = "ext4"; # fsType = "ext4";
# }; # };
swapDevices = [ ]; swapDevices = [];
networking = { networking = {
# 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

View file

@ -1,5 +1,4 @@
{ lib, ... }: {lib, ...}: {
{
options = { options = {
hardware = { hardware = {
piperMouse = { piperMouse = {

View file

@ -1,8 +1,11 @@
# leyla laptop # leyla laptop
{ config, pkgs, inputs, ... }:
{ {
imports = config,
[ pkgs,
inputs,
...
}: {
imports = [
inputs.home-manager.nixosModules.default inputs.home-manager.nixosModules.default
inputs.sops-nix.nixosModules.sops inputs.sops-nix.nixosModules.sops
@ -25,7 +28,7 @@
setSocketVariable = true; setSocketVariable = true;
}; };
}; };
users.extraGroups.docker.members = [ "leyla" ]; users.extraGroups.docker.members = ["leyla"];
# Enable touchpad support (enabled default in most desktopManager). # Enable touchpad support (enabled default in most desktopManager).
# services.xserver.libinput.enable = true; # services.xserver.libinput.enable = true;

View file

@ -1,9 +1,13 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{ {
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [ imports = [
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
../hardware-common.nix ../hardware-common.nix
@ -11,11 +15,11 @@
boot = { boot = {
initrd = { initrd = {
availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ]; availableKernelModules = ["xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod"];
kernelModules = [ ]; kernelModules = [];
}; };
kernelModules = [ "kvm-intel" "sg" ]; kernelModules = ["kvm-intel" "sg"];
extraModulePackages = [ ]; extraModulePackages = [];
# Bootloader. # Bootloader.
loader = { loader = {
@ -25,42 +29,38 @@
}; };
fileSystems = { fileSystems = {
"/" = "/" = {
{ device = "/dev/disk/by-uuid/866d422b-f816-4ad9-9846-791839cb9337"; device = "/dev/disk/by-uuid/866d422b-f816-4ad9-9846-791839cb9337";
fsType = "ext4"; fsType = "ext4";
}; };
"/boot" = "/boot" = {
{ device = "/dev/disk/by-uuid/E138-65B5"; device = "/dev/disk/by-uuid/E138-65B5";
fsType = "vfat"; fsType = "vfat";
}; };
"/mnt/leyla_home" = "/mnt/leyla_home" = {
{
device = "defiant:/home/leyla"; device = "defiant:/home/leyla";
fsType = "nfs"; fsType = "nfs";
options = [ "x-systemd.automount" "user" "noatime" "nofail" "soft" "x-systemd.idle-timeout=600" "fsc" ]; options = ["x-systemd.automount" "user" "noatime" "nofail" "soft" "x-systemd.idle-timeout=600" "fsc"];
}; };
"/mnt/eve_home" = "/mnt/eve_home" = {
{
device = "defiant:/home/eve"; device = "defiant:/home/eve";
fsType = "nfs"; fsType = "nfs";
options = [ "x-systemd.automount" "user" "nofail" "soft" "x-systemd.idle-timeout=600" "fsc" ]; options = ["x-systemd.automount" "user" "nofail" "soft" "x-systemd.idle-timeout=600" "fsc"];
}; };
"/mnt/ester_home" = "/mnt/ester_home" = {
{
device = "defiant:/home/ester"; device = "defiant:/home/ester";
fsType = "nfs"; fsType = "nfs";
options = [ "x-systemd.automount" "user" "nofail" "soft" "x-systemd.idle-timeout=600" "fsc" ]; options = ["x-systemd.automount" "user" "nofail" "soft" "x-systemd.idle-timeout=600" "fsc"];
}; };
"/mnt/users_home" = "/mnt/users_home" = {
{
device = "defiant:/home/users"; device = "defiant:/home/users";
fsType = "nfs"; fsType = "nfs";
options = [ "x-systemd.automount" "user" "nofail" "soft" "x-systemd.idle-timeout=600" "fsc" ]; options = ["x-systemd.automount" "user" "nofail" "soft" "x-systemd.idle-timeout=600" "fsc"];
}; };
# "/mnt/legacy_leyla_home" = # "/mnt/legacy_leyla_home" =
@ -87,8 +87,8 @@
services.cachefilesd.enable = true; services.cachefilesd.enable = true;
swapDevices = swapDevices = [
[ { device = "/dev/disk/by-uuid/be98e952-a072-4c3a-8c12-69500b5a2fff"; } {device = "/dev/disk/by-uuid/be98e952-a072-4c3a-8c12-69500b5a2fff";}
]; ];
networking = { networking = {
@ -99,7 +99,6 @@
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
hardware = { hardware = {
graphics.enable = true; graphics.enable = true;
cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;

View file

@ -1,8 +1,11 @@
# leyla laptop # leyla laptop
{ config, pkgs, inputs, ... }:
{ {
imports = config,
[ pkgs,
inputs,
...
}: {
imports = [
inputs.home-manager.nixosModules.default inputs.home-manager.nixosModules.default
inputs.sops-nix.nixosModules.sops inputs.sops-nix.nixosModules.sops

View file

@ -1,9 +1,13 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{ {
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [ imports = [
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
../hardware-common.nix ../hardware-common.nix
@ -11,11 +15,11 @@
boot = { boot = {
initrd = { initrd = {
availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ]; availableKernelModules = ["nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod"];
kernelModules = [ ]; kernelModules = [];
}; };
kernelModules = [ "kvm-amd" "sg" ]; kernelModules = ["kvm-amd" "sg"];
extraModulePackages = [ ]; extraModulePackages = [];
# Bootloader. # Bootloader.
loader = { loader = {
@ -33,40 +37,37 @@
}; };
fileSystems = { fileSystems = {
"/" = "/" = {
{ device = "/dev/disk/by-uuid/8be49c65-2b57-48f1-b74d-244d26061adb"; device = "/dev/disk/by-uuid/8be49c65-2b57-48f1-b74d-244d26061adb";
fsType = "ext4"; fsType = "ext4";
}; };
"/boot" = "/boot" = {
{ device = "/dev/disk/by-uuid/3006-3867"; device = "/dev/disk/by-uuid/3006-3867";
fsType = "vfat"; fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ]; options = ["fmask=0022" "dmask=0022"];
}; };
"/mnt/leyla_home" = "/mnt/leyla_home" = {
{
device = "server.arpa:/home/leyla"; device = "server.arpa:/home/leyla";
fsType = "nfs"; fsType = "nfs";
options = [ "x-systemd.automount" "user" "nofail" "soft" "x-systemd.idle-timeout=600" "fsc" ]; options = ["x-systemd.automount" "user" "nofail" "soft" "x-systemd.idle-timeout=600" "fsc"];
}; };
"/mnt/share_home" = "/mnt/share_home" = {
{
device = "server.arpa:/home/share"; device = "server.arpa:/home/share";
fsType = "nfs"; fsType = "nfs";
options = [ "x-systemd.automount" "user" "nofail" "soft" "x-systemd.idle-timeout=600" "fsc" ]; options = ["x-systemd.automount" "user" "nofail" "soft" "x-systemd.idle-timeout=600" "fsc"];
}; };
"/mnt/docker_home" = "/mnt/docker_home" = {
{
device = "server.arpa:/home/docker"; device = "server.arpa:/home/docker";
fsType = "nfs"; fsType = "nfs";
options = [ "x-systemd.automount" "noauto" "x-systemd.idle-timeout=600" ]; options = ["x-systemd.automount" "noauto" "x-systemd.idle-timeout=600"];
}; };
}; };
swapDevices = [ ]; swapDevices = [];
networking = { networking = {
# 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
@ -122,4 +123,3 @@
cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}; };
} }

View file

@ -1,5 +1,4 @@
_: _: {
{
# nixpkgs.overlays = [ # nixpkgs.overlays = [
# (self: super: { # (self: super: {
# # idea is too out of date for android gradle things # # idea is too out of date for android gradle things

View file

@ -1,5 +1,4 @@
_: _: {
{
# nixpkgs.overlays = [ # nixpkgs.overlays = [
# (self: super: { # (self: super: {
# # ui is broken on 1.84 # # ui is broken on 1.84

View file

@ -1,4 +1,2 @@
_: _: {
{
} }

View file

@ -1,2 +1 @@
_: _: {}
{}

View file

@ -1,8 +1,7 @@
{ inputs, ... }: {inputs, ...}: {
{ imports = [./leyla ./ester ./eve];
imports = [ ./leyla ./ester ./eve ];
users.mutableUsers = false; users.mutableUsers = false;
home-manager.extraSpecialArgs = { inherit inputs; }; home-manager.extraSpecialArgs = {inherit inputs;};
} }

View file

@ -1,8 +1,11 @@
{ lib, config, pkgs, ... }:
let
cfg = config.users.ester;
in
{ {
lib,
config,
pkgs,
...
}: let
cfg = config.users.ester;
in {
options.users.ester = { options.users.ester = {
isFullUser = lib.mkEnableOption "ester"; isFullUser = lib.mkEnableOption "ester";
}; };
@ -25,9 +28,10 @@ in
} }
( (
if cfg.isFullUser then { if cfg.isFullUser
then {
isNormalUser = true; isNormalUser = true;
extraGroups = [ "networkmanager" "users" ]; extraGroups = ["networkmanager" "users"];
hashedPasswordFile = config.sops.secrets."passwords/ester".path; hashedPasswordFile = config.sops.secrets."passwords/ester".path;
@ -36,7 +40,8 @@ in
bitwarden bitwarden
discord discord
]; ];
} else { }
else {
isSystemUser = true; isSystemUser = true;
} }
) )

View file

@ -1,8 +1,11 @@
{ lib, config, pkgs, ... }:
let
cfg = config.users.eve;
in
{ {
lib,
config,
pkgs,
...
}: let
cfg = config.users.eve;
in {
options.users.eve = { options.users.eve = {
isFullUser = lib.mkEnableOption "eve"; isFullUser = lib.mkEnableOption "eve";
}; };
@ -25,9 +28,10 @@ in
} }
( (
if cfg.isFullUser then { if cfg.isFullUser
then {
isNormalUser = true; isNormalUser = true;
extraGroups = [ "networkmanager" "users" ]; extraGroups = ["networkmanager" "users"];
hashedPasswordFile = config.sops.secrets."passwords/eve".path; hashedPasswordFile = config.sops.secrets."passwords/eve".path;
@ -38,7 +42,8 @@ in
makemkv makemkv
signal-desktop signal-desktop
]; ];
} else { }
else {
isSystemUser = true; isSystemUser = true;
} }
) )

View file

@ -1,9 +1,12 @@
{ lib, config, pkgs, ... }:
let
cfg = config.users.leyla;
in
{ {
imports =[ lib,
config,
pkgs,
...
}: let
cfg = config.users.leyla;
in {
imports = [
./packages.nix ./packages.nix
]; ];
@ -31,12 +34,13 @@ in
} }
( (
if (cfg.isFullUser || cfg.isThinUser) then { if (cfg.isFullUser || cfg.isThinUser)
then {
isNormalUser = true; isNormalUser = true;
extraGroups = lib.mkMerge [ extraGroups = lib.mkMerge [
["networkmanager" "wheel" "users"] ["networkmanager" "wheel" "users"]
( (
lib.mkIf (!cfg.isThinUser) [ "adbusers" ] lib.mkIf (!cfg.isThinUser) ["adbusers"]
) )
]; ];
@ -48,7 +52,8 @@ in
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKBiZkg1c2aaNHiieBX4cEziqvJVj9pcDfzUrKU/mO0I leyla@twilight" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKBiZkg1c2aaNHiieBX4cEziqvJVj9pcDfzUrKU/mO0I leyla@twilight"
]; ];
}; };
} else { }
else {
isSystemUser = true; isSystemUser = true;
} }
) )

View file

@ -1,6 +1,8 @@
{ config, pkgs, ... }:
{ {
config,
pkgs,
...
}: {
# Home Manager needs a bit of information about you and the paths it should # Home Manager needs a bit of information about you and the paths it should
# manage. # manage.
home = { home = {

View file

@ -1,8 +1,12 @@
{ lib, config, pkgs, inputs, ... }:
let
cfg = config.users.leyla;
in
{ {
lib,
config,
pkgs,
inputs,
...
}: let
cfg = config.users.leyla;
in {
imports = [ imports = [
../../overlays/intellij.nix ../../overlays/intellij.nix
../../overlays/vscodium.nix ../../overlays/vscodium.nix
@ -74,7 +78,8 @@ in
# development tools # development tools
(vscode-with-extensions.override { (vscode-with-extensions.override {
vscode = vscodium; vscode = vscodium;
vscodeExtensions = with open-vsx; [ vscodeExtensions = with open-vsx;
[
# vs code feel extensions # vs code feel extensions
ms-vscode.atom-keybindings ms-vscode.atom-keybindings
akamud.vscode-theme-onedark akamud.vscode-theme-onedark
@ -101,7 +106,8 @@ in
# misc extensions # misc extensions
bungcip.better-toml bungcip.better-toml
] ++ (with vscode-marketplace; [ ]
++ (with vscode-marketplace; [
# js extensions # js extensions
karyfoundation.nearley karyfoundation.nearley
]); ]);

View file

@ -1,5 +1,4 @@
_: _: {
{
# mkUnless = condition: then: (mkIf (!condition) then); # mkUnless = condition: then: (mkIf (!condition) then);
# mkIfElse = condition: then: else: lib.mkMerge [ # mkIfElse = condition: then: else: lib.mkMerge [
# (mkIf condition then) # (mkIf condition then)