ok a config is happening
This commit is contained in:
parent
dadb67e56d
commit
1e42aceed9
4 changed files with 138 additions and 28 deletions
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
dotfiles
|
||||||
|
*.lock
|
|
@ -2,7 +2,7 @@
|
||||||
# your system. Help is available in the configuration.nix(5) man page
|
# your system. Help is available in the configuration.nix(5) man page
|
||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||||
|
|
||||||
{ config, pkgs, ... }:
|
{ nixos-hardware, config, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
|
@ -10,15 +10,75 @@
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
hardware.openrazer.enable = true;
|
|
||||||
hardware.openrazer.users = [ "emenel" ];
|
|
||||||
hardware.opengl.enable = true;
|
|
||||||
|
|
||||||
# Bootloader.
|
# Bootloader.
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
boot.kernelPackages = pkgs.linuxPackages_zen;
|
boot.kernelPackages = pkgs.linuxPackages_zen;
|
||||||
|
|
||||||
|
boot = {
|
||||||
|
# TODO: confirm this works
|
||||||
|
# https://forums.developer.nvidia.com/t/550-54-14-cannot-create-sg-table-for-nvkmskapimemory-spammed-when-launching-chrome-on-wayland/284775/26
|
||||||
|
initrd.kernelModules = [ "nvidia" "i915" "nvidia_modeset" "nvidia_uvm" "nvidia_drm" ];
|
||||||
|
# extraModulePackages = [ config.boot.kernelPackages.nvidia_x11 ];
|
||||||
|
kernelParams = [ "nvidia-drm.fbdev=1" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
hardware = {
|
||||||
|
openrazer.enable = true;
|
||||||
|
openrazer.users = [ "emenel" ];
|
||||||
|
opengl.enable = true;
|
||||||
|
|
||||||
|
nvidia = {
|
||||||
|
package = config.boot.kernelPackages.nvidiaPackages.mkDriver {
|
||||||
|
version = "555.58.02";
|
||||||
|
sha256_64bit = "sha256-xctt4TPRlOJ6r5S54h5W6PT6/3Zy2R4ASNFPu8TSHKM=";
|
||||||
|
sha256_aarch64 = "sha256-8hyRiGB+m2hL3c9MDA/Pon+Xl6E788MZ50WrrAGUVuY=";
|
||||||
|
openSha256 = "sha256-8hyRiGB+m2hL3c9MDA/Pon+Xl6E788MZ50WrrAGUVuY=";
|
||||||
|
settingsSha256 = "sha256-ZpuVZybW6CFN/gz9rx+UJvQ715FZnAOYfHn5jt5Z2C8=";
|
||||||
|
persistencedSha256 = "sha256-xctt4TPRlOJ6r5S54h5W6PT6/3Zy2R4ASNFPu8TSHKM=";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Modesetting is required.
|
||||||
|
modesetting.enable = true;
|
||||||
|
|
||||||
|
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
|
||||||
|
# Enable this if you have graphical corruption issues or application crashes after waking
|
||||||
|
# up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead
|
||||||
|
# of just the bare essentials.
|
||||||
|
powerManagement.enable = true;
|
||||||
|
|
||||||
|
# Fine-grained power management. Turns off GPU when not in use.
|
||||||
|
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
|
||||||
|
powerManagement.finegrained = false;
|
||||||
|
|
||||||
|
# Use the NVidia open source kernel module (not to be confused with the
|
||||||
|
# independent third-party "nouveau" open source driver).
|
||||||
|
# Support is limited to the Turing and later architectures. Full list of
|
||||||
|
# supported GPUs is at:
|
||||||
|
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
|
||||||
|
# Only available from driver 515.43.04+
|
||||||
|
# Currently alpha-quality/buggy, so false is currently the recommended setting.
|
||||||
|
open = false;
|
||||||
|
|
||||||
|
#forceFullCompositionPipeline = true;
|
||||||
|
|
||||||
|
prime = {
|
||||||
|
amdgpuBusId = "PCI:0:2:0";
|
||||||
|
nvidiaBusId = "PCI:41:0:0";
|
||||||
|
offload = {
|
||||||
|
enable = true;
|
||||||
|
enableOffloadCmd = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
#reverseSync.enable = true;
|
||||||
|
#sync.enable = true;
|
||||||
|
};
|
||||||
|
nvidiaSettings = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.xserver.videoDrivers = [ "nvidia" ];
|
||||||
|
|
||||||
networking.hostName = "eddie";
|
networking.hostName = "eddie";
|
||||||
|
|
||||||
# Enable networking
|
# Enable networking
|
||||||
|
@ -38,10 +98,26 @@
|
||||||
# Enable the X11 windowing system
|
# Enable the X11 windowing system
|
||||||
services.xserver.enable = true;
|
services.xserver.enable = true;
|
||||||
|
|
||||||
|
#services.greetd = {
|
||||||
|
# enable = true;
|
||||||
|
# settings = rec {
|
||||||
|
# initial_session = {
|
||||||
|
# command = "${pkgs.greetd.tuigreet}/bin/tuigreet --sessions ${config.services.xserver.displayManager.sessionData.desktops}/share/xsessions:${config.services.xserver.displayManager.sessionData.desktops}/share/wayland-sessions --remember --remember-user-session";
|
||||||
|
# user = "greeter";
|
||||||
|
# };
|
||||||
|
# default_session = initial_session;
|
||||||
|
# };
|
||||||
|
#};
|
||||||
|
|
||||||
|
|
||||||
|
#security.pam.services.greetd.enableGnomeKeyring = true;
|
||||||
|
|
||||||
# Enable the GNOME Desktop Environment.
|
# Enable the GNOME Desktop Environment.
|
||||||
services.xserver.displayManager.gdm.enable = true;
|
services.xserver.displayManager.gdm.enable = true;
|
||||||
services.xserver.desktopManager.gnome.enable = true;
|
services.xserver.desktopManager.gnome.enable = true;
|
||||||
|
|
||||||
|
programs.dconf.enable = true;
|
||||||
|
|
||||||
# Configure keymap in X11
|
# Configure keymap in X11
|
||||||
services.xserver.xkb = {
|
services.xserver.xkb = {
|
||||||
layout = "us";
|
layout = "us";
|
||||||
|
@ -99,9 +175,7 @@
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
# List packages installed in system profile. To search, run:
|
# List packages installed in system profile. To search, run:
|
||||||
# $ nix search wget
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
|
||||||
wget
|
wget
|
||||||
home-manager
|
home-manager
|
||||||
curl
|
curl
|
||||||
|
@ -109,6 +183,8 @@
|
||||||
rsync
|
rsync
|
||||||
];
|
];
|
||||||
|
|
||||||
|
programs.steam.enable = true;
|
||||||
|
|
||||||
# Some programs need SUID wrappers, can be configured further or are
|
# Some programs need SUID wrappers, can be configured further or are
|
||||||
# started in user sessions.
|
# started in user sessions.
|
||||||
# programs.mtr.enable = true;
|
# programs.mtr.enable = true;
|
||||||
|
|
|
@ -3,6 +3,8 @@
|
||||||
description = "My Home Manager configuration";
|
description = "My Home Manager configuration";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
|
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
||||||
|
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
|
||||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
|
@ -12,7 +14,7 @@
|
||||||
nix-flatpak.url = "github:gmodena/nix-flatpak"; # unstable branch. Use github:gmodena/nix-flatpak/?ref=<tag> to pin releases.
|
nix-flatpak.url = "github:gmodena/nix-flatpak"; # unstable branch. Use github:gmodena/nix-flatpak/?ref=<tag> to pin releases.
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs@{ nixpkgs, home-manager, nix-flatpak, ... }: {
|
outputs = inputs@{self, nixpkgs, home-manager, nix-flatpak, nixos-hardware, ... }: {
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
eddie = nixpkgs.lib.nixosSystem {
|
eddie = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
|
@ -29,6 +31,7 @@
|
||||||
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
||||||
modules = [
|
modules = [
|
||||||
nix-flatpak.homeManagerModules.nix-flatpak
|
nix-flatpak.homeManagerModules.nix-flatpak
|
||||||
|
#nixos-hardware
|
||||||
./home.nix
|
./home.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
69
home.nix
69
home.nix
|
@ -3,39 +3,63 @@
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
home = {
|
home = {
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
plexamp
|
gnupg
|
||||||
audacity
|
|
||||||
supercollider-with-plugins
|
|
||||||
|
|
||||||
python3
|
|
||||||
sbcl
|
|
||||||
nodejs_22
|
|
||||||
|
|
||||||
kanata-with-cmd
|
|
||||||
wezterm
|
|
||||||
eza
|
eza
|
||||||
fish
|
|
||||||
emacs
|
|
||||||
just
|
just
|
||||||
fd
|
fd
|
||||||
fzf
|
fzf
|
||||||
bat
|
bat
|
||||||
jq
|
jq
|
||||||
starship
|
yt-dlp
|
||||||
|
htop
|
||||||
|
ripgrep
|
||||||
|
erdtree
|
||||||
|
|
||||||
|
pciutils
|
||||||
|
util-linux
|
||||||
|
coreutils
|
||||||
|
libgcc
|
||||||
|
raylib
|
||||||
|
SDL2
|
||||||
|
|
||||||
|
ruby
|
||||||
|
janet
|
||||||
|
jpm
|
||||||
|
python3
|
||||||
|
sbcl
|
||||||
|
nodejs_18
|
||||||
|
platformio-core
|
||||||
|
|
||||||
|
kanata-with-cmd
|
||||||
|
wezterm
|
||||||
|
emacs
|
||||||
|
fish
|
||||||
|
starship
|
||||||
|
lazygit
|
||||||
|
nnn
|
||||||
|
|
||||||
bitwarden-cli
|
bitwarden-cli
|
||||||
bitwarden-desktop
|
bitwarden-desktop
|
||||||
tailscale
|
tailscale
|
||||||
|
|
||||||
gnome.gnome-software
|
|
||||||
polychromatic
|
|
||||||
|
|
||||||
discord
|
|
||||||
slack
|
|
||||||
|
|
||||||
gnomeExtensions.just-perfection
|
gnomeExtensions.just-perfection
|
||||||
gnomeExtensions.dash-to-dock
|
gnomeExtensions.dash-to-dock
|
||||||
|
gnome.gnome-software
|
||||||
|
gnome.gnome-tweaks
|
||||||
|
|
||||||
|
vlc
|
||||||
|
polychromatic
|
||||||
|
discord
|
||||||
|
slack
|
||||||
|
signal-desktop
|
||||||
|
libreoffice
|
||||||
|
plexamp
|
||||||
|
audacity
|
||||||
|
supercollider-with-plugins
|
||||||
|
bitwig-studio
|
||||||
|
blender
|
||||||
|
davinci-resolve-studio
|
||||||
|
steam
|
||||||
];
|
];
|
||||||
|
|
||||||
username = "emenel";
|
username = "emenel";
|
||||||
|
@ -52,6 +76,10 @@
|
||||||
nix-direnv.enable = true;
|
nix-direnv.enable = true;
|
||||||
};
|
};
|
||||||
fish.enable = true;
|
fish.enable = true;
|
||||||
|
starship = {
|
||||||
|
enable = true;
|
||||||
|
enableFishIntegration = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services.flatpak.enable = true;
|
services.flatpak.enable = true;
|
||||||
|
@ -67,5 +95,6 @@
|
||||||
"io.github.zen_browser.zen"
|
"io.github.zen_browser.zen"
|
||||||
];
|
];
|
||||||
|
|
||||||
xdg.configFile."wezterm".source = ./dotfiles/dot_config/wezterm/wezterm.lua;
|
xdg.configFile."wezterm".source = ./dotfiles/dot_config/wezterm;
|
||||||
|
#xdg.configFile."fish".source = ./
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue