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" "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": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1702312524, "lastModified": 1702312524,
@ -70,6 +90,7 @@
"root": { "root": {
"inputs": { "inputs": {
"home-manager": "home-manager", "home-manager": "home-manager",
"nix-ld": "nix-ld",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nixpkgs-stable": "nixpkgs-stable", "nixpkgs-stable": "nixpkgs-stable",
"nur": "nur" "nur": "nur"

View File

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

View File

@ -30,7 +30,7 @@ in
engines = { engines = {
"Startpage" = { "Startpage" = {
urls = [{ 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 # The home.packages option allows you to install Nix packages into your
# environment. # environment.
firefoxApp.enable = true; firefoxApp.enable = true;
fonts.fontconfig.enable = true; fonts.fontconfig.enable = true;
home.packages = with pkgs; [ home.packages = with pkgs; [
# nur.repos.crazazy.js.eslint # nur.repos.crazazy.js.eslint

View File

@ -70,6 +70,7 @@
swaylock swaylock
swayidle swayidle
wl-clipboard wl-clipboard
wdisplays
xdg-utils xdg-utils
zsh zsh
# Fonts # 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.zsh.enable = true;
programs.steam.enable = config.swaywm.installGaming; programs.steam.enable = config.swaywm.installGaming;
### ###
## Services ## Services
### ###
services.gvfs.enable = true; # thunar functionalities
services.openssh.enable = true; services.openssh.enable = true;
services.dbus.enable = true; services.dbus.enable = true;
services.pipewire = { 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" "nix-command" "flakes"
]; ];
programs.nix-ld.enable = true;
system.stateVersion = "23.11"; # Did you read the comment? 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 let
supportedDesktops = [ "sway" ]; supportedDesktops = [ "sway" ];
@ -28,6 +28,8 @@ in
"nix-command" "flakes" "nix-command" "flakes"
]; ];
# programs.nix-ld.dev.enable = true;
# nixpkgs.config.allowUnfree = true; # nixpkgs.config.allowUnfree = true;
# Use the systemd-boot EFI boot loader. # Use the systemd-boot EFI boot loader.
@ -50,7 +52,9 @@ in
useNonFree = true; useNonFree = true;
installGaming = gaming; installGaming = gaming;
systemPackages = with pkgs; [ systemPackages = with pkgs; [
#
# Dev Tools # Dev Tools
#
dbeaver dbeaver
cargo cargo
kakoune kakoune
@ -59,25 +63,36 @@ in
docker-compose docker-compose
python310 python310
nodejs_21 nodejs_21
zig
### LSP's ### LSP's
rnix-lsp # Nix LSP rnix-lsp # Nix LSP
openscad-lsp
nodePackages.typescript-language-server nodePackages.typescript-language-server
vscode-langservers-extracted # provides eslint, markdown, json, css, and html lsp vscode-langservers-extracted # provides eslint, markdown, json, css, and html lsp
rubyPackages.solargraph rubyPackages.solargraph
python310Packages.python-lsp-server python310Packages.python-lsp-server
zls
### Misc ### Misc
# android-udev-rules # android-udev-rules
# android-tools # android-tools
# sdkmanager # sdkmanager
openscad
#
# Productivity # Productivity
#
libreoffice libreoffice
#
# Gaming # Gaming
#
mumble
wine-wayland wine-wayland
r2modman r2modman
#
# Better Unix # Better Unix
#
bat bat
duf duf
fd fd
@ -86,13 +101,17 @@ in
ripgrep ripgrep
gtop gtop
#
# Photo / Video # Photo / Video
#
davinci-resolve-studio davinci-resolve-studio
imv imv
mpv mpv
gimp gimp
#
# Work # Work
#
slack slack
]; ];
}; };

View File

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