modularized hosts creatorforge.nix
This commit is contained in:
parent
38d653d2ff
commit
43ed213a93
14 changed files with 146 additions and 123 deletions
12
flake.nix
12
flake.nix
|
|
@ -80,7 +80,9 @@
|
|||
[
|
||||
nixos-hardware.nixosModules.framework-12th-gen-intel
|
||||
disko.nixosModules.disko
|
||||
./hosts/creatorforge.nix
|
||||
./hosts/creatorforge/creatorforge.nix
|
||||
./hosts/creatorforge/networkd.nix
|
||||
./hosts/creatorforge/system-pkgs.nix
|
||||
./modules/system/services/docker.nix
|
||||
./modules/system/services/openssh.nix
|
||||
./modules/system/desktop-environments/gnome.nix
|
||||
|
|
@ -92,6 +94,14 @@
|
|||
./modules/home-manager/vscode.nix
|
||||
./modules/home-manager/zsh.nix
|
||||
./modules/home-manager/git.nix
|
||||
./modules/home-manager/zoxide.nix
|
||||
./modules/home-manager/ncspot.nix
|
||||
./modules/home-manager/zellij.nix
|
||||
./modules/home-manager/nushell.nix
|
||||
./modules/home-manager/direnv.nix
|
||||
./modules/home-manager/home-manager.nix
|
||||
./modules/home-manager/starship.nix
|
||||
./modules/home-manager/dconf-settings.nix
|
||||
]; #extra modules to be loaded by home-manager
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,64 +0,0 @@
|
|||
{ modulesPath, config, pkgs, lib, self, ... }:
|
||||
|
||||
{
|
||||
system.stateVersion = "22.11";
|
||||
time.timeZone = "America/Detroit";
|
||||
|
||||
# Allow non opensource software to be installed
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
nix = {
|
||||
## NIX FLAKES ##
|
||||
package = pkgs.nixUnstable; # or versioned attributes like nix_2_4
|
||||
# enable flakes
|
||||
extraOptions = ''experimental-features = nix-command flakes'';
|
||||
# auto maintainence
|
||||
settings.auto-optimise-store = lib.mkDefault true;
|
||||
# prevent tampering
|
||||
readOnlyStore = true;
|
||||
# garbage collections
|
||||
gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
options = "--delete-older-than 7d";
|
||||
};
|
||||
};
|
||||
# base packages
|
||||
environment.systemPackages = with pkgs; [
|
||||
ripgrep
|
||||
tree
|
||||
cargo
|
||||
feh
|
||||
unrar
|
||||
unzip
|
||||
gzip
|
||||
p7zip
|
||||
bzip2
|
||||
dconf2nix
|
||||
rustc
|
||||
bat
|
||||
exa
|
||||
mdbook
|
||||
uutils-coreutils
|
||||
htop
|
||||
zsh
|
||||
tailscale
|
||||
dig #dns lookup
|
||||
rage #file encryption
|
||||
age-plugin-yubikey #plugin for rage to manage yubi-2fa
|
||||
sops #file based secrets operations
|
||||
direnv #used for development environments
|
||||
python39
|
||||
] ++ [self.inputs.devenv.packages.x86_64-linux.devenv];
|
||||
|
||||
networking = {
|
||||
hostName = "creatorforge"; # Define your hostname.
|
||||
useDHCP = lib.mkForce true;
|
||||
firewall = {
|
||||
enable = true;
|
||||
allowedTCPPorts = [];
|
||||
allowedUDPPorts = [];
|
||||
checkReversePath = "loose";
|
||||
};
|
||||
};
|
||||
}
|
||||
27
hosts/creatorforge/creatorforge.nix
Normal file
27
hosts/creatorforge/creatorforge.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{ modulesPath, config, pkgs, lib, self, ... }:
|
||||
|
||||
{
|
||||
# Sets the default version to track for system-pkgs
|
||||
system.stateVersion = "22.11";
|
||||
# Set the default timezone
|
||||
time.timeZone = lib.mkDefault "America/Detroit";
|
||||
# Allow non opensource software to be installed
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
# NixOS Settings
|
||||
nix = {
|
||||
# Sets flakes to unstable track instead of stable #
|
||||
package = pkgs.nixUnstable; # or versioned attributes like nix_2_4
|
||||
# Enable flakes and nix-command
|
||||
extraOptions = ''experimental-features = nix-command flakes'';
|
||||
# Auto maintainence
|
||||
settings.auto-optimise-store = lib.mkDefault true;
|
||||
# Prevent tampering of the pkgstore
|
||||
readOnlyStore = true;
|
||||
# Garbage collection
|
||||
gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
options = "--delete-older-than 7d";
|
||||
};
|
||||
};
|
||||
}
|
||||
13
hosts/creatorforge/networkd.nix
Normal file
13
hosts/creatorforge/networkd.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{ modulesPath, config, pkgs, lib, self, ... }:
|
||||
{
|
||||
networking = {
|
||||
hostName = "creatorforge"; # Define your hostname.
|
||||
useDHCP = lib.mkForce true;
|
||||
firewall = {
|
||||
enable = true;
|
||||
allowedTCPPorts = [];
|
||||
allowedUDPPorts = [];
|
||||
checkReversePath = "loose";
|
||||
};
|
||||
};
|
||||
}
|
||||
29
hosts/creatorforge/system-pkgs.nix
Normal file
29
hosts/creatorforge/system-pkgs.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{ modulesPath, config, pkgs, lib, self, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
ripgrep
|
||||
tree
|
||||
cargo
|
||||
feh
|
||||
unrar
|
||||
unzip
|
||||
gzip
|
||||
p7zip
|
||||
bzip2
|
||||
dconf2nix
|
||||
rustc
|
||||
bat
|
||||
exa
|
||||
mdbook
|
||||
uutils-coreutils
|
||||
htop
|
||||
zsh
|
||||
tailscale
|
||||
dig #dns lookup
|
||||
rage #file encryption
|
||||
age-plugin-yubikey #plugin for rage to manage yubi-2fa
|
||||
sops #file based secrets operations
|
||||
direnv #used for development environments
|
||||
python39
|
||||
];
|
||||
}
|
||||
16
modules/home-manager/dconf-settings.nix
Normal file
16
modules/home-manager/dconf-settings.nix
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{ pkgs, config, lib, ...}:
|
||||
{
|
||||
dconf = {
|
||||
enable = true;
|
||||
settings = {
|
||||
"org/gnome/mutter" = {
|
||||
attach-modal-dialogs = true;
|
||||
dynamic-workspaces = true;
|
||||
edge-tiling = false;
|
||||
experimental-features = [ "scale-monitor-framebuffer" ];
|
||||
focus-change-on-pointer-rest = true;
|
||||
workspaces-only-on-primary = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
7
modules/home-manager/direnv.nix
Normal file
7
modules/home-manager/direnv.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{ pkgs, config, lib, ...}:
|
||||
{
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
enableZshIntegration = lib.mkDefault true;
|
||||
};
|
||||
}
|
||||
6
modules/home-manager/home-manager.nix
Normal file
6
modules/home-manager/home-manager.nix
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{ pkgs, config, lib, ...}:
|
||||
{
|
||||
programs.home-manager = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
7
modules/home-manager/ncspot.nix
Normal file
7
modules/home-manager/ncspot.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{ pkgs, config, lib, ...}:
|
||||
{
|
||||
programs.ncspot = {
|
||||
enable = true;
|
||||
package = pkgs.ncspot;
|
||||
};
|
||||
}
|
||||
6
modules/home-manager/nushell.nix
Normal file
6
modules/home-manager/nushell.nix
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{ pkgs, config, lib, ...}:
|
||||
{
|
||||
programs.nushell = {
|
||||
enable = false;
|
||||
};
|
||||
}
|
||||
8
modules/home-manager/starship.nix
Normal file
8
modules/home-manager/starship.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
{ pkgs, config, lib, ...}:
|
||||
{
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
enableNushellIntegration = false;
|
||||
};
|
||||
}
|
||||
7
modules/home-manager/zellij.nix
Normal file
7
modules/home-manager/zellij.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{ pkgs, config, lib, ...}:
|
||||
{
|
||||
programs.zellij = {
|
||||
enable = true;
|
||||
package = pkgs.zellij;
|
||||
};
|
||||
}
|
||||
8
modules/home-manager/zoxide.nix
Normal file
8
modules/home-manager/zoxide.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
{ pkgs, config, lib, ...}:
|
||||
{
|
||||
programs.zoxide = {
|
||||
enable = true;
|
||||
enableZshIntegration = lib.mkDefault true;
|
||||
# enableNushellIntegration = false;
|
||||
};
|
||||
}
|
||||
|
|
@ -32,61 +32,4 @@
|
|||
broot
|
||||
];
|
||||
};
|
||||
|
||||
programs = {
|
||||
zoxide = {
|
||||
enable = true;
|
||||
enableZshIntegration = lib.mkDefault true;
|
||||
# enableNushellIntegration = false;
|
||||
};
|
||||
ncspot = {
|
||||
enable = true;
|
||||
package = pkgs.ncspot;
|
||||
};
|
||||
|
||||
zellij = {
|
||||
enable = true;
|
||||
package = pkgs.zellij;
|
||||
};
|
||||
nushell = {
|
||||
enable = false;
|
||||
};
|
||||
starship = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
enableNushellIntegration = false;
|
||||
};
|
||||
|
||||
direnv = {
|
||||
enable = true;
|
||||
enableZshIntegration = lib.mkDefault true;
|
||||
};
|
||||
home-manager = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
git = {
|
||||
enable = true;
|
||||
userName = "specCon18";
|
||||
userEmail = "steven.carpenter@skdevstudios.com";
|
||||
extraConfig = {
|
||||
init = {
|
||||
defaultBranch = "main";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
dconf = {
|
||||
enable = true;
|
||||
settings = {
|
||||
"org/gnome/mutter" = {
|
||||
attach-modal-dialogs = true;
|
||||
dynamic-workspaces = true;
|
||||
edge-tiling = false;
|
||||
experimental-features = [ "scale-monitor-framebuffer" ];
|
||||
focus-change-on-pointer-rest = true;
|
||||
workspaces-only-on-primary = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue