ran linter
This commit is contained in:
parent
5da0753b7c
commit
dcd5accea0
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -1,21 +1,40 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
../common
|
../common
|
||||||
];
|
];
|
||||||
|
|
||||||
users.groups.jellyfin_media = {
|
users = {
|
||||||
members = ["jellyfin" "leyla" "ester" "eve"];
|
groups = {
|
||||||
};
|
jellyfin_media = {
|
||||||
|
members = ["jellyfin" "leyla" "ester" "eve"];
|
||||||
|
};
|
||||||
|
|
||||||
users.groups.jellyfin = {
|
jellyfin = {
|
||||||
members = ["jellyfin" "leyla"];
|
members = ["jellyfin" "leyla"];
|
||||||
};
|
};
|
||||||
|
|
||||||
users.users.jellyfin = {
|
# forgejo = {
|
||||||
uid = 2000;
|
# members = ["forgejo" "leyla"];
|
||||||
group = "jellyfin";
|
# };
|
||||||
isSystemUser = true;
|
};
|
||||||
|
|
||||||
|
users = {
|
||||||
|
jellyfin = {
|
||||||
|
uid = 2000;
|
||||||
|
group = "jellyfin";
|
||||||
|
isSystemUser = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# forgejo = {
|
||||||
|
# uid = 2001;
|
||||||
|
# group = "forgejo";
|
||||||
|
# isSystemUser = true;
|
||||||
|
# };
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.tmpfiles.rules = [
|
systemd.tmpfiles.rules = [
|
||||||
|
@ -23,11 +42,14 @@
|
||||||
"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
|
||||||
|
|
82
flake.nix
82
flake.nix
|
@ -30,46 +30,50 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, disko, nixos-hardware, ... }@inputs:
|
outputs = {
|
||||||
let
|
self,
|
||||||
forEachSystem = nixpkgs.lib.genAttrs [
|
nixpkgs,
|
||||||
"aarch64-darwin"
|
disko,
|
||||||
"aarch64-linux"
|
nixos-hardware,
|
||||||
"x86_64-darwin"
|
...
|
||||||
"x86_64-linux"
|
} @ inputs: let
|
||||||
];
|
forEachSystem = nixpkgs.lib.genAttrs [
|
||||||
forEachPkgs = lambda: forEachSystem (system: lambda nixpkgs.legacyPackages.${system});
|
"aarch64-darwin"
|
||||||
in
|
"aarch64-linux"
|
||||||
{
|
"x86_64-darwin"
|
||||||
packages = forEachPkgs (pkgs: import ./pkgs { inherit pkgs; });
|
"x86_64-linux"
|
||||||
|
];
|
||||||
|
forEachPkgs = lambda: forEachSystem (system: lambda nixpkgs.legacyPackages.${system});
|
||||||
|
in {
|
||||||
|
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
|
||||||
nixos-hardware.nixosModules.framework-11th-gen-intel
|
nixos-hardware.nixosModules.framework-11th-gen-intel
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
# 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
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
# 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
|
||||||
./hosts/defiant/configuration.nix
|
./hosts/defiant/configuration.nix
|
||||||
];
|
];
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,15 +1,18 @@
|
||||||
# server nas
|
# server nas
|
||||||
{ config, pkgs, inputs, ... }:
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[
|
pkgs,
|
||||||
inputs.home-manager.nixosModules.default
|
inputs,
|
||||||
inputs.sops-nix.nixosModules.sops
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
inputs.home-manager.nixosModules.default
|
||||||
|
inputs.sops-nix.nixosModules.sops
|
||||||
|
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
|
|
||||||
../../enviroments/server
|
../../enviroments/server
|
||||||
];
|
];
|
||||||
|
|
||||||
users.leyla.isThinUser = true;
|
users.leyla.isThinUser = true;
|
||||||
|
|
||||||
|
@ -43,7 +46,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
# Get rid of xTerm
|
# Get rid of xTerm
|
||||||
excludePackages = [ pkgs.xterm ];
|
excludePackages = [pkgs.xterm];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -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 {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ lib, ... }:
|
{lib, ...}: {
|
||||||
{
|
|
||||||
options = {
|
options = {
|
||||||
hardware = {
|
hardware = {
|
||||||
piperMouse = {
|
piperMouse = {
|
||||||
|
|
|
@ -1,15 +1,18 @@
|
||||||
# leyla laptop
|
# leyla laptop
|
||||||
{ config, pkgs, inputs, ... }:
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[
|
pkgs,
|
||||||
inputs.home-manager.nixosModules.default
|
inputs,
|
||||||
inputs.sops-nix.nixosModules.sops
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
inputs.home-manager.nixosModules.default
|
||||||
|
inputs.sops-nix.nixosModules.sops
|
||||||
|
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
|
|
||||||
../../enviroments/client
|
../../enviroments/client
|
||||||
];
|
];
|
||||||
|
|
||||||
users = {
|
users = {
|
||||||
leyla.isFullUser = true;
|
leyla.isFullUser = true;
|
||||||
|
@ -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;
|
||||||
|
|
|
@ -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,43 +29,39 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
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,9 +87,9 @@
|
||||||
|
|
||||||
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 = {
|
||||||
useDHCP = lib.mkDefault true;
|
useDHCP = lib.mkDefault true;
|
||||||
|
@ -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;
|
||||||
|
|
|
@ -1,15 +1,18 @@
|
||||||
# leyla laptop
|
# leyla laptop
|
||||||
{ config, pkgs, inputs, ... }:
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[
|
pkgs,
|
||||||
inputs.home-manager.nixosModules.default
|
inputs,
|
||||||
inputs.sops-nix.nixosModules.sops
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
inputs.home-manager.nixosModules.default
|
||||||
|
inputs.sops-nix.nixosModules.sops
|
||||||
|
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
|
|
||||||
../../enviroments/client
|
../../enviroments/client
|
||||||
];
|
];
|
||||||
|
|
||||||
users = {
|
users = {
|
||||||
leyla = {
|
leyla = {
|
||||||
|
|
|
@ -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
|
||||||
|
@ -112,7 +113,7 @@
|
||||||
open = false;
|
open = false;
|
||||||
|
|
||||||
# Enable the Nvidia settings menu,
|
# Enable the Nvidia settings menu,
|
||||||
# accessible via `nvidia-settings`.
|
# accessible via `nvidia-settings`.
|
||||||
nvidiaSettings = true;
|
nvidiaSettings = true;
|
||||||
|
|
||||||
# Optionally, you may need to select the appropriate driver version for your specific GPU.
|
# Optionally, you may need to select the appropriate driver version for your specific GPU.
|
||||||
|
@ -122,4 +123,3 @@
|
||||||
cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
_:
|
_: {
|
||||||
{
|
|
||||||
# nixpkgs.overlays = [
|
# nixpkgs.overlays = [
|
||||||
# (self: super: {
|
# (self: super: {
|
||||||
# # ui is broken on 1.84
|
# # ui is broken on 1.84
|
||||||
|
|
|
@ -1,4 +1,2 @@
|
||||||
_:
|
_: {
|
||||||
{
|
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,2 +1 @@
|
||||||
_:
|
_: {}
|
||||||
{}
|
|
||||||
|
|
|
@ -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;};
|
||||||
}
|
}
|
|
@ -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;
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
|
@ -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 = {
|
||||||
|
@ -73,11 +75,11 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
# Let Home Manager install and manage itself.
|
# Let Home Manager install and manage itself.
|
||||||
home-manager.enable = true;
|
home-manager.enable = true;
|
||||||
git = {
|
git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
userName = "Leyla Becker";
|
userName = "Leyla Becker";
|
||||||
userEmail = "git@jan-leila.com";
|
userEmail = "git@jan-leila.com";
|
||||||
extraConfig.init.defaultBranch = "main";
|
extraConfig.init.defaultBranch = "main";
|
||||||
};
|
};
|
||||||
|
@ -89,18 +91,18 @@
|
||||||
"org/gnome/desktop/interface".color-scheme = "prefer-dark";
|
"org/gnome/desktop/interface".color-scheme = "prefer-dark";
|
||||||
|
|
||||||
"org/gnome/shell" = {
|
"org/gnome/shell" = {
|
||||||
disable-user-extensions = false; # enables user extensions
|
disable-user-extensions = false; # enables user extensions
|
||||||
enabled-extensions = [
|
enabled-extensions = [
|
||||||
# Put UUIDs of extensions that you want to enable here.
|
# Put UUIDs of extensions that you want to enable here.
|
||||||
# If the extension you want to enable is packaged in nixpkgs,
|
# If the extension you want to enable is packaged in nixpkgs,
|
||||||
# you can easily get its UUID by accessing its extensionUuid
|
# you can easily get its UUID by accessing its extensionUuid
|
||||||
# field (look at the following example).
|
# field (look at the following example).
|
||||||
pkgs.gnomeExtensions.dash-to-dock.extensionUuid
|
pkgs.gnomeExtensions.dash-to-dock.extensionUuid
|
||||||
|
|
||||||
# Alternatively, you can manually pass UUID as a string.
|
# Alternatively, you can manually pass UUID as a string.
|
||||||
# "dash-to-dock@micxgx.gmail.com"
|
# "dash-to-dock@micxgx.gmail.com"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
"org/gnome/shell/extensions/dash-to-dock" = {
|
"org/gnome/shell/extensions/dash-to-dock" = {
|
||||||
"dock-position" = "LEFT";
|
"dock-position" = "LEFT";
|
||||||
|
|
|
@ -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,37 +78,39 @@ 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
|
[
|
||||||
ms-vscode.atom-keybindings
|
# vs code feel extensions
|
||||||
akamud.vscode-theme-onedark
|
ms-vscode.atom-keybindings
|
||||||
streetsidesoftware.code-spell-checker
|
akamud.vscode-theme-onedark
|
||||||
streetsidesoftware.code-spell-checker-german
|
streetsidesoftware.code-spell-checker
|
||||||
streetsidesoftware.code-spell-checker-italian
|
streetsidesoftware.code-spell-checker-german
|
||||||
jeanp413.open-remote-ssh
|
streetsidesoftware.code-spell-checker-italian
|
||||||
|
jeanp413.open-remote-ssh
|
||||||
|
|
||||||
# nix extensions
|
# nix extensions
|
||||||
pinage404.nix-extension-pack
|
pinage404.nix-extension-pack
|
||||||
jnoortheen.nix-ide
|
jnoortheen.nix-ide
|
||||||
|
|
||||||
# html extensions
|
# html extensions
|
||||||
formulahendry.auto-rename-tag
|
formulahendry.auto-rename-tag
|
||||||
ms-vscode.live-server
|
ms-vscode.live-server
|
||||||
|
|
||||||
# js extensions
|
# js extensions
|
||||||
dsznajder.es7-react-js-snippets
|
dsznajder.es7-react-js-snippets
|
||||||
dbaeumer.vscode-eslint
|
dbaeumer.vscode-eslint
|
||||||
standard.vscode-standard
|
standard.vscode-standard
|
||||||
firsttris.vscode-jest-runner
|
firsttris.vscode-jest-runner
|
||||||
stylelint.vscode-stylelint
|
stylelint.vscode-stylelint
|
||||||
tauri-apps.tauri-vscode
|
tauri-apps.tauri-vscode
|
||||||
|
|
||||||
# misc extensions
|
# misc extensions
|
||||||
bungcip.better-toml
|
bungcip.better-toml
|
||||||
] ++ (with vscode-marketplace; [
|
]
|
||||||
# js extensions
|
++ (with vscode-marketplace; [
|
||||||
karyfoundation.nearley
|
# js extensions
|
||||||
]);
|
karyfoundation.nearley
|
||||||
|
]);
|
||||||
})
|
})
|
||||||
androidStudioPackages.canary
|
androidStudioPackages.canary
|
||||||
jetbrains.idea-community
|
jetbrains.idea-community
|
||||||
|
|
|
@ -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)
|
||||||
|
|
Loading…
Reference in a new issue