Haven't updated these readme's in a long time..
This commit is contained in:
@@ -1,15 +1,11 @@
|
||||
#+title: System Profiles
|
||||
#+title: Machines
|
||||
|
||||
This directory contains various system profiles which can easily be set in [[../flake.nix][my flake.nix]] by setting the =profile= variable. Each profile directory contains a =configuration.nix= for system-level configuration and a =home.nix= for user-level configuration. Setting the =profile= variable in [[../flake.nix][my flake]] will automatically source the correct =configuration.nix= and =home.nix=.
|
||||
This directory contains config for each of my machines.
|
||||
|
||||
Current profiles I have available are:
|
||||
- [[./personal][Personal]] - What I would run on a personal laptop/desktop*
|
||||
- [[./work][Work]] - What I would run on my work laptop/desktop*
|
||||
- [[./homelab][Homelab]] - What I would run on a server or homelab*
|
||||
- [[./worklab][Worklab]] - My homelab config with my work SSH keys preinstalled*
|
||||
- [[./wsl][WSL]] - Windows Subsystem for Emacs (uses [[https://github.com/nix-community/NixOS-WSL][NixOS-WSL]])
|
||||
- [[./nix-on-droid][Nix on Droid]] - So that I can run Emacs on my phone (uses [[https://github.com/nix-community/nix-on-droid][nix-on-droid]])
|
||||
|
||||
*My [[./personal][personal]] and [[./work][work]] profiles are actually functionally identical (the [[./work][work]] profile is actually imported into the [[./personal][personal]] profile)! The only difference between them is that my [[./personal][personal]] profile has a few extra things like gaming and social apps.
|
||||
|
||||
*My [[./homelab][homelab]] and [[./worklab][worklab]] profiles are similarly functionally identical (they both utilize the this [[./homelab/base.nix][base.nix]] file)! The only difference is that they have different preinstalled ssh keys.
|
||||
In this directory you'll find:
|
||||
- [[./snowfire][snowfire]] - My main machine (gaming laptop)
|
||||
- [[./duskfall][duskfall]] - An old thinkpad I use occasionally
|
||||
- [[./stardust][stardust]] - My wife's laptop
|
||||
- [[./zenith][zenith]] - My work laptop
|
||||
- [[./ori][ori]] - My homelab server host
|
||||
- [[./TEMPLATE][TEMPLATE]] - Template files to use for a new host
|
||||
|
3
hosts/TEMPLATE/README.org
Normal file
3
hosts/TEMPLATE/README.org
Normal file
@@ -0,0 +1,3 @@
|
||||
#+title: Just chillin'
|
||||
|
||||
This is my profile for a personal computer. It is functionally identical to my [[../work]] profile, but includes extra things like games and social apps!
|
61
hosts/TEMPLATE/configuration.nix
Normal file
61
hosts/TEMPLATE/configuration.nix
Normal file
@@ -0,0 +1,61 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config = {
|
||||
systemSettings = {
|
||||
# users
|
||||
users = [ "USERNAME" ];
|
||||
adminUsers = [ "USERNAME" ];
|
||||
|
||||
# hardware
|
||||
cachy.enable = true;
|
||||
bluetooth.enable = true;
|
||||
powerprofiles.enable = true;
|
||||
tlp.enable = false;
|
||||
printing.enable = true;
|
||||
|
||||
# software
|
||||
flatpak.enable = false;
|
||||
gaming.enable = false;
|
||||
virtualization = {
|
||||
docker.enable = false;
|
||||
virtualMachines.enable = false;
|
||||
};
|
||||
brave.enable = true;
|
||||
|
||||
# wm
|
||||
hyprland.enable = true;
|
||||
|
||||
# dotfiles
|
||||
dotfilesDir = "/etc/nixos";
|
||||
|
||||
# security
|
||||
security = {
|
||||
automount.enable = true;
|
||||
blocklist.enable = true;
|
||||
doas.enable = true;
|
||||
firejail.enable = false; # TODO setup firejail profiles
|
||||
firewall.enable = true;
|
||||
gpg.enable = true;
|
||||
openvpn.enable = true;
|
||||
sshd.enable = false;
|
||||
};
|
||||
|
||||
# style
|
||||
stylix = {
|
||||
enable = true;
|
||||
theme = "orichalcum";
|
||||
};
|
||||
};
|
||||
|
||||
users.users.USERNAME.description = "NAME";
|
||||
home-manager.users.USERNAME.userSettings = {
|
||||
name = "NAME";
|
||||
email = "EMAIL";
|
||||
};
|
||||
|
||||
## EXTRA CONFIG GOES HERE
|
||||
|
||||
};
|
||||
|
||||
}
|
14
hosts/TEMPLATE/default.nix
Normal file
14
hosts/TEMPLATE/default.nix
Normal file
@@ -0,0 +1,14 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./configuration.nix
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
|
||||
config = {
|
||||
home-manager.users = builtins.listToAttrs
|
||||
(map (user: { name = user; value =
|
||||
({ imports = [ ./home.nix ../../modules/user ]; });}) config.systemSettings.users);
|
||||
};
|
||||
}
|
8
hosts/TEMPLATE/hardware-configuration.nix
Normal file
8
hosts/TEMPLATE/hardware-configuration.nix
Normal file
@@ -0,0 +1,8 @@
|
||||
## THIS FILE MUST BE GENERATED ON A PER MACHINE BASIS
|
||||
## RUN
|
||||
|
||||
{ config, lib, pkgs, modulesPath, inputs, ... }:
|
||||
|
||||
{
|
||||
|
||||
}
|
47
hosts/TEMPLATE/home.nix
Normal file
47
hosts/TEMPLATE/home.nix
Normal file
@@ -0,0 +1,47 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config = {
|
||||
userSettings = {
|
||||
# setup
|
||||
shell = {
|
||||
enable = true;
|
||||
apps.enable = true;
|
||||
extraApps.enable = true;
|
||||
};
|
||||
xdg.enable = true;
|
||||
|
||||
# programs
|
||||
browser = "brave";
|
||||
editor = "emacs";
|
||||
vscodium.enable = true;
|
||||
yazi.enable = true;
|
||||
git.enable = true;
|
||||
engineering.enable = false;
|
||||
art.enable = false;
|
||||
flatpak.enable = false;
|
||||
godot.enable = false;
|
||||
keepass.enable = false;
|
||||
media.enable = true;
|
||||
music.enable = false;
|
||||
office.enable = true;
|
||||
recording.enable = false;
|
||||
virtualization = {
|
||||
virtualMachines.enable = false;
|
||||
};
|
||||
ai.enable = false;
|
||||
|
||||
# wm
|
||||
hyprland.enable = true;
|
||||
|
||||
# style
|
||||
stylix.enable = true;
|
||||
|
||||
# hardware
|
||||
bluetooth.enable = true;
|
||||
};
|
||||
|
||||
## EXTRA CONFIG GOES HERE
|
||||
|
||||
};
|
||||
}
|
@@ -1,3 +1,3 @@
|
||||
#+title: Just chillin'
|
||||
#+title: Thinkpad go brrr...
|
||||
|
||||
This is my profile for a personal computer. It is functionally identical to my [[../work]] profile, but includes extra things like games and social apps!
|
||||
This is my config for an old Thinkpad. It's /really/ slow, but it's nice since it has a touch screen and pen with palm rejection! I don't use it that often, and I'm considering connecting it to the TV and trying Kodi out on it.
|
||||
|
@@ -1,3 +1,7 @@
|
||||
#+title: Just chillin'
|
||||
|
||||
This is my profile for a personal computer. It is functionally identical to my [[../work]] profile, but includes extra things like games and social apps!
|
||||
This is for my personal gaming laptop. Necessary and extra batteries included: office, engineering, development, media, recording, and gaming apps. Highly bloated system.
|
||||
|
||||
Specs:
|
||||
- Asus ROG Strix G15 Advantage
|
||||
- Upgraded to 64GB of RAM + 1TB SSD
|
||||
|
@@ -1,3 +1,3 @@
|
||||
#+title: Just chillin'
|
||||
#+title: For my wife
|
||||
|
||||
This is my profile for a personal computer. It is functionally identical to my [[../work]] profile, but includes extra things like games and social apps!
|
||||
This is a config for my wife's computer. She likes Plasma and she mainly uses it for her art work and some light gaming.
|
||||
|
@@ -1,3 +1,3 @@
|
||||
#+title: Just chillin'
|
||||
#+title: Time to focus
|
||||
|
||||
This is my profile for a personal computer. It is functionally identical to my [[../work]] profile, but includes extra things like games and social apps!
|
||||
This is config for my work computer. Essentially the same as [[../snowfire][snowfire]], just minus the gaming (and a few other things).
|
||||
|
Reference in New Issue
Block a user