feat: inherited Nvidia configuration from old conf

This commit is contained in:
Zhongheng Liu 2024-07-31 14:45:24 +00:00
commit 8fecc5f592
7 changed files with 117 additions and 82 deletions

View file

@ -1,60 +0,0 @@
# This is your home-manager configuration file
# Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix)
{
inputs,
lib,
config,
pkgs,
...
}: {
# You can import other home-manager modules here
imports = [
# If you want to use home-manager modules from other flakes (such as nix-colors):
# inputs.nix-colors.homeManagerModule
# You can also split up your configuration and import pieces of it here:
# ./nvim.nix
];
nixpkgs = {
# You can add overlays here
overlays = [
# If you want to use overlays exported from other flakes:
# neovim-nightly-overlay.overlays.default
# Or define it inline, for example:
# (final: prev: {
# hi = final.hello.overrideAttrs (oldAttrs: {
# patches = [ ./change-hello-to-hi.patch ];
# });
# })
];
# Configure your nixpkgs instance
config = {
# Disable if you don't want unfree packages
allowUnfree = true;
# Workaround for https://github.com/nix-community/home-manager/issues/2942
allowUnfreePredicate = _: true;
};
};
# TODO: Set your username
home = {
username = "your-username";
homeDirectory = "/home/your-username";
};
# Add stuff for your user as you see fit:
# programs.neovim.enable = true;
# home.packages = with pkgs; [ steam ];
# Enable home-manager and git
programs.home-manager.enable = true;
programs.git.enable = true;
# Nicely reload system units when changing configs
systemd.user.startServices = "sd-switch";
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
home.stateVersion = "23.05";
}

View file

@ -0,0 +1,60 @@
# This is your home-manager configuration file
# Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix)
{
inputs,
lib,
config,
pkgs,
...
}:
let
myUserName = "stvnliu";
myEmail = "z.liu@outlook.com.gr";
in
{
# You can import other home-manager modules here
imports = [
# If you want to use home-manager modules from other flakes (such as nix-colors):
# inputs.nix-colors.homeManagerModule
# You can also split up your configuration and import pieces of it here:
# ./nvim.nix
];
nixpkgs = {
# You can add overlays here
overlays = [
# If you want to use overlays exported from other flakes:
# neovim-nightly-overlay.overlays.default
# Or define it inline, for example:
# (final: prev: {
# hi = final.hello.overrideAttrs (oldAttrs: {
# patches = [ ./change-hello-to-hi.patch ];
# });
# })
];
# Configure your nixpkgs instance
config = {
# Disable if you don't want unfree packages
allowUnfree = true;
# Workaround for https://github.com/nix-community/home-manager/issues/2942
allowUnfreePredicate = _: true;
};
};
home = {
username = "${myUserName}";
homeDirectory = "/home/${myUserName}";
};
programs.neovim.enable = true;
home.packages = with pkgs; [ protonvpn-gui ];
programs.home-manager.enable = true;
programs.git.enable = true;
programs.firefox.enable = true;
# Nicely reload system units when changing configs
systemd.user.startServices = "sd-switch";
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
home.stateVersion = "24.05";
}

View file

@ -8,15 +8,11 @@
...
}:
let
myHostName = "homelab-nix";
stevenUserName = "stvnliu";
globals = import ./globals.nix;
in
{
imports = [
#inputs.hardware.nixosModules.common-cpu-amd
#inputs.hardware.nixosModules.common-ssd
./hardware-configuration.nix
./services/display-manager.nix
];
boot.loader = {
efi.canTouchEfiVariables = true;
@ -36,6 +32,12 @@ in
'';
};
};
security.polkit.enable = true;
services.gnome.gnome-keyring.enable = true;
programs.sway = {
enable = true;
wrapperFeatures.gtk = true;
};
nixpkgs = {
overlays = [
];
@ -56,19 +58,17 @@ in
nixPath = lib.mapAttrsToList (n: _: "${n}=flake:${n}") flakeInputs;
};
networking = {
hostName = "${myHostName}";
hostName = "${globals.myHostName}";
networkmanager.enable = true;
};
users.users = {
"${stevenUserName}" = {
"${globals.myUserName}" = {
initialPassword = "stevenpassword";
isNormalUser = true;
openssh.authorizedKeys.keys = [
];
packages = with pkgs; [
nh
neovim
gitFull
];
extraGroups = ["wheel"];
};

4
nixos/globals.nix Normal file
View file

@ -0,0 +1,4 @@
{
myUserName = "stvnliu";
myHostName = "homelab-nix";
}

34
nixos/nvidia.nix Normal file
View file

@ -0,0 +1,34 @@
{
config,
lib,
...
}: {
specialisation = {
powersave.configuration = {
hardware.nvidia.prime = {
offload = {
enable = lib.mkForce true;
enableOffloadCmd = lib.mkForce true;
};
sync.enable = lib.mkForce false;
};
};
};
hardware.nvidia = {
prime = {
offload.enable = false;
sync = {
enable = true;
};
amdgpuBusId = "PCI:5:0:0";
nvidiaBusId = "PCI:1:0:0";
};
forceFullCompositionPipeline = true;
modesetting.enable = true;
powerManagement.enable = false;
powerManagement.finegrained = false;
open = true;
nvidiaSettings = true;
package = config.boot.kernelPackages.nvidiaPackages.stable;
};
}

View file

@ -1,11 +0,0 @@
{ pkgs, lib, ... }:
{
programs.sway = {
enable = true;
wrapperFeatures.gtk = true;
};
services.displayManager = {
enable = true;
execCmd = "${pkgs.lemurs}/bin/lemurs --no-logs";
};
}

View file

@ -0,0 +1,8 @@
{pkgs, lib, ...}:
let
myUserName = "";
in
{
enable = true;
user = ""
}