forked from javif89/nix
Moved common os configs to their own file so I don't have to repeat between machines
This commit is contained in:
parent
1c11c6486d
commit
f88c275f57
187
hosts/common-config.nix
Normal file
187
hosts/common-config.nix
Normal file
@ -0,0 +1,187 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
inputs,
|
||||
hostname,
|
||||
assets,
|
||||
...
|
||||
}:
|
||||
{
|
||||
# Bootloader.
|
||||
boot = {
|
||||
loader = {
|
||||
systemd-boot = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
efi = {
|
||||
canTouchEfiVariables = true;
|
||||
};
|
||||
};
|
||||
|
||||
# Mount my second drive
|
||||
supportedFilesystems = [ "ntfs" ];
|
||||
};
|
||||
|
||||
networking = {
|
||||
hostName = hostname;
|
||||
|
||||
networkmanager = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
time = {
|
||||
timeZone = "America/New_York";
|
||||
};
|
||||
|
||||
i18n = {
|
||||
defaultLocale = "en_US.UTF-8";
|
||||
|
||||
extraLocaleSettings = {
|
||||
LC_ADDRESS = "en_US.UTF-8";
|
||||
LC_IDENTIFICATION = "en_US.UTF-8";
|
||||
LC_MEASUREMENT = "en_US.UTF-8";
|
||||
LC_MONETARY = "en_US.UTF-8";
|
||||
LC_NAME = "en_US.UTF-8";
|
||||
LC_NUMERIC = "en_US.UTF-8";
|
||||
LC_PAPER = "en_US.UTF-8";
|
||||
LC_TELEPHONE = "en_US.UTF-8";
|
||||
LC_TIME = "en_US.UTF-8";
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
printing = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
# Flatpak is here just for discord pretty much
|
||||
flatpak = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
pulseaudio = {
|
||||
enable = false;
|
||||
};
|
||||
|
||||
pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
|
||||
openssh = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.flatpak-repo = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = [ pkgs.flatpak ];
|
||||
script = ''
|
||||
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||
'';
|
||||
};
|
||||
|
||||
security = {
|
||||
rtkit = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
# Enable touchpad support (enabled default in most desktopManager).
|
||||
# services.xserver.libinput.enable = true;
|
||||
|
||||
environment = {
|
||||
systemPackages = with pkgs; [
|
||||
brave
|
||||
git
|
||||
openssh
|
||||
xdg-user-dirs-gtk # This helps with Nautilus integration
|
||||
cachix
|
||||
];
|
||||
|
||||
# Set up my user icon
|
||||
etc = {
|
||||
"avatars/javi.png".source = "${assets}/user-icon.png";
|
||||
};
|
||||
};
|
||||
|
||||
users.users.javi = {
|
||||
isNormalUser = true;
|
||||
description = "javi";
|
||||
shell = pkgs.zsh;
|
||||
useDefaultShell = true;
|
||||
extraGroups = [
|
||||
"networkmanager"
|
||||
"wheel"
|
||||
];
|
||||
};
|
||||
|
||||
system = {
|
||||
stateVersion = "25.05"; # Did you read the comment?
|
||||
activationScripts.avatar = ''
|
||||
mkdir -p /var/lib/AccountsService/icons
|
||||
ln -sf /etc/avatars/javi.png /var/lib/AccountsService/icons/javi
|
||||
'';
|
||||
};
|
||||
|
||||
# Allow unfree packages
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
nix.settings = {
|
||||
substituters = [
|
||||
"https://cache.nixos.org/"
|
||||
];
|
||||
trusted-public-keys = [
|
||||
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
||||
];
|
||||
};
|
||||
|
||||
programs = {
|
||||
hyprland.enable = true;
|
||||
|
||||
ssh = {
|
||||
startAgent = true;
|
||||
extraConfig = "
|
||||
Host myhost
|
||||
Hostname gitgud.foo
|
||||
";
|
||||
};
|
||||
|
||||
# More thunar support
|
||||
xfconf = {
|
||||
enable = true;
|
||||
|
||||
};
|
||||
|
||||
zsh.enable = true;
|
||||
};
|
||||
|
||||
nix.settings.experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
];
|
||||
|
||||
# Theme
|
||||
stylix = {
|
||||
enable = true;
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark.yaml";
|
||||
# image = "/home/javi/Documents/wallpapers/Fantasy-Mountain.png";
|
||||
polarity = "dark";
|
||||
};
|
||||
|
||||
# Enable home manager
|
||||
home-manager = {
|
||||
extraSpecialArgs = { inherit inputs; };
|
||||
users = {
|
||||
"javi" = {
|
||||
imports = [
|
||||
../modules/home/home.nix
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
@ -8,170 +8,14 @@
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
../common-config.nix
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
|
||||
# Bootloader.
|
||||
boot = {
|
||||
loader = {
|
||||
systemd-boot = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
efi = {
|
||||
canTouchEfiVariables = true;
|
||||
};
|
||||
};
|
||||
|
||||
# Mount my second drive
|
||||
supportedFilesystems = [ "ntfs" ];
|
||||
};
|
||||
|
||||
networking = {
|
||||
hostName = hostname;
|
||||
|
||||
networkmanager = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
time = {
|
||||
timeZone = "America/New_York";
|
||||
};
|
||||
|
||||
i18n = {
|
||||
defaultLocale = "en_US.UTF-8";
|
||||
|
||||
extraLocaleSettings = {
|
||||
LC_ADDRESS = "en_US.UTF-8";
|
||||
LC_IDENTIFICATION = "en_US.UTF-8";
|
||||
LC_MEASUREMENT = "en_US.UTF-8";
|
||||
LC_MONETARY = "en_US.UTF-8";
|
||||
LC_NAME = "en_US.UTF-8";
|
||||
LC_NUMERIC = "en_US.UTF-8";
|
||||
LC_PAPER = "en_US.UTF-8";
|
||||
LC_TELEPHONE = "en_US.UTF-8";
|
||||
LC_TIME = "en_US.UTF-8";
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
printing = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
# Flatpak is here just for discord pretty much
|
||||
flatpak = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
pulseaudio = {
|
||||
enable = false;
|
||||
};
|
||||
|
||||
pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
|
||||
openssh = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.flatpak-repo = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = [ pkgs.flatpak ];
|
||||
script = ''
|
||||
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||
'';
|
||||
};
|
||||
|
||||
security = {
|
||||
rtkit = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
# Enable touchpad support (enabled default in most desktopManager).
|
||||
# services.xserver.libinput.enable = true;
|
||||
|
||||
environment = {
|
||||
systemPackages = with pkgs; [
|
||||
brave
|
||||
git
|
||||
openssh
|
||||
pkgs.ntfs3g
|
||||
xdg-user-dirs-gtk # This helps with Nautilus integration
|
||||
cachix
|
||||
];
|
||||
|
||||
# Set up my user icon
|
||||
etc = {
|
||||
"avatars/javi.png".source = "${assets}/user-icon.png";
|
||||
};
|
||||
};
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.javi = {
|
||||
isNormalUser = true;
|
||||
description = "javi";
|
||||
shell = pkgs.zsh;
|
||||
useDefaultShell = true;
|
||||
extraGroups = [
|
||||
"networkmanager"
|
||||
"wheel"
|
||||
];
|
||||
};
|
||||
|
||||
system = {
|
||||
stateVersion = "25.05"; # Did you read the comment?
|
||||
activationScripts.avatar = ''
|
||||
mkdir -p /var/lib/AccountsService/icons
|
||||
ln -sf /etc/avatars/javi.png /var/lib/AccountsService/icons/javi
|
||||
'';
|
||||
};
|
||||
|
||||
# Allow unfree packages
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
nix.settings = {
|
||||
substituters = [
|
||||
"https://cache.nixos.org/"
|
||||
];
|
||||
trusted-public-keys = [
|
||||
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
||||
];
|
||||
};
|
||||
|
||||
programs = {
|
||||
hyprland.enable = true;
|
||||
|
||||
ssh = {
|
||||
startAgent = true;
|
||||
extraConfig = "
|
||||
Host myhost
|
||||
Hostname gitgud.foo
|
||||
";
|
||||
};
|
||||
|
||||
# More thunar support
|
||||
xfconf = {
|
||||
enable = true;
|
||||
|
||||
};
|
||||
|
||||
zsh.enable = true;
|
||||
};
|
||||
|
||||
nix.settings.experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
# Mount second hard drive
|
||||
boot.supportedFilesystems = [
|
||||
"ntfs"
|
||||
];
|
||||
|
||||
# Mount the second drive
|
||||
fileSystems."/mnt/working-files" = {
|
||||
device = "/dev/disk/by-uuid/BE8EBBDA8EBB8A03";
|
||||
fsType = "ntfs";
|
||||
@ -188,23 +32,9 @@
|
||||
];
|
||||
};
|
||||
|
||||
# Theme
|
||||
stylix = {
|
||||
enable = true;
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark.yaml";
|
||||
# image = "/home/javi/Documents/wallpapers/Fantasy-Mountain.png";
|
||||
polarity = "dark";
|
||||
};
|
||||
|
||||
# Enable home manager
|
||||
home-manager = {
|
||||
extraSpecialArgs = { inherit inputs; };
|
||||
users = {
|
||||
"javi" = {
|
||||
imports = [
|
||||
../../modules/home/home.nix
|
||||
];
|
||||
};
|
||||
};
|
||||
environment = {
|
||||
systemPackages = with pkgs; [
|
||||
pkgs.ntfs3g
|
||||
];
|
||||
};
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user