mirror of
https://github.com/gensokyo-zone/infrastructure.git
synced 2026-02-09 12:29:19 -08:00
Major refactor where Desktop is split into various profiles for more granularity.
This commit is contained in:
parent
78652342bc
commit
f2e5439190
15 changed files with 191 additions and 49 deletions
33
README.md
33
README.md
|
|
@ -1,7 +1,34 @@
|
||||||
# Proto readme
|
# nix-ring
|
||||||
|
|
||||||
|
One repository to deploy to them all!
|
||||||
|
|
||||||
|
## Related commands for usage
|
||||||
|
|
||||||
|
### SSH Problem solving
|
||||||
|
|
||||||
|
For new deploys, the SSHOPTS="-p 22" when // kat is applied to a SSH host definition will be required.
|
||||||
|
|
||||||
* export NIX_SSHOPTS="-p 62954"
|
* export NIX_SSHOPTS="-p 62954"
|
||||||
* export NIX_SSHOPTS="-p 22"
|
* export NIX_SSHOPTS="-p 22"
|
||||||
|
|
||||||
|
### Deployment
|
||||||
|
|
||||||
* nix build -f . deploy.all && ./result
|
* nix build -f . deploy.all && ./result
|
||||||
* nix build -f . deploy.$group && ./result
|
* nix build -f . deploy.<group> && ./result
|
||||||
* nix build -f . deploy.$hostname && ./result
|
* nix build -f . deploy.<hostname> && ./result
|
||||||
|
|
||||||
|
## Systems
|
||||||
|
|
||||||
|
* Beltane - Main server.
|
||||||
|
* Samhain - Desktop.
|
||||||
|
* Yule - Laptop.
|
||||||
|
* Litha - Backup laptop.
|
||||||
|
* Ostara - HTPC laptop, maybe.
|
||||||
|
|
||||||
|
## To-do
|
||||||
|
|
||||||
|
- [ ] Integrate Ostara into configurations.
|
||||||
|
- [ ] Secrets management for Beltane.
|
||||||
|
- [ ] Additional services configuration for Beltane (that isn't )
|
||||||
|
- [ ] Migrate to something that isn't XFCE or GNOME for the laptop devices (likely Sway).
|
||||||
|
- [ ] Move Firefox configuration to be done using home-manager, maybe even going as far to NUR package things like 1password + tree style tabs(?)
|
||||||
|
|
@ -18,7 +18,7 @@ in {
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
|
boot.kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
|
||||||
boot.kernelParams = [ "quiet" ];
|
#boot.kernelParams = [ "quiet" ];
|
||||||
|
|
||||||
nixpkgs.config = {
|
nixpkgs.config = {
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
|
|
@ -47,12 +47,6 @@ in {
|
||||||
keyMap = "uk";
|
keyMap = "uk";
|
||||||
};
|
};
|
||||||
|
|
||||||
fonts.fontconfig.enable = true;
|
|
||||||
fonts.fonts = [
|
|
||||||
pkgs.nerdfonts
|
|
||||||
pkgs.corefonts
|
|
||||||
];
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
smartmontools
|
smartmontools
|
||||||
lm_sensors
|
lm_sensors
|
||||||
|
|
|
||||||
|
|
@ -71,6 +71,9 @@
|
||||||
"samhain" = {
|
"samhain" = {
|
||||||
hostname = "192.168.1.135";
|
hostname = "192.168.1.135";
|
||||||
} // kat;
|
} // kat;
|
||||||
|
"litha" = {
|
||||||
|
hostname = "192.168.1.240";
|
||||||
|
} // kat;
|
||||||
"yule" = {
|
"yule" = {
|
||||||
hostname = "192.168.1.92";
|
hostname = "192.168.1.92";
|
||||||
} // kat;
|
} // kat;
|
||||||
|
|
|
||||||
|
|
@ -5,20 +5,6 @@ let unstable = import ( fetchTarball https://github.com/NixOS/nixpkgs/archive/ma
|
||||||
mumble.speechdSupport = true;
|
mumble.speechdSupport = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware.opengl.driSupport32Bit = true;
|
|
||||||
hardware.opengl.extraPackages32 = with pkgs.pkgsi686Linux; [ libva ];
|
|
||||||
hardware.pulseaudio.support32Bit = true;
|
|
||||||
|
|
||||||
environment.systemPackages = [
|
|
||||||
pkgs.php
|
|
||||||
pkgs.php74Packages.composer2
|
|
||||||
];
|
|
||||||
|
|
||||||
services.gvfs = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.gnome3.gvfs;
|
|
||||||
};
|
|
||||||
|
|
||||||
home-manager.users.kat = {
|
home-manager.users.kat = {
|
||||||
home.packages = [
|
home.packages = [
|
||||||
pkgs._1password
|
pkgs._1password
|
||||||
|
|
@ -30,12 +16,7 @@ let unstable = import ( fetchTarball https://github.com/NixOS/nixpkgs/archive/ma
|
||||||
pkgs.lm_sensors
|
pkgs.lm_sensors
|
||||||
pkgs.discord
|
pkgs.discord
|
||||||
pkgs.tdesktop
|
pkgs.tdesktop
|
||||||
pkgs.carnix
|
|
||||||
pkgs.rustc
|
|
||||||
pkgs.cargo
|
|
||||||
pkgs.steam
|
|
||||||
pkgs.dino
|
pkgs.dino
|
||||||
pkgs.dconf2nix
|
|
||||||
pkgs.nitrogen
|
pkgs.nitrogen
|
||||||
pkgs.terminator
|
pkgs.terminator
|
||||||
pkgs.appimage-run
|
pkgs.appimage-run
|
||||||
|
|
@ -43,18 +24,6 @@ let unstable = import ( fetchTarball https://github.com/NixOS/nixpkgs/archive/ma
|
||||||
pkgs.vscode
|
pkgs.vscode
|
||||||
pkgs.neofetch
|
pkgs.neofetch
|
||||||
pkgs.htop
|
pkgs.htop
|
||||||
pkgs.jetbrains.clion
|
|
||||||
pkgs.jetbrains.idea-ultimate
|
|
||||||
pkgs.jetbrains.goland
|
|
||||||
pkgs.jetbrains.phpstorm
|
|
||||||
pkgs.gnome3.gnome-tweak-tool
|
|
||||||
pkgs.gnomeExtensions.caffeine
|
|
||||||
pkgs.gnomeExtensions.emoji-selector
|
|
||||||
pkgs.gnomeExtensions.gsconnect
|
|
||||||
pkgs.gnomeExtensions.dash-to-panel
|
|
||||||
pkgs.gnomeExtensions.appindicator
|
|
||||||
pkgs.gnomeExtensions.dash-to-dock
|
|
||||||
pkgs.gnomeExtensions.arc-menu
|
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.fish = {
|
programs.fish = {
|
||||||
|
|
@ -82,10 +51,6 @@ let unstable = import ( fetchTarball https://github.com/NixOS/nixpkgs/archive/ma
|
||||||
pkgs.corefonts
|
pkgs.corefonts
|
||||||
];
|
];
|
||||||
|
|
||||||
services.xserver.enable = true;
|
|
||||||
services.xserver.displayManager.gdm.enable = true;
|
|
||||||
services.xserver.desktopManager.gnome3.enable = true;
|
|
||||||
|
|
||||||
sound.enable = true;
|
sound.enable = true;
|
||||||
hardware.pulseaudio.enable = true;
|
hardware.pulseaudio.enable = true;
|
||||||
hardware.opengl.enable = true;
|
hardware.opengl.enable = true;
|
||||||
|
|
|
||||||
20
configuration/development/default.nix
Normal file
20
configuration/development/default.nix
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
{
|
||||||
|
environment.systemPackages = [
|
||||||
|
pkgs.php
|
||||||
|
pkgs.php74Packages.composer2
|
||||||
|
];
|
||||||
|
|
||||||
|
home-manager.users.kat = {
|
||||||
|
home.packages = [
|
||||||
|
pkgs.jetbrains.clion
|
||||||
|
pkgs.jetbrains.idea-ultimate
|
||||||
|
pkgs.jetbrains.goland
|
||||||
|
pkgs.jetbrains.phpstorm
|
||||||
|
pkgs.carnix
|
||||||
|
pkgs.rustc
|
||||||
|
pkgs.cargo
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
14
configuration/gaming/default.nix
Normal file
14
configuration/gaming/default.nix
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
{
|
||||||
|
hardware.opengl.driSupport32Bit = true;
|
||||||
|
hardware.opengl.extraPackages32 = with pkgs.pkgsi686Linux; [ libva ];
|
||||||
|
hardware.pulseaudio.support32Bit = true;
|
||||||
|
|
||||||
|
home-manager.users.kat = {
|
||||||
|
home.packages = [
|
||||||
|
pkgs.steam
|
||||||
|
pkgs.steam-run
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
26
configuration/gnome/default.nix
Normal file
26
configuration/gnome/default.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
{
|
||||||
|
services.xserver.enable = true;
|
||||||
|
services.xserver.displayManager.gdm.enable = true;
|
||||||
|
services.xserver.desktopManager.gnome3.enable = true;
|
||||||
|
|
||||||
|
home-manager.users.kat = {
|
||||||
|
home.packages = [
|
||||||
|
pkgs.dconf2nix
|
||||||
|
pkgs.gnome3.gnome-tweak-tool
|
||||||
|
pkgs.gnomeExtensions.caffeine
|
||||||
|
pkgs.gnomeExtensions.emoji-selector
|
||||||
|
pkgs.gnomeExtensions.gsconnect
|
||||||
|
pkgs.gnomeExtensions.dash-to-panel
|
||||||
|
pkgs.gnomeExtensions.appindicator
|
||||||
|
pkgs.gnomeExtensions.dash-to-dock
|
||||||
|
pkgs.gnomeExtensions.arc-menu
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
services.gvfs = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.gnome3.gvfs;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
let common = {
|
let common = {
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
}; in {
|
}; secrets = import ../secrets.nix; in {
|
||||||
services.nginx = {
|
services.nginx = {
|
||||||
enable = true;
|
enable = true;
|
||||||
recommendedGzipSettings = true;
|
recommendedGzipSettings = true;
|
||||||
|
|
@ -81,7 +81,7 @@ let common = {
|
||||||
};
|
};
|
||||||
|
|
||||||
security.acme = {
|
security.acme = {
|
||||||
email = "dorkdev99+acme@gmail.com";
|
email = secrets.acme.email;
|
||||||
acceptTerms = true;
|
acceptTerms = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -15,8 +15,8 @@ let secrets = import ../secrets.nix; in {
|
||||||
modules = [ "webadmin" "adminlog" ];
|
modules = [ "webadmin" "adminlog" ];
|
||||||
User.kat = {
|
User.kat = {
|
||||||
Admin = true;
|
Admin = true;
|
||||||
Nick = "kat";
|
Nick = secrets.znc.nick;
|
||||||
AltNick = "katrin";
|
AltNick = secrets.znc.altNick;
|
||||||
Network.freenode = {
|
Network.freenode = {
|
||||||
Server = "chat.freenode.net +6697 ${secrets.znc.freenode.password}";
|
Server = "chat.freenode.net +6697 ${secrets.znc.freenode.password}";
|
||||||
Chan = secrets.znc.freenode.channels;
|
Chan = secrets.znc.freenode.channels;
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,10 @@ let
|
||||||
ssh.host = "kat@samhain";
|
ssh.host = "kat@samhain";
|
||||||
groups = [ "desktop" "personal" ];
|
groups = [ "desktop" "personal" ];
|
||||||
};
|
};
|
||||||
|
litha = {
|
||||||
|
ssh.host = "root@litha";
|
||||||
|
groups = [ "desktop" "personal" ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
pkgs = import <nixpkgs> {};
|
pkgs = import <nixpkgs> {};
|
||||||
evalConfig = import <nixpkgs/nixos/lib/eval-config.nix>;
|
evalConfig = import <nixpkgs/nixos/lib/eval-config.nix>;
|
||||||
|
|
|
||||||
28
configuration/hosts/litha/configuration.nix
Normal file
28
configuration/hosts/litha/configuration.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
# Edit this configuration file to define what should be installed on
|
||||||
|
# your system. Help is available in the configuration.nix(5) man page
|
||||||
|
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||||
|
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ # Include the results of the hardware scan.
|
||||||
|
./hardware-configuration.nix
|
||||||
|
../../common
|
||||||
|
../../desktop
|
||||||
|
../../xfce
|
||||||
|
];
|
||||||
|
|
||||||
|
# Use the systemd-boot EFI boot loader.
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
|
||||||
|
networking.hostName = "litha";
|
||||||
|
|
||||||
|
networking.useDHCP = false;
|
||||||
|
networking.interfaces.enp34s0.useDHCP = true;
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
system.stateVersion = "20.09";
|
||||||
|
|
||||||
|
}
|
||||||
31
configuration/hosts/litha/hardware-configuration.nix
Normal file
31
configuration/hosts/litha/hardware-configuration.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "xhci_pci" "usb_storage" "sd_mod" "sdhci_acpi" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/fa06ba90-ffc9-4ca6-b1cf-1205340a975e";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/BF39-2AA3";
|
||||||
|
fsType = "vfat";
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices =
|
||||||
|
[ { device = "/dev/disk/by-uuid/9c88235e-9705-4b80-a988-e95eda06124f"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
||||||
|
}
|
||||||
|
|
@ -6,6 +6,9 @@
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
../../common
|
../../common
|
||||||
../../desktop
|
../../desktop
|
||||||
|
../../gnome
|
||||||
|
../../gaming
|
||||||
|
../../development
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,9 @@
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
../../common
|
../../common
|
||||||
../../desktop
|
../../desktop
|
||||||
|
../../gnome
|
||||||
|
../../gaming
|
||||||
|
../../development
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
|
|
||||||
24
configuration/xfce/default.nix
Normal file
24
configuration/xfce/default.nix
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
{
|
||||||
|
services.xserver.enable = true;
|
||||||
|
services.xserver.displayManager.lightdm.enable = true;
|
||||||
|
services.xserver.desktopManager.xfce.enable = true;
|
||||||
|
services.gvfs = {
|
||||||
|
enable = true;
|
||||||
|
package = lib.mkForce pkgs.gnome3.gvfs;
|
||||||
|
};
|
||||||
|
|
||||||
|
home-manager.users.kat = {
|
||||||
|
home.packages = [
|
||||||
|
pkgs.xfce.xfce4-terminal
|
||||||
|
pkgs.xfce.thunar
|
||||||
|
pkgs.xfce.orage
|
||||||
|
pkgs.xfce.xfce4-battery-plugin
|
||||||
|
pkgs.xfce.xfce4-sensors-plugin
|
||||||
|
pkgs.xfce.xfce4-pulseaudio-plugin
|
||||||
|
pkgs.xfce.xfce4-whiskermenu-plugin
|
||||||
|
pkgs.xfce.xfce4-screenshooter
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue