unlinkified
This commit is contained in:
parent
090f98718d
commit
fc7b529ffd
9 changed files with 333 additions and 409 deletions
34
flake.nix
34
flake.nix
|
|
@ -23,7 +23,7 @@
|
||||||
config.allowUnfree = true;
|
config.allowUnfree = true;
|
||||||
};
|
};
|
||||||
sharedModules = [
|
sharedModules = [
|
||||||
./hosts/common.nix
|
./hosts/common/base.nix
|
||||||
{
|
{
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
}
|
}
|
||||||
|
|
@ -34,32 +34,52 @@
|
||||||
home-manager.extraSpecialArgs = {
|
home-manager.extraSpecialArgs = {
|
||||||
inherit (config.networking) hostName;
|
inherit (config.networking) hostName;
|
||||||
}; # end extraSpecialArgs
|
}; # end extraSpecialArgs
|
||||||
home-manager.users.alisceon = import ./home/alisceon.nix;
|
|
||||||
home-manager.backupFileExtension = "backup";
|
home-manager.backupFileExtension = "backup";
|
||||||
}) # end home manager
|
}) # end home manager
|
||||||
];
|
]; # end sharedModules
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
electra = nixpkgs.lib.nixosSystem {
|
electra = nixpkgs.lib.nixosSystem {
|
||||||
inherit system;
|
inherit system;
|
||||||
modules = sharedModules ++ [
|
modules = sharedModules ++ [
|
||||||
|
./hosts/common/workstation.nix
|
||||||
./hosts/electra/configuration.nix
|
./hosts/electra/configuration.nix
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
|
({ config, ...}: {
|
||||||
|
home-manager.users.alisceon.imports = [
|
||||||
|
./home/alisceon/base.nix
|
||||||
|
./home/alisceon/workstation.nix
|
||||||
|
];
|
||||||
|
}) # end home-manager
|
||||||
]; # end modules
|
]; # end modules
|
||||||
}; # end electra
|
}; # end electra
|
||||||
tower = nixpkgs.lib.nixosSystem {
|
tower = nixpkgs.lib.nixosSystem {
|
||||||
inherit system;
|
inherit system;
|
||||||
modules = sharedModules ++ [
|
modules = sharedModules ++ [
|
||||||
|
./hosts/common/workstation.nix
|
||||||
./hosts/tower/configuration.nix
|
./hosts/tower/configuration.nix
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
|
({ config, ...}: {
|
||||||
|
home-manager.users.alisceon.imports = [
|
||||||
|
./home/alisceon/base.nix
|
||||||
|
./home/alisceon/workstation.nix
|
||||||
|
];
|
||||||
|
}) # end home-manager
|
||||||
]; # end modules
|
]; # end modules
|
||||||
}; # end tower
|
}; # end tower
|
||||||
tesla-nixos = nixpkgs.lib.nixosSystem {
|
tesla-nixos = nixpkgs.lib.nixosSystem {
|
||||||
inherit system;
|
inherit system;
|
||||||
modules = [
|
modules = sharedModules ++ [
|
||||||
|
./hosts/common/server.nix
|
||||||
./hosts/tesla-nixos/configuration.nix
|
./hosts/tesla-nixos/configuration.nix
|
||||||
{
|
home-manager.nixosModules.home-manager
|
||||||
nixpkgs.config.allowUnfree = true;
|
({ config, ...}: {
|
||||||
}
|
home-manager.users.alisceon.imports = [
|
||||||
|
./home/alisceon/base.nix
|
||||||
|
./home/alisceon/workstation.nix
|
||||||
|
];
|
||||||
|
}) # end home-manager
|
||||||
]; # end modules
|
]; # end modules
|
||||||
}; # end tesla-nixos
|
}; # end tesla-nixos
|
||||||
}; # end nixos conf
|
}; # end nixos conf
|
||||||
|
|
|
||||||
|
|
@ -1,211 +0,0 @@
|
||||||
{ pkgs, config, hostName, lib, ... }: {
|
|
||||||
home.username = "alisceon";
|
|
||||||
home.homeDirectory = "/home/alisceon";
|
|
||||||
home.stateVersion = "24.05";
|
|
||||||
manual.manpages.enable = true;
|
|
||||||
|
|
||||||
programs = {
|
|
||||||
fish = {
|
|
||||||
enable = false;
|
|
||||||
# Disable greeting
|
|
||||||
interactiveShellInit = ''
|
|
||||||
set fish_greeting
|
|
||||||
'';
|
|
||||||
preferAbbrs = true;
|
|
||||||
shellAbbrs = {
|
|
||||||
ls = "exa";
|
|
||||||
ll = "exa -lah";
|
|
||||||
grep = "rg";
|
|
||||||
cat = "bat -p";
|
|
||||||
tsla-fan = "ipmitool -H 10.30.0.3 -U ADMIN -P ADMIN raw 0x30 0x70 0x66 0x01 0x0";
|
|
||||||
|
|
||||||
# NixOS commands
|
|
||||||
nixoss = "sudo nixos-rebuild switch --flake .#${hostName}";
|
|
||||||
nixos-main = "git checkout main && git pull && sudo nixos-rebuild switch --flake .#${hostName}";
|
|
||||||
nixossr = "sudo nixos-rebuild switch --flake .#${hostName} && reboot";
|
|
||||||
nixost = "sudo nixos-rebuild build-vm --flake .#${hostName}";
|
|
||||||
|
|
||||||
# Development commands
|
|
||||||
devt = "devenv test";
|
|
||||||
|
|
||||||
devtas = "devenv tasks list";
|
|
||||||
devtar = "devenv tasks run";
|
|
||||||
devs = "devenv shell";
|
|
||||||
devu = "devenv up -d";
|
|
||||||
devi = "nix flake init -t templates#";
|
|
||||||
|
|
||||||
pypod = "podman run --rm -it --network host -v '.:/run' -w '/run' python /run/";
|
|
||||||
|
|
||||||
# Tower commands
|
|
||||||
weboot = "nix shell nixpkgs#efibootmgr -c sudo efibootmgr -n 0000 && reboot";
|
|
||||||
|
|
||||||
# Misc commands
|
|
||||||
nix-shell = "nix shell";
|
|
||||||
};
|
|
||||||
}; # end fish
|
|
||||||
nushell = {
|
|
||||||
enable = true;
|
|
||||||
configFile.source = ./conf/config.nu;
|
|
||||||
shellAliases = {
|
|
||||||
tsla-fan = "ipmitool -H 10.30.0.3 -U ADMIN -P ADMIN raw 0x30 0x70 0x66 0x01 0x0";
|
|
||||||
|
|
||||||
# NixOS commands
|
|
||||||
nixoss = "sudo nixos-rebuild switch --flake .#${hostName}";
|
|
||||||
nixos-main = "git checkout main ; git pull ; sudo nixos-rebuild switch --flake #${hostName}";
|
|
||||||
nixossr = "sudo nixos-rebuild switch --flake .#${hostName} ; reboot";
|
|
||||||
nixost = "sudo nixos-rebuild build-vm --flake .#${hostName}";
|
|
||||||
|
|
||||||
# Development commands
|
|
||||||
devt = "devenv test";
|
|
||||||
|
|
||||||
devtas = "devenv tasks list";
|
|
||||||
devtar = "devenv tasks run";
|
|
||||||
devs = "devenv shell";
|
|
||||||
devu = "devenv up -d";
|
|
||||||
devi = "nix flake init -t templates#";
|
|
||||||
|
|
||||||
pypod = "podman run --rm -it --network host -v '.:/run' -w '/run' python /run/";
|
|
||||||
|
|
||||||
# Tower commands
|
|
||||||
weboot = "nix shell nixpkgs#efibootmgr -c sudo efibootmgr -n 0000 ; reboot";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
git = {
|
|
||||||
enable = true;
|
|
||||||
userName = "alisceon";
|
|
||||||
userEmail = "alisceon@protonmail.com";
|
|
||||||
extraConfig = {
|
|
||||||
push = { autoSetupRemote = true; };
|
|
||||||
init.defaultBranch = "main";
|
|
||||||
};
|
|
||||||
}; # end git
|
|
||||||
vscode.enable = true;
|
|
||||||
firefox = {
|
|
||||||
enable = true;
|
|
||||||
nativeMessagingHosts = [
|
|
||||||
pkgs.gnome-browser-connector
|
|
||||||
pkgs.firefoxpwa
|
|
||||||
];
|
|
||||||
}; # 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";
|
|
||||||
};
|
|
||||||
"tsla-nixos" = {
|
|
||||||
hostname = "tesla-nixos.lab.the.malice.zone";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}; # end ssh
|
|
||||||
direnv = {
|
|
||||||
enable = true;
|
|
||||||
silent = true;
|
|
||||||
}; # end direnv
|
|
||||||
}; # end programs
|
|
||||||
|
|
||||||
# obsidian special case
|
|
||||||
programs.obsidian.enable = true;
|
|
||||||
# overide broken config
|
|
||||||
xdg.configFile."obsidian/obsidian.json".source = lib.mkForce ./conf/obsidian.json;
|
|
||||||
|
|
||||||
# nixpkgs config
|
|
||||||
xdg.configFile."nixpkgs/config.nix".source = ./conf/config.nix;
|
|
||||||
|
|
||||||
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 = "file:///home/alisceon/Pictures/system/bg.png";
|
|
||||||
picture-uri-dark = "file:///home/alisceon/Pictures/system/bg.png";
|
|
||||||
};
|
|
||||||
"org/gnome/mutter" = {
|
|
||||||
auto-maximize = true;
|
|
||||||
};
|
|
||||||
"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"
|
|
||||||
"code.desktop"
|
|
||||||
"obsidian.desktop"
|
|
||||||
"discord.desktop"
|
|
||||||
"signal.desktop"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
"org/gnome/shell/keybindings" = {
|
|
||||||
show-screenshot-ui = [ "<Shift><Super>s" ];
|
|
||||||
};
|
|
||||||
"org/gnome/settings-daemon/plugins/media-keys" = {
|
|
||||||
custom-keybindings = [
|
|
||||||
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
|
|
||||||
name = "GNOME Console";
|
|
||||||
command = "kgx";
|
|
||||||
binding = "<Shift><Super>Return";
|
|
||||||
};
|
|
||||||
"com/github/amezin/ddterm" = {
|
|
||||||
ddterm-toggle-hotkey = [ "<Super>Return" ];
|
|
||||||
window-monitor = "focus";
|
|
||||||
hide-when-focus-lost = true;
|
|
||||||
hide-window-on-esc = true;
|
|
||||||
tab-policy = "never";
|
|
||||||
panel-icon-type = "none";
|
|
||||||
};
|
|
||||||
}; # end dconf.settings
|
|
||||||
} # end file
|
|
||||||
106
home/alisceon/base.nix
Normal file
106
home/alisceon/base.nix
Normal file
|
|
@ -0,0 +1,106 @@
|
||||||
|
{ pkgs, config, hostName, lib, ... }: {
|
||||||
|
home.username = "alisceon";
|
||||||
|
home.homeDirectory = "/home/alisceon";
|
||||||
|
home.stateVersion = "24.05";
|
||||||
|
manual.manpages.enable = true;
|
||||||
|
|
||||||
|
globalShellAbbrs = {
|
||||||
|
tsla-fan = "ipmitool -H 10.30.0.3 -U ADMIN -P ADMIN raw 0x30 0x70 0x66 0x01 0x0";
|
||||||
|
# NixOS commands
|
||||||
|
nixoss = "sudo nixos-rebuild switch --flake .#${hostName}";
|
||||||
|
nixos-main = "git checkout main ; git pull ; sudo nixos-rebuild switch --flake .#${hostName}";
|
||||||
|
nixossr = "sudo nixos-rebuild boot --flake .#${hostName} ; reboot";
|
||||||
|
nixost = "sudo nixos-rebuild dry-build --flake .#${hostName}";
|
||||||
|
|
||||||
|
# Development commands
|
||||||
|
devt = "devenv test";
|
||||||
|
|
||||||
|
devtas = "devenv tasks list";
|
||||||
|
devtar = "devenv tasks run";
|
||||||
|
devs = "devenv shell";
|
||||||
|
devu = "devenv up -d";
|
||||||
|
devi = "nix flake init -t templates#";
|
||||||
|
|
||||||
|
pypod = "podman run --rm -it --network host -v '.:/run' -w '/run' python /run/";
|
||||||
|
|
||||||
|
# Tower commands
|
||||||
|
weboot = "nix shell nixpkgs#efibootmgr -c sudo efibootmgr -n 0000 ; reboot";
|
||||||
|
}; # end globalShellAbbrs
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
fish = {
|
||||||
|
enable = false;
|
||||||
|
# Disable greeting
|
||||||
|
interactiveShellInit = ''
|
||||||
|
set fish_greeting
|
||||||
|
'';
|
||||||
|
preferAbbrs = true;
|
||||||
|
shellAbbrs = globalShellAbbrs // {
|
||||||
|
ls = "exa";
|
||||||
|
ll = "exa -lah";
|
||||||
|
grep = "rg";
|
||||||
|
cat = "bat -p";
|
||||||
|
};
|
||||||
|
}; # end fish
|
||||||
|
nushell = {
|
||||||
|
enable = true;
|
||||||
|
configFile.source = ../conf/config.nu;
|
||||||
|
shellAliases = globalShellAbbrs //{
|
||||||
|
};
|
||||||
|
};
|
||||||
|
git = {
|
||||||
|
enable = true;
|
||||||
|
userName = "alisceon";
|
||||||
|
userEmail = "alisceon@protonmail.com";
|
||||||
|
extraConfig = {
|
||||||
|
push = { autoSetupRemote = true; };
|
||||||
|
init.defaultBranch = "main";
|
||||||
|
};
|
||||||
|
}; # end git
|
||||||
|
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";
|
||||||
|
};
|
||||||
|
"tsla-nixos" = {
|
||||||
|
hostname = "tesla-nixos.lab.the.malice.zone";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}; # end ssh
|
||||||
|
direnv = {
|
||||||
|
enable = true;
|
||||||
|
silent = true;
|
||||||
|
}; # end direnv
|
||||||
|
}; # end programs
|
||||||
|
|
||||||
|
# nixpkgs config
|
||||||
|
xdg.configFile."nixpkgs/config.nix".source = ../conf/config.nix;
|
||||||
|
} # end file
|
||||||
8
home/alisceon/server.nix
Normal file
8
home/alisceon/server.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
{ pkgs, config, hostName, lib, ... }: {
|
||||||
|
home.username = "alisceon";
|
||||||
|
home.homeDirectory = "/home/alisceon";
|
||||||
|
home.stateVersion = "24.05";
|
||||||
|
manual.manpages.enable = true;
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
} # end file
|
||||||
95
home/alisceon/workstation.nix
Normal file
95
home/alisceon/workstation.nix
Normal file
|
|
@ -0,0 +1,95 @@
|
||||||
|
{ pkgs, config, hostName, lib, ... }: {
|
||||||
|
home.username = "alisceon";
|
||||||
|
home.homeDirectory = "/home/alisceon";
|
||||||
|
home.stateVersion = "24.05";
|
||||||
|
manual.manpages.enable = true;
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
vscode.enable = true;
|
||||||
|
firefox = {
|
||||||
|
enable = true;
|
||||||
|
nativeMessagingHosts = [
|
||||||
|
pkgs.gnome-browser-connector
|
||||||
|
pkgs.firefoxpwa
|
||||||
|
];
|
||||||
|
}; # end firefox
|
||||||
|
direnv = {
|
||||||
|
enable = true;
|
||||||
|
silent = true;
|
||||||
|
}; # end direnv
|
||||||
|
}; # end programs
|
||||||
|
|
||||||
|
# obsidian special case
|
||||||
|
programs.obsidian.enable = true;
|
||||||
|
# overide broken config
|
||||||
|
xdg.configFile."obsidian/obsidian.json".source = lib.mkForce ../conf/obsidian.json;
|
||||||
|
|
||||||
|
# nixpkgs config
|
||||||
|
xdg.configFile."nixpkgs/config.nix".source = ../conf/config.nix;
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
signal-desktop
|
||||||
|
discord
|
||||||
|
];
|
||||||
|
|
||||||
|
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 = "file:///home/alisceon/Pictures/system/bg.png";
|
||||||
|
picture-uri-dark = "file:///home/alisceon/Pictures/system/bg.png";
|
||||||
|
};
|
||||||
|
"org/gnome/mutter" = {
|
||||||
|
auto-maximize = true;
|
||||||
|
};
|
||||||
|
"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"
|
||||||
|
"code.desktop"
|
||||||
|
"obsidian.desktop"
|
||||||
|
"discord.desktop"
|
||||||
|
"signal.desktop"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"org/gnome/shell/keybindings" = {
|
||||||
|
show-screenshot-ui = [ "<Shift><Super>s" ];
|
||||||
|
};
|
||||||
|
"org/gnome/settings-daemon/plugins/media-keys" = {
|
||||||
|
custom-keybindings = [
|
||||||
|
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
|
||||||
|
name = "GNOME Console";
|
||||||
|
command = "kgx";
|
||||||
|
binding = "<Shift><Super>Return";
|
||||||
|
};
|
||||||
|
"com/github/amezin/ddterm" = {
|
||||||
|
ddterm-toggle-hotkey = [ "<Super>Return" ];
|
||||||
|
window-monitor = "focus";
|
||||||
|
hide-when-focus-lost = true;
|
||||||
|
hide-window-on-esc = true;
|
||||||
|
tab-policy = "never";
|
||||||
|
panel-icon-type = "none";
|
||||||
|
};
|
||||||
|
}; # end dconf.settings
|
||||||
|
} # end file
|
||||||
|
|
@ -66,37 +66,6 @@
|
||||||
};
|
};
|
||||||
security.sudo.wheelNeedsPassword = false;
|
security.sudo.wheelNeedsPassword = false;
|
||||||
|
|
||||||
services = {
|
|
||||||
printing.enable = true;
|
|
||||||
pulseaudio.enable = false;
|
|
||||||
pipewire = {
|
|
||||||
enable = true;
|
|
||||||
alsa.enable = true;
|
|
||||||
pulse.enable = true;
|
|
||||||
jack.enable = true;
|
|
||||||
};
|
|
||||||
xserver.xkb.layout = "se";
|
|
||||||
displayManager = {
|
|
||||||
gdm.enable = true;
|
|
||||||
gdm.wayland = true;
|
|
||||||
};
|
|
||||||
desktopManager.gnome.enable = true;
|
|
||||||
gnome = {
|
|
||||||
gnome-keyring.enable = true;
|
|
||||||
gnome-initial-setup.enable = false;
|
|
||||||
};
|
|
||||||
}; # end services
|
|
||||||
|
|
||||||
services.fwupd.enable = true;
|
|
||||||
programs = {
|
|
||||||
dconf.enable = true;
|
|
||||||
fish.enable = true;
|
|
||||||
steam = {
|
|
||||||
enable = true;
|
|
||||||
remotePlay.openFirewall = true;
|
|
||||||
};
|
|
||||||
}; # end programs
|
|
||||||
|
|
||||||
environment = {
|
environment = {
|
||||||
systemPackages = with pkgs; [
|
systemPackages = with pkgs; [
|
||||||
# CLI tools
|
# CLI tools
|
||||||
|
|
@ -117,49 +86,10 @@
|
||||||
fish
|
fish
|
||||||
powershell
|
powershell
|
||||||
|
|
||||||
# Chat
|
|
||||||
discord
|
|
||||||
signal-desktop
|
|
||||||
|
|
||||||
# Browser
|
|
||||||
firefox
|
|
||||||
firefoxpwa
|
|
||||||
|
|
||||||
# Development
|
|
||||||
vscode
|
|
||||||
devenv
|
|
||||||
direnv
|
|
||||||
|
|
||||||
# Virtualization
|
# Virtualization
|
||||||
podman
|
podman
|
||||||
|
|
||||||
# GNOME tweaks and extensions
|
|
||||||
gnome-tweaks
|
|
||||||
dconf-editor
|
|
||||||
gnomeExtensions.ddterm
|
|
||||||
|
|
||||||
# Other
|
|
||||||
syncthing
|
|
||||||
steam
|
|
||||||
krita
|
|
||||||
edk2-uefi-shell
|
|
||||||
obsidian
|
|
||||||
gparted
|
|
||||||
]; # end systemPackages
|
]; # end systemPackages
|
||||||
|
|
||||||
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
|
|
||||||
]; # end gnome.excludePackages
|
|
||||||
shells = with pkgs; [
|
shells = with pkgs; [
|
||||||
bash
|
bash
|
||||||
nushell
|
nushell
|
||||||
16
hosts/common/server.nix
Normal file
16
hosts/common/server.nix
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
services = {
|
||||||
|
openssh.enable = true;
|
||||||
|
}; # end services
|
||||||
|
|
||||||
|
services.fwupd.enable = true;
|
||||||
|
|
||||||
|
environment = {
|
||||||
|
systemPackages = with pkgs; [
|
||||||
|
devenv
|
||||||
|
direnv
|
||||||
|
]; # end systemPackages
|
||||||
|
}; # end environment
|
||||||
|
} # end file
|
||||||
79
hosts/common/workstation.nix
Normal file
79
hosts/common/workstation.nix
Normal file
|
|
@ -0,0 +1,79 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
security.sudo.wheelNeedsPassword = false;
|
||||||
|
|
||||||
|
services = {
|
||||||
|
printing.enable = true;
|
||||||
|
pulseaudio.enable = false;
|
||||||
|
pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
jack.enable = true;
|
||||||
|
};
|
||||||
|
xserver.xkb.layout = "se";
|
||||||
|
displayManager = {
|
||||||
|
gdm.enable = true;
|
||||||
|
gdm.wayland = true;
|
||||||
|
};
|
||||||
|
desktopManager.gnome.enable = true;
|
||||||
|
gnome = {
|
||||||
|
gnome-keyring.enable = true;
|
||||||
|
gnome-initial-setup.enable = false;
|
||||||
|
};
|
||||||
|
}; # end services
|
||||||
|
|
||||||
|
services.fwupd.enable = true;
|
||||||
|
programs = {
|
||||||
|
dconf.enable = true;
|
||||||
|
steam = {
|
||||||
|
enable = true;
|
||||||
|
remotePlay.openFirewall = true;
|
||||||
|
};
|
||||||
|
}; # end programs
|
||||||
|
|
||||||
|
environment = {
|
||||||
|
systemPackages = with pkgs; [
|
||||||
|
# Chat
|
||||||
|
discord
|
||||||
|
signal-desktop
|
||||||
|
|
||||||
|
# Browser
|
||||||
|
firefox
|
||||||
|
firefoxpwa
|
||||||
|
|
||||||
|
# Development
|
||||||
|
vscode
|
||||||
|
devenv
|
||||||
|
direnv
|
||||||
|
|
||||||
|
# GNOME tweaks and extensions
|
||||||
|
gnome-tweaks
|
||||||
|
dconf-editor
|
||||||
|
gnomeExtensions.ddterm
|
||||||
|
|
||||||
|
# Other
|
||||||
|
syncthing
|
||||||
|
steam
|
||||||
|
krita
|
||||||
|
edk2-uefi-shell
|
||||||
|
obsidian
|
||||||
|
gparted
|
||||||
|
]; # end systemPackages
|
||||||
|
|
||||||
|
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
|
||||||
|
]; # end gnome.excludePackages
|
||||||
|
}; # end environment
|
||||||
|
} #end file
|
||||||
|
|
@ -10,123 +10,4 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
}; # end loader.systemd-boot
|
}; # end loader.systemd-boot
|
||||||
}; # end boot
|
}; # end boot
|
||||||
system.stateVersion = "24.05";
|
|
||||||
system.autoUpgrade = {
|
|
||||||
enable = true;
|
|
||||||
persistent = true;
|
|
||||||
flake = "/home/alisceon/nixos_config";
|
|
||||||
flags = [
|
|
||||||
"--update-input"
|
|
||||||
"nixpkgs"
|
|
||||||
"-L"
|
|
||||||
];
|
|
||||||
dates = "daily";
|
|
||||||
}; # end system.autoUpgrade
|
|
||||||
|
|
||||||
nix = {
|
|
||||||
settings = {
|
|
||||||
experimental-features = [ "nix-command" "flakes" ];
|
|
||||||
auto-optimise-store = true;
|
|
||||||
trusted-users = [ "root" "alisceon" ];
|
|
||||||
}; # end settings
|
|
||||||
gc = {
|
|
||||||
automatic = true;
|
|
||||||
persistent = true;
|
|
||||||
dates = "daily";
|
|
||||||
options = "--delete-older-than 7d";
|
|
||||||
}; # end gc
|
|
||||||
registry = {
|
|
||||||
templates.to = {
|
|
||||||
type = "git";
|
|
||||||
url = "git+ssh://git@git.malice.zone/alisceon/devenv_templates.git";
|
|
||||||
}; # end templates.to
|
|
||||||
nixpkgs.to = {
|
|
||||||
type = "github";
|
|
||||||
owner = "NixOS";
|
|
||||||
repo = "nixpkgs";
|
|
||||||
ref = "nixos-unstable";
|
|
||||||
}; # end nixpkgs.to
|
|
||||||
nixpkgs-stable.to = {
|
|
||||||
type = "github";
|
|
||||||
owner = "NixOS";
|
|
||||||
repo = "nixpkgs";
|
|
||||||
ref = "nixos-25.05";
|
|
||||||
}; # end nixpkgs.to
|
|
||||||
}; #end registry
|
|
||||||
}; #end nix
|
|
||||||
|
|
||||||
console.keyMap = "sv-latin1";
|
|
||||||
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";
|
|
||||||
};
|
|
||||||
security.sudo.wheelNeedsPassword = false;
|
|
||||||
|
|
||||||
services = {
|
|
||||||
openssh.enable = true;
|
|
||||||
}; # end services
|
|
||||||
|
|
||||||
services.fwupd.enable = true;
|
|
||||||
programs = {
|
|
||||||
dconf.enable = true;
|
|
||||||
fish.enable = true;
|
|
||||||
}; # end programs
|
|
||||||
|
|
||||||
environment = {
|
|
||||||
systemPackages = with pkgs; [
|
|
||||||
# CLI tools
|
|
||||||
git
|
|
||||||
wget
|
|
||||||
curl
|
|
||||||
btop # system monitor
|
|
||||||
ripgrep # grep replacement
|
|
||||||
bat # cat replacement
|
|
||||||
fd # find replacement
|
|
||||||
eza # ls replacement
|
|
||||||
nh # nix helper
|
|
||||||
jq # JSON processor
|
|
||||||
|
|
||||||
# Shells
|
|
||||||
bash
|
|
||||||
nushell
|
|
||||||
fish
|
|
||||||
powershell
|
|
||||||
|
|
||||||
devenv
|
|
||||||
direnv
|
|
||||||
|
|
||||||
# Virtualization
|
|
||||||
podman
|
|
||||||
|
|
||||||
]; # end systemPackages
|
|
||||||
|
|
||||||
shells = with pkgs; [
|
|
||||||
bash
|
|
||||||
nushell
|
|
||||||
fish
|
|
||||||
powershell
|
|
||||||
];
|
|
||||||
}; # end environment
|
|
||||||
|
|
||||||
virtualisation.podman = {
|
|
||||||
enable = true;
|
|
||||||
dockerCompat = true;
|
|
||||||
defaultNetwork.settings.dns_enabled = true;
|
|
||||||
}; # end virtualisation
|
|
||||||
|
|
||||||
users.users.alisceon = {
|
|
||||||
isNormalUser = true;
|
|
||||||
extraGroups = [ "wheel" "networkmanager" "podman" ];
|
|
||||||
shell = pkgs.nushell;
|
|
||||||
}; # end users
|
|
||||||
} # end file
|
} # end file
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue