159 lines
4.3 KiB
Nix
159 lines
4.3 KiB
Nix
{ config, pkgs, lib, inputs, ... }:
|
||
|
||
{
|
||
imports =
|
||
[
|
||
|
||
inputs.home-manager.nixosModules.default
|
||
|
||
];
|
||
|
||
config = {
|
||
hardware.nvidia.open = true;
|
||
|
||
boot.isContainer = true;
|
||
|
||
services = {
|
||
xserver = {
|
||
#enable = true;
|
||
videoDrivers = ["nvidia"];
|
||
};
|
||
displayManager = {
|
||
enable = true;
|
||
defaultSession = "plasma";
|
||
autoLogin = {
|
||
enable = true;
|
||
user = "nathan";
|
||
};
|
||
};
|
||
pulseaudio.enable = false;
|
||
};
|
||
|
||
systemd.extraConfig = "DefaultLimitNOFILE=2048";
|
||
/*
|
||
environment.sessionVariables = {
|
||
WLR_BACKENDS = "headless";
|
||
WLR_LIBINPUT_NO_DEVICES = "1";
|
||
};
|
||
*/
|
||
programs.zsh.enable = true;
|
||
environment.shells = with pkgs; [ zsh ];
|
||
users.defaultUserShell = pkgs.zsh;
|
||
|
||
nixpkgs = {
|
||
config.allowUnfree = true;
|
||
hostPlatform = "x86_64-linux";
|
||
};
|
||
|
||
# Set your time zone.
|
||
time.timeZone = "America/Chicago";
|
||
|
||
# Select internationalisation properties.
|
||
i18n.defaultLocale = "en_US.UTF-8";
|
||
|
||
i18n.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.displayManager.sddm.settings.AutoLogin = {
|
||
User = "nathan";
|
||
Session = "plasmawayland.desktop";
|
||
Relogin = true;
|
||
};
|
||
|
||
networking = {
|
||
nameservers = [ "1.1.1.1" "1.0.0.1" ];
|
||
networkmanager.enable = true;
|
||
firewall.allowedTCPPorts = [ 80 ];
|
||
};
|
||
|
||
system.stateVersion = "25.05"; # Did you read the comment?
|
||
|
||
users.users."nathan" = {
|
||
isNormalUser = true;
|
||
|
||
initialPassword = "7567";
|
||
|
||
#hashedPasswordFile = config.sops.secrets."nathan/pass".path;
|
||
|
||
extraGroups = [
|
||
"wheel"
|
||
]; # Enable ‘sudo’ for the user.
|
||
|
||
/*openssh.authorizedKeys.keys = [
|
||
];*/
|
||
};
|
||
|
||
nix = {
|
||
nixPath = [ "nixpkgs=${inputs.nixpkgs}" ];
|
||
settings = {
|
||
experimental-features = [ "nix-command" "flakes" ];
|
||
};
|
||
};
|
||
|
||
/*sops = {
|
||
age.keyFile = "/home/nathan/.config/sops/age/keys.txt";
|
||
defaultSopsFile = ./secrets.yaml;
|
||
defaultSopsFormat = "yaml";
|
||
|
||
secrets = {
|
||
"nathan/pass" = {
|
||
neededForUsers = true;
|
||
};
|
||
};
|
||
};*/
|
||
|
||
programs.fuse.userAllowOther = true;
|
||
|
||
home-manager = {
|
||
backupFileExtension = "backup";
|
||
extraSpecialArgs = {inherit inputs;};
|
||
users = {
|
||
"nathan" = lib.mkMerge [
|
||
inputs.nathan-home-manager
|
||
{
|
||
config.homeconfig = {
|
||
minimal = false;
|
||
wayvnc.enable = true;
|
||
hyprland.enable = false;
|
||
wal.enable = false;
|
||
ags.enable = false;
|
||
swaylock.enable = true;
|
||
mpd.enable = true;
|
||
calcurse.enable = true;
|
||
rofi.enable = true;
|
||
firefox.enable = true;
|
||
};
|
||
}
|
||
];
|
||
};
|
||
};
|
||
|
||
sysconfig = {
|
||
opts = {
|
||
novnc.enable = true;
|
||
sddm.enable = true;
|
||
openssh.enable = true;
|
||
pipewire.enable = true;
|
||
ags.enable = false;
|
||
hyprland.enable = false;
|
||
kdePlasma6.enable = true;
|
||
git.enable = true;
|
||
nh.enable = true;
|
||
netbird.enable = true;
|
||
};
|
||
};
|
||
|
||
fonts.packages = with pkgs; [ nerd-fonts.fira-code ];
|
||
|
||
};
|
||
}
|