officially cooked

This commit is contained in:
alisceon 2025-07-23 19:46:19 +02:00
parent 9f8084c1cf
commit 92f12974fa
7 changed files with 338 additions and 284 deletions

View file

@ -18,41 +18,50 @@
inherit system;
config.allowUnfree = true;
};
sharedModules = [
./hosts/common.nix
];
in
{
nixosConfigurations = {
electra = nixpkgs.lib.nixosSystem {
inherit system;
modules = [
{
nixpkgs.config.allowUnfree = true;
}
./hosts/electra/configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.alisceon = import ./home/users/alisceon.nix;
home-manager.backupFileExtension = "backup";
}
];
};
tower = nixpkgs.lib.nixosSystem {
inherit system;
modules = [
modules = sharedModules ++ [
{
nixpkgs.config.allowUnfree = true;
}
./hosts/tower/configuration.nix
home-manager.nixosModules.home-manager
{
({ config, ...}: {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.alisceon = import ./home/users/alisceon.nix;
home-manager.extraSpecialArgs = {
inherit (config.networking) hostName;
}; # end extraSpecialArgs
home-manager.users.alisceon = import ./home/alisceon.nix;
home-manager.backupFileExtension = "backup";
}) # end home manager
]; # end modules
}; # end electra
tower = nixpkgs.lib.nixosSystem {
inherit system;
modules = sharedModules ++ [
{
nixpkgs.config.allowUnfree = true;
}
];
};
};
};
}
./hosts/tower/configuration.nix
home-manager.nixosModules.home-manager
({ config, ...}: {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = {
inherit (config.networking) hostName;
}; #end extraSpecialArgs
home-manager.users.alisceon = import ./home/alisceon.nix;
home-manager.backupFileExtension = "backup";
}) # end home manager
]; # end modules
}; # end tower
}; # end nixos conf
}; # end "in"
} # end file

133
home/alisceon.nix Normal file
View file

@ -0,0 +1,133 @@
{ pkgs, config, hostName, ... }: {
home.username = "alisceon";
home.homeDirectory = "/home/alisceon";
home.stateVersion = "24.05";
manual.manpages.enable = true;
programs = {
fish = {
enable = true;
# Disable greeting
interactiveShellInit = ''
set fish_greeting
'';
preferAbbrs = true;
shellAbbrs = {
ls = "exa";
ll = "exa -lah";
grep = "rg";
cat = "bat";
tsla-fan = "ipmitool -H 10.30.0.3 -U ADMIN -P ADMIN raw 0x30 0x70 0x66 0x01 0x0";
nixos-switch = "sudo nixos-rebuild switch --flake .#${hostName}";
nixos-test = "sudo nixos-rebuild build-vm --flake .#${hostName}";
pypod = "podman run --rm -it --network host -v '.:/run' -w '/run' python /run/";
};
}; # end fish
git = {
enable = true;
userName = "alisceon";
userEmail = "alisceon@protonmail.com";
extraConfig = {
push = { autoSetupRemote = true; };
};
}; # end git
obsidian.enable = true;
vscode.enable = true;
firefox = {
enable = true;
nativeMessagingHosts = [
pkgs.gnome-browser-connector
];
}; # end firefox
bat.enable = true;
ssh = {
enable = true;
matchBlocks = {
"alisceon.com" = {
hostname = "alisceon.com";
user = "opc";
};
"miscbox" = {
hostname = "10.1.0.11";
proxyJump = "alisceon.com";
user = "opc";
};
"blogbox" = {
hostname = "10.1.0.10";
proxyJump = "alisceon.com";
user = "ubuntu";
};
"filurbox" = {
hostname = "oci.malice.zone";
user = "opc";
};
"dnspi" = {
hostname = "10.40.0.2";
user = "pi";
};
"tsla-exporter-bridge" = {
hostname = "alma02.lab.the.malice.zone";
user = "root";
};
"tsla-runner-boi" = {
hostname = "alma03.lab.the.malice.zone";
user = "root";
};
};
}; # end ssh
}; # end programs
home.packages = with pkgs; [
signal-desktop
discord
eza
fd
ripgrep
];
xdg = {
enable = true;
userDirs.enable = true;
mime.enable = true;
};
services.syncthing = {
enable = true;
};
dconf.enable = true;
dconf.settings = {
"org/gnome/desktop/background" = {
color-shading-type = "solid";
picture-options = "zoom";
primary-color = "#000000000000";
secondary-color = "#000000000000";
picture-uri = "org.gnome.desktop.background picture-uri 'file:///home/alisceon/Pictures/songbird/Songbird4.png'";
picture-uri-dark = "org.gnome.desktop.background picture-uri 'file:///home/alisceon/Pictures/songbird/Songbird4.png'";
};
"org/gnome/desktop/interface" = {
accent-color = "red";
color-scheme = "prefer-dark";
};
"org/gnome/shell" = {
disable-user-extensions = false;
enabled-extensions = [ pkgs.gnomeExtensions.ddterm.extensionUuid ];
favorite-apps = [
"org.gnome.Nautilus.desktop"
"firefox.desktop"
"vscode.desktop"
"obsidian.desktop"
"discord.desktop"
"signal-desktop.desktop"
];
};
"com/github/amezin/ddterm" = {
ddterm-toggle-hotkey = [ "<Super>Return" ];
};
}; # end dconf.settings
#overide broken obsidian config
xdg.configFile."obsidian/obsidian.json".source = builtins.toPath ./conf/obsidian.json;
home.file = {
}; # end home.file
} # end file

9
home/conf/obsidian.json Normal file
View file

@ -0,0 +1,9 @@
{
"updateDisabled": true,
"vaults": {
"fe2c079a19b0b9c79085deb58cb8ea47": {
"open": true,
"path": "/home/alisceon/Documents/Obsidian/private"
}
}
}

127
hosts/common.nix Normal file
View file

@ -0,0 +1,127 @@
{ config, pkgs, ... }:
{
nix.settings.experimental-features = [ "nix-command" "flakes" ];
networking.networkmanager.enable = true;
time.timeZone = "Europe/Stockholm";
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "sv_SE.UTF-8";
LC_IDENTIFICATION = "sv_SE.UTF-8";
LC_MEASUREMENT = "sv_SE.UTF-8";
LC_MONETARY = "sv_SE.UTF-8";
LC_NAME = "sv_SE.UTF-8";
LC_NUMERIC = "sv_SE.UTF-8";
LC_PAPER = "sv_SE.UTF-8";
LC_TELEPHONE = "sv_SE.UTF-8";
LC_TIME = "sv_SE.UTF-8";
};
services.displayManager = {
gdm.enable = true;
gdm.wayland = true;
};
services.desktopManager.gnome.enable = true;
services.xserver.xkb.layout = "se";
services.gnome.gnome-keyring.enable = true;
environment.gnome.excludePackages = with pkgs; [
evolution
geary
gnome-contacts
gnome-music
gnome-user-docs
gnome-tour
gnome-weather
gnome-maps
gnome-calendar
gnome-initial-setup
gnome-clocks
];
nix.settings.auto-optimise-store = true;
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 7d";
};
console.keyMap = "sv-latin1";
services.printing.enable = true;
services.pulseaudio.enable = false;
services.pipewire = {
enable = true;
alsa.enable = true;
pulse.enable = true;
jack.enable = true;
};
services.fwupd.enable = true;
programs = {
fish.enable = true;
steam = {
enable = true;
remotePlay.openFirewall = true;
};
};
environment.systemPackages = with pkgs; [
# CLI tools
git
wget
curl
btop
ripgrep
bat
fd
eza
bash
# Chat
discord
signal-desktop
# Browser
firefox
# Editor
vscode
obsidian
# Virtualization
podman
# GNOME tweaks and extensions
gnome-tweaks
dconf-editor
gnomeExtensions.ddterm
# Other
syncthing
steam
];
virtualisation.podman = {
enable = true;
dockerCompat = true;
defaultNetwork.settings.dns_enabled = true;
};
users.users.alisceon = {
isNormalUser = true;
extraGroups = [ "wheel" "networkmanager" "podman" ];
shell = pkgs.fish;
};
security.sudo.wheelNeedsPassword = false;
programs.dconf.enable = true;
environment.shells = with pkgs; [ fish ];
system.stateVersion = "24.05";
}

View file

@ -3,6 +3,7 @@
{
imports =
[ ./hardware-configuration.nix ];
networking.hostName = "electra";
boot = {
loader.systemd-boot.enable = true;
@ -36,126 +37,4 @@
loader.timeout = 0;
#resumeDevice = "/dev/disk/by-uuid/c49249b9-0d68-44af-97e0-e399c8409408";
};
nix.settings.experimental-features = [ "nix-command" "flakes" ];
networking.hostName = "electra";
networking.networkmanager.enable = true;
time.timeZone = "Europe/Stockholm";
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "sv_SE.UTF-8";
LC_IDENTIFICATION = "sv_SE.UTF-8";
LC_MEASUREMENT = "sv_SE.UTF-8";
LC_MONETARY = "sv_SE.UTF-8";
LC_NAME = "sv_SE.UTF-8";
LC_NUMERIC = "sv_SE.UTF-8";
LC_PAPER = "sv_SE.UTF-8";
LC_TELEPHONE = "sv_SE.UTF-8";
LC_TIME = "sv_SE.UTF-8";
};
nix.settings.auto-optimise-store = true;
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 7d";
};
console.keyMap = "sv-latin1";
services= {
printing.enable = true;
fwupd.enable = true;
thermald.enable = true;
pulseaudio.enable = false;
gnome.gnome-keyring.enable = true;
pipewire = {
enable = true;
alsa.enable = true;
pulse.enable = true;
jack.enable = true;
};
power-profiles-daemon.enable = true;
displayManager = {
gdm.enable = true;
gdm.wayland = true;
};
desktopManager.gnome.enable = true;
xserver.xkb.layout = "se";
};
programs = {
dconf.enable = true;
fish.enable = true;
steam = {
enable = true;
remotePlay.openFirewall = true;
};
};
environment.systemPackages = with pkgs; [
# NIX Tools
vulnix
# CLI tools
git
wget
curl
btop
ripgrep
bat
fd
eza
bash
# Chat
discord
signal-desktop
# Browser
firefox
# Development
vscode
devenv
direnv
# Virtualization
podman
# GNOME tweaks and extensions
gnome-tweaks
dconf-editor
gnomeExtensions.ddterm
gnomeExtensions.unpanel
# Other
syncthing
steam
obsidian
];
virtualisation.podman = {
enable = true;
dockerCompat = true;
defaultNetwork.settings.dns_enabled = true;
};
users.users.alisceon = {
isNormalUser = true;
extraGroups = [ "wheel" "networkmanager" "podman" ];
shell = pkgs.fish;
};
security.sudo.wheelNeedsPassword = false;
environment.shells = with pkgs; [
fish
bash
];
system.stateVersion = "24.05";
}

View file

@ -3,144 +3,11 @@
{
imports =
[ ./hardware-configuration.nix ];
networking.hostName = "tower";
boot = {
loader.systemd-boot.enable = true;
loader.efi.canTouchEfiVariables = true;
initrd.enable = true;
plymouth = {
enable = true;
theme = "rings";
themePackages = with pkgs; [
# By default we would install all themes
(adi1090x-plymouth-themes.override {
selected_themes = [ "rings" ];
})
];
};
consoleLogLevel = 3;
kernelParams = [
"quiet"
"splash"
"boot.shell_on_fail"
"udev.log_priority=3"
"rd.systemd.show_status=auto"
"mem_sleep_default=s2idle"
];
loader.timeout = 0;
#resumeDevice = "/dev/disk/by-uuid/c49249b9-0d68-44af-97e0-e399c8409408";
initrd.enable = true;
};
nix.settings.experimental-features = [ "nix-command" "flakes" ];
networking.hostName = "tower";
networking.networkmanager.enable = true;
time.timeZone = "Europe/Stockholm";
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "sv_SE.UTF-8";
LC_IDENTIFICATION = "sv_SE.UTF-8";
LC_MEASUREMENT = "sv_SE.UTF-8";
LC_MONETARY = "sv_SE.UTF-8";
LC_NAME = "sv_SE.UTF-8";
LC_NUMERIC = "sv_SE.UTF-8";
LC_PAPER = "sv_SE.UTF-8";
LC_TELEPHONE = "sv_SE.UTF-8";
LC_TIME = "sv_SE.UTF-8";
};
services.displayManager = {
gdm.enable = true;
gdm.wayland = true;
};
services.desktopManager.gnome.enable = true;
services.xserver.xkb.layout = "se";
services.gnome.gnome-keyring.enable = true;
nix.settings.auto-optimise-store = true;
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 7d";
};
console.keyMap = "sv-latin1";
services.printing.enable = true;
services.pulseaudio.enable = false;
services.pipewire = {
enable = true;
alsa.enable = true;
pulse.enable = true;
jack.enable = true;
};
services.fwupd.enable = true;
programs.fish.enable = true;
programs.steam = {
enable = true;
remotePlay.openFirewall = true;
};
environment.systemPackages = with pkgs; [
# CLI tools
git
wget
curl
btop
ripgrep
bat
fd
eza
bash
# Chat
discord
signal-desktop
# Browser
firefox
# Editor
vscode
obsidian
# Virtualization
podman
# GNOME tweaks and extensions
gnome-tweaks
dconf-editor
gnomeExtensions.ddterm
gnomeExtensions.unpanel
# Other
syncthing
steam
];
virtualisation.podman = {
enable = true;
dockerCompat = true;
defaultNetwork.settings.dns_enabled = true;
};
users.users.alisceon = {
isNormalUser = true;
extraGroups = [ "wheel" "networkmanager" "podman" ];
shell = pkgs.fish;
};
security.sudo.wheelNeedsPassword = false;
programs.dconf.enable = true;
environment.shells = with pkgs; [ fish ];
system.stateVersion = "24.05";
}

View file

@ -1,4 +1,4 @@
{ pkgs, config, ... }: {
{ pkgs, config, hostName, ... }: {
home.username = "alisceon";
home.homeDirectory = "/home/alisceon";
home.stateVersion = "24.05";
@ -18,8 +18,8 @@
grep = "rg";
cat = "bat";
tsla-fan = "ipmitool -H 10.30.0.3 -U ADMIN -P ADMIN raw 0x30 0x70 0x66 0x01 0x0";
nixos-switch = "sudo nixos-rebuild switch --flake .#${config.networking.hostName}";
nixos-test = "sudo nixos-rebuild build-vm --flake .#${config.networking.hostName}";
nixos-switch = "sudo nixos-rebuild switch --flake .#${hostName}";
nixos-test = "sudo nixos-rebuild build-vm --flake .#${hostName}";
pypod = "podman run --rm -it --network host -v '.:/run' -w '/run' python /run/";
};
};
@ -101,4 +101,34 @@
services.syncthing = {
enable = true;
};
dconf.enable = true;
dconf.settings = {
"org/gnome/desktop/background" = {
color-shading-type = "solid";
picture-options = "zoom";
primary-color = "#000000000000";
secondary-color = "#000000000000";
picture-uri = "org.gnome.desktop.background picture-uri 'file:///home/alisceon/Pictures/songbird/songbird4.jpg'";
picture-uri-dark = "org.gnome.desktop.background picture-uri 'file:///home/alisceon/Pictures/songbird/songbird4.jpg'";
};
"org/gnome/desktop/interface" = {
accent-color = "red";
color-scheme = "prefer-dark";
};
"org/gnome/shell" = {
disable-user-extensions = false;
enabled-extensions = [ pkgs.gnomeExtensions.ddterm.extensionUuid ];
favorite-apps = [
"org.gnome.Nautilus.desktop"
"firefox.desktop"
"vscode.desktop"
"obsidian.desktop"
"discord.desktop"
"signal-desktop.desktop"
];
};
"com/github/amezin/ddterm" = {
ddterm-toggle-hotkey = [ "<Super>Return" ];
};
};
}