Added programs, updated gaming volume to mount on boot

This commit is contained in:
Nathan Anderson 2024-01-07 22:18:36 -07:00
parent 29626f89b2
commit f4e35e83ef
9 changed files with 127 additions and 5 deletions

View File

@ -20,6 +20,26 @@
"type": "github"
}
},
"nix-ld": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1701153607,
"narHash": "sha256-h+odOVyiGmEERMECoFOj5P7FPiMR8IPRzroFA4sKivg=",
"owner": "Mic92",
"repo": "nix-ld",
"rev": "bf5aa84a713c31d95b4307e442e966d6c7fd7ae7",
"type": "github"
},
"original": {
"owner": "Mic92",
"repo": "nix-ld",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1702312524,
@ -70,6 +90,7 @@
"root": {
"inputs": {
"home-manager": "home-manager",
"nix-ld": "nix-ld",
"nixpkgs": "nixpkgs",
"nixpkgs-stable": "nixpkgs-stable",
"nur": "nur"

View File

@ -6,6 +6,11 @@
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-23.11";
nix-ld = {
url = "github:Mic92/nix-ld";
inputs.nixpkgs.follows = "nixpkgs";
};
nur.url = "github:nix-community/NUR";
home-manager = {
@ -19,7 +24,7 @@
# };
};
outputs = { self, nixpkgs, nixpkgs-stable, nur, home-manager, ... } @ inputs:
outputs = { self, nixpkgs, nixpkgs-stable, nix-ld, nur, home-manager, ... } @ inputs:
let
inherit (self) outputs;
system = "x86_64-linux";
@ -47,10 +52,12 @@
nixDesktop = nixpkgs.lib.nixosSystem {
# Pass args to desktop configuration
specialArgs = {
inherit inputs outputs userName hostName desktop timeZone gaming;
inherit inputs outputs userName hostName desktop timeZone gaming system;
};
modules = [
./nixos/desktop_configuration.nix
# Setup nix-ld
nix-ld.nixosModules.nix-ld
# Setup home manager
home-manager.nixosModules.home-manager {
home-manager.useGlobalPkgs = true;

View File

@ -30,7 +30,7 @@ in
engines = {
"Startpage" = {
urls = [{
template = "https://www.startpage.com/sp/search?query={searchTerms}";
template = "https://www.startpage.com/do/mypage.pl?prfe=a1ffaae1a3f4dc133b6e11b3d611db561598fc16fbc43a22c2694805a5b4d46852c848cb54f3ccbc9cea0e8e83dab567d3abe2b350870e7781f8701d4558a1c988aced444d1e8d8a7b830563/search?query={searchTerms}";
}];
};
};

View File

@ -24,6 +24,7 @@
# The home.packages option allows you to install Nix packages into your
# environment.
firefoxApp.enable = true;
fonts.fontconfig.enable = true;
home.packages = with pkgs; [
# nur.repos.crazazy.js.eslint

View File

@ -70,6 +70,7 @@
swaylock
swayidle
wl-clipboard
wdisplays
xdg-utils
zsh
# Fonts
@ -81,12 +82,25 @@
# ])
];
# Thunar config
programs.thunar = {
enable = true;
plugins = with pkgs.xfce; [
thunar-archive-plugin
thunar-volman
];
};
programs.file-roller.enable = true;
programs.xfconf.enable = true;
programs.zsh.enable = true;
programs.steam.enable = config.swaywm.installGaming;
###
## Services
###
services.gvfs.enable = true; # thunar functionalities
services.openssh.enable = true;
services.dbus.enable = true;
services.pipewire = {

View File

@ -0,0 +1,52 @@
{ lib, config, pkgs, ... }:
let
cfg = config.main_user;
in
{
options.main_user = {
enable = lib.mkEnableOption "enable user module";
isDesktopUser = lib.mkOption {
default = false;
example = true;
description = "Add additional user groups for desktop users";
};
userName = lib.mkOption {
default = "mainuser";
description = "username";
};
};
config = lib.mkIf cfg.enable {
users.users.${cfg.userName} = lib.mkMerge [
{
isNormalUser = true;
initialPassword = "password";
description = "main user";
shell = pkgs.zsh;
}
(lib.mkIf (!cfg.isDesktopUser) {
extraGroups = [
"wheel"
"networkmanager"
cfg.userName
];
})
(lib.mkIf cfg.isDesktopUser {
extraGroups = [
"wheel"
"networkmanager"
"corectrl"
cfg.userName
"video"
"audio"
# For android
"adbusers"
];
})
];
};

View File

@ -19,6 +19,9 @@
"nix-command" "flakes"
];
programs.nix-ld.enable = true;
system.stateVersion = "23.11"; # Did you read the comment?
}

View File

@ -1,4 +1,4 @@
{ config, lib, inputs, outputs, pkgs, userName, hostName, desktop, timeZone, gaming, ... }:
{ config, lib, inputs, outputs, pkgs, userName, hostName, desktop, timeZone, gaming, system, ... }:
let
supportedDesktops = [ "sway" ];
@ -28,6 +28,8 @@ in
"nix-command" "flakes"
];
# programs.nix-ld.dev.enable = true;
# nixpkgs.config.allowUnfree = true;
# Use the systemd-boot EFI boot loader.
@ -50,7 +52,9 @@ in
useNonFree = true;
installGaming = gaming;
systemPackages = with pkgs; [
#
# Dev Tools
#
dbeaver
cargo
kakoune
@ -59,25 +63,36 @@ in
docker-compose
python310
nodejs_21
zig
### LSP's
rnix-lsp # Nix LSP
openscad-lsp
nodePackages.typescript-language-server
vscode-langservers-extracted # provides eslint, markdown, json, css, and html lsp
rubyPackages.solargraph
python310Packages.python-lsp-server
zls
### Misc
# android-udev-rules
# android-tools
# sdkmanager
openscad
#
# Productivity
#
libreoffice
#
# Gaming
#
mumble
wine-wayland
r2modman
#
# Better Unix
#
bat
duf
fd
@ -86,13 +101,17 @@ in
ripgrep
gtop
#
# Photo / Video
#
davinci-resolve-studio
imv
mpv
gimp
#
# Work
#
slack
];
};

View File

@ -8,7 +8,7 @@
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "usb_storage" "uas" "sd_mod" ];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "uas" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
@ -23,6 +23,11 @@
fsType = "vfat";
};
fileSystems."/home/nate/Games" =
{ device = "/dev/disk/by-uuid/d66b7920-2c29-400a-be51-0b3890ea63db";
fsType = "ext4";
};
swapDevices = [ ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking