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 22"
|
||||
|
||||
### Deployment
|
||||
|
||||
* nix build -f . deploy.all && ./result
|
||||
* nix build -f . deploy.$group && ./result
|
||||
* nix build -f . deploy.$hostname && ./result
|
||||
* nix build -f . deploy.<group> && ./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.kernelParams = [ "quiet" ];
|
||||
#boot.kernelParams = [ "quiet" ];
|
||||
|
||||
nixpkgs.config = {
|
||||
allowUnfree = true;
|
||||
|
|
@ -47,12 +47,6 @@ in {
|
|||
keyMap = "uk";
|
||||
};
|
||||
|
||||
fonts.fontconfig.enable = true;
|
||||
fonts.fonts = [
|
||||
pkgs.nerdfonts
|
||||
pkgs.corefonts
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
smartmontools
|
||||
lm_sensors
|
||||
|
|
|
|||
|
|
@ -71,6 +71,9 @@
|
|||
"samhain" = {
|
||||
hostname = "192.168.1.135";
|
||||
} // kat;
|
||||
"litha" = {
|
||||
hostname = "192.168.1.240";
|
||||
} // kat;
|
||||
"yule" = {
|
||||
hostname = "192.168.1.92";
|
||||
} // kat;
|
||||
|
|
|
|||
|
|
@ -5,20 +5,6 @@ let unstable = import ( fetchTarball https://github.com/NixOS/nixpkgs/archive/ma
|
|||
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.packages = [
|
||||
pkgs._1password
|
||||
|
|
@ -30,12 +16,7 @@ let unstable = import ( fetchTarball https://github.com/NixOS/nixpkgs/archive/ma
|
|||
pkgs.lm_sensors
|
||||
pkgs.discord
|
||||
pkgs.tdesktop
|
||||
pkgs.carnix
|
||||
pkgs.rustc
|
||||
pkgs.cargo
|
||||
pkgs.steam
|
||||
pkgs.dino
|
||||
pkgs.dconf2nix
|
||||
pkgs.nitrogen
|
||||
pkgs.terminator
|
||||
pkgs.appimage-run
|
||||
|
|
@ -43,18 +24,6 @@ let unstable = import ( fetchTarball https://github.com/NixOS/nixpkgs/archive/ma
|
|||
pkgs.vscode
|
||||
pkgs.neofetch
|
||||
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 = {
|
||||
|
|
@ -82,10 +51,6 @@ let unstable = import ( fetchTarball https://github.com/NixOS/nixpkgs/archive/ma
|
|||
pkgs.corefonts
|
||||
];
|
||||
|
||||
services.xserver.enable = true;
|
||||
services.xserver.displayManager.gdm.enable = true;
|
||||
services.xserver.desktopManager.gnome3.enable = true;
|
||||
|
||||
sound.enable = true;
|
||||
hardware.pulseaudio.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 = {
|
||||
enableACME = true;
|
||||
forceSSL = true;
|
||||
}; in {
|
||||
}; secrets = import ../secrets.nix; in {
|
||||
services.nginx = {
|
||||
enable = true;
|
||||
recommendedGzipSettings = true;
|
||||
|
|
@ -81,7 +81,7 @@ let common = {
|
|||
};
|
||||
|
||||
security.acme = {
|
||||
email = "dorkdev99+acme@gmail.com";
|
||||
email = secrets.acme.email;
|
||||
acceptTerms = true;
|
||||
};
|
||||
}
|
||||
|
|
@ -15,8 +15,8 @@ let secrets = import ../secrets.nix; in {
|
|||
modules = [ "webadmin" "adminlog" ];
|
||||
User.kat = {
|
||||
Admin = true;
|
||||
Nick = "kat";
|
||||
AltNick = "katrin";
|
||||
Nick = secrets.znc.nick;
|
||||
AltNick = secrets.znc.altNick;
|
||||
Network.freenode = {
|
||||
Server = "chat.freenode.net +6697 ${secrets.znc.freenode.password}";
|
||||
Chan = secrets.znc.freenode.channels;
|
||||
|
|
|
|||
|
|
@ -12,6 +12,10 @@ let
|
|||
ssh.host = "kat@samhain";
|
||||
groups = [ "desktop" "personal" ];
|
||||
};
|
||||
litha = {
|
||||
ssh.host = "root@litha";
|
||||
groups = [ "desktop" "personal" ];
|
||||
};
|
||||
};
|
||||
pkgs = import <nixpkgs> {};
|
||||
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
|
||||
../../common
|
||||
../../desktop
|
||||
../../gnome
|
||||
../../gaming
|
||||
../../development
|
||||
];
|
||||
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
|
|
|
|||
|
|
@ -6,6 +6,9 @@
|
|||
./hardware-configuration.nix
|
||||
../../common
|
||||
../../desktop
|
||||
../../gnome
|
||||
../../gaming
|
||||
../../development
|
||||
];
|
||||
|
||||
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