Compare commits
7 commits
d12a96ff76
...
3bfd1450fc
Author | SHA1 | Date | |
---|---|---|---|
3bfd1450fc | |||
a777e1ab35 | |||
74a308e22e | |||
5dd3c43865 | |||
fb4b5d0cbe | |||
041177cdae | |||
fe595e335d |
12 changed files with 650 additions and 891 deletions
File diff suppressed because it is too large
Load diff
|
@ -25,14 +25,14 @@ in
|
|||
};
|
||||
|
||||
wayland.windowManager.hyprland.settings.exec-once = [
|
||||
''hyprctl hyprpaper wallpaper "DP-2,${picture-path}"''
|
||||
''hyprctl hyprpaper wallpaper "DP-1,${picture-path}"''
|
||||
];
|
||||
|
||||
services.hyprpaper = {
|
||||
enable = true;
|
||||
settings = {
|
||||
preload = [ picture-path ];
|
||||
wallpaper = "DP-2,${picture-path}";
|
||||
wallpaper = "DP-1,${picture-path}";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -118,6 +118,9 @@ in
|
|||
focus-1password
|
||||
|
||||
hyprpanel
|
||||
|
||||
#####
|
||||
xdg-dbus-proxy
|
||||
];
|
||||
|
||||
programs = {
|
||||
|
@ -125,19 +128,52 @@ in
|
|||
enable = true;
|
||||
package = hyprland-package;
|
||||
portalPackage = inputs.hyprland.packages.${system}.xdg-desktop-portal-hyprland;
|
||||
withUWSM = true;
|
||||
};
|
||||
};
|
||||
|
||||
services.greetd = {
|
||||
xdg = {
|
||||
autostart.enable = true;
|
||||
portal = {
|
||||
enable = true;
|
||||
settings = rec {
|
||||
initial_session = {
|
||||
command = "${hyprland-package}/bin/Hyprland";
|
||||
user = "cholli";
|
||||
extraPortals = [
|
||||
pkgs.xdg-desktop-portal
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
];
|
||||
xdgOpenUsePortal = true;
|
||||
|
||||
config = {
|
||||
common = {
|
||||
default = [ "*" ];
|
||||
"org.freedesktop.impl.portal.Secret" = [ "gnome-keyring" ];
|
||||
};
|
||||
hyprland = {
|
||||
default = [
|
||||
"hyprland"
|
||||
"gtk"
|
||||
];
|
||||
"org.freedesktop.impl.portal.FileChooser" = [ "gtk" ];
|
||||
"org.freedesktop.impl.portal.OpenURI" = [ "gtk" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
default_session = initial_session;
|
||||
};
|
||||
# services.greetd = {
|
||||
# enable = true;
|
||||
# settings = rec {
|
||||
# initial_session = {
|
||||
# command = "${hyprland-package}/bin/Hyprland";
|
||||
# user = "cholli";
|
||||
# };
|
||||
|
||||
# default_session = initial_session;
|
||||
# };
|
||||
# };
|
||||
#
|
||||
services.displayManager.gdm = {
|
||||
enable = true;
|
||||
wayland = true;
|
||||
};
|
||||
|
||||
${namespace} = {
|
||||
|
@ -164,6 +200,7 @@ in
|
|||
enable = true;
|
||||
package = hyprland-package;
|
||||
plugins = [ inputs.hy3.packages.${system}.hy3 ];
|
||||
systemd.variables = [ "--all" ];
|
||||
settings = mkMerge [
|
||||
{
|
||||
"$mod" = "SUPER";
|
||||
|
@ -171,7 +208,7 @@ in
|
|||
exec-once = [
|
||||
"systemctl --user start hyprpolkitagent"
|
||||
|
||||
"[workspace 2 silent] steam --disable-gpu-compositing" # nvidia pls let me have nice things
|
||||
"[workspace 2 silent] steam"
|
||||
"[workspace 8 silent] discord"
|
||||
"[workspace 9 silent] ELECTRON_OZONE_PLATFORM_HINT=x11 1password" # fix for promts not showing up anymore
|
||||
"[workspace 1 silent] zen-beta"
|
||||
|
@ -250,8 +287,7 @@ in
|
|||
];
|
||||
};
|
||||
|
||||
bind =
|
||||
[
|
||||
bind = [
|
||||
# compositor commands
|
||||
"$mod SHIFT, R, exec, hyprctl reload"
|
||||
"$mod SHIFT, Q, killactive,"
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
config,
|
||||
lib,
|
||||
namespace,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
|
@ -17,7 +18,15 @@ in
|
|||
|
||||
config = mkIf cfg.enable {
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
security.pam.services.gdm.enableGnomeKeyring = true;
|
||||
security.pam.services.sddm.enableGnomeKeyring = true;
|
||||
security.pam.services.greetd.enableGnomeKeyring = true;
|
||||
|
||||
services.dbus.packages = [
|
||||
pkgs.gnome-keyring
|
||||
pkgs.gcr
|
||||
];
|
||||
|
||||
environment.systemPackages = [ pkgs.seahorse ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@ in
|
|||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
# environment.systemPackages = with pkgs; [ prismlauncher ];
|
||||
environment.systemPackages = with pkgs; [ prismlauncher ];
|
||||
|
||||
${namespace} = {
|
||||
apps = {
|
||||
|
|
35
modules/nixos/system/hardware/gpu/amd/default.nix
Normal file
35
modules/nixos/system/hardware/gpu/amd/default.nix
Normal file
|
@ -0,0 +1,35 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.${namespace}.system.hardware.gpu.amd;
|
||||
|
||||
amdvlk-run = pkgs.writeShellScriptBin "amdvlk-run" ''
|
||||
export VK_DRIVER_FILES="${pkgs.amdvlk}/share/vulkan/icd.d/amd_icd64.json:${pkgs.pkgsi686Linux.amdvlk}/share/vulkan/icd.d/amd_icd32.json"
|
||||
exec "$@"
|
||||
'';
|
||||
in
|
||||
{
|
||||
options.${namespace}.system.hardware.gpu.amd = {
|
||||
enable = mkEnableOption "Enable AMD GPU";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
hardware.graphics = {
|
||||
enable = true;
|
||||
enable32Bit = true;
|
||||
};
|
||||
|
||||
environment = {
|
||||
systemPackages = [ amdvlk-run ];
|
||||
variables = {
|
||||
AMD_VULKAN_ICD = "RADV";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,97 +0,0 @@
|
|||
{
|
||||
inputs,
|
||||
lib,
|
||||
namespace,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib.${namespace}) enabled disabled;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./hardware.nix
|
||||
./hyprland_config.nix
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
path-of-building
|
||||
teams-for-linux
|
||||
obsidian
|
||||
zed-editor
|
||||
|
||||
# eve
|
||||
bottles
|
||||
pyfa
|
||||
|
||||
# misc
|
||||
diebahn
|
||||
|
||||
nixpkgs-review
|
||||
];
|
||||
|
||||
environment.pathsToLink = [ "/libexec" ];
|
||||
|
||||
virtualisation.waydroid = enabled;
|
||||
|
||||
programs.ssh.extraConfig = ''
|
||||
AddressFamily inet
|
||||
'';
|
||||
home-manager = {
|
||||
backupFileExtension = ".bak";
|
||||
};
|
||||
|
||||
nix = {
|
||||
distributedBuilds = true;
|
||||
settings.builders-use-substitutes = true;
|
||||
buildMachines = [
|
||||
{
|
||||
hostName = "nixberry";
|
||||
sshUser = "remotebuild";
|
||||
sshKey = "/root/.ssh/remotebuild";
|
||||
systems = [ "aarch64-linux" ];
|
||||
protocol = "ssh-ng";
|
||||
|
||||
supportedFeatures = [
|
||||
"nixos-test"
|
||||
"big-parallel"
|
||||
"kvm"
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
${namespace} = {
|
||||
archetypes = {
|
||||
gaming.enable = true;
|
||||
};
|
||||
|
||||
apps = {
|
||||
_1password = enabled;
|
||||
obs-studio = enabled;
|
||||
cli-apps.helix = enabled;
|
||||
starsector = enabled;
|
||||
};
|
||||
|
||||
desktop.hyprland = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
services = {
|
||||
factorio-server = disabled;
|
||||
};
|
||||
|
||||
tools.devenv = enabled;
|
||||
|
||||
system = {
|
||||
hardware = {
|
||||
bluetooth = enabled;
|
||||
# gpu.nvidia = enabled;
|
||||
};
|
||||
};
|
||||
|
||||
security.gpg = enabled;
|
||||
};
|
||||
|
||||
system.stateVersion = "23.11";
|
||||
}
|
|
@ -1,69 +0,0 @@
|
|||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
modulesPath,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (inputs) nixos-hardware;
|
||||
in
|
||||
{
|
||||
imports = with nixos-hardware.nixosModules; [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
common-cpu-amd
|
||||
common-gpu-nvidia-nonprime
|
||||
common-pc
|
||||
common-pc-ssd
|
||||
];
|
||||
|
||||
boot = {
|
||||
initrd.availableKernelModules = [
|
||||
"nvme"
|
||||
"xhci_pci"
|
||||
"ahci"
|
||||
"usb_storage"
|
||||
"usbhid"
|
||||
"sd_mod"
|
||||
];
|
||||
initrd.kernelModules = [ ];
|
||||
kernelModules = [
|
||||
"kvm-amd"
|
||||
"btusb"
|
||||
];
|
||||
extraModulePackages = [ ];
|
||||
};
|
||||
|
||||
fileSystems = {
|
||||
"/" = {
|
||||
device = "/dev/disk/by-uuid/444a9216-59d1-46e0-9643-0b716a42ba0b";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
"/boot" = {
|
||||
device = "/dev/disk/by-uuid/8310-585A";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
"/storage" = {
|
||||
device = "/dev/disk/by-uuid/c3c1dec1-7716-4c37-a3f2-bb60f9af84fd";
|
||||
fsType = "ext4";
|
||||
};
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||
# still possible to use this option, but it's recommended to use it in conjunction
|
||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.enp40s0.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.enp42s0.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
|
@ -1,48 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
namespace,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
in
|
||||
{
|
||||
${namespace}.desktop.hyprland.settings = {
|
||||
monitor = [
|
||||
#Ultrawide
|
||||
"DP-2,3440x1440@144, 0x0, 1"
|
||||
#Vertical
|
||||
"HDMI-A-1, 1920x1080@144, auto-right, 1, transform, 1"
|
||||
# nividia kernel issues
|
||||
"Unknown-1, disable"
|
||||
];
|
||||
|
||||
cursor = {
|
||||
no_hardware_cursors = true;
|
||||
};
|
||||
|
||||
exec-once = [
|
||||
"[workspace 7 silent] obsidian"
|
||||
|
||||
"${lib.getExe pkgs.xorg.xrandr} --output DP-2 --primary"
|
||||
];
|
||||
|
||||
workspace = [
|
||||
"1, monitor:DP-2"
|
||||
"2, monitor:DP-2"
|
||||
"3, monitor:DP-2"
|
||||
"4, monitor:DP-2"
|
||||
"5, monitor:DP-2"
|
||||
"6, monitor:DP-2"
|
||||
"7, monitor:HDMI-A-1"
|
||||
"8, monitor:HDMI-A-1"
|
||||
"9, monitor:HDMI-A-1"
|
||||
];
|
||||
|
||||
windowrulev2 = [
|
||||
"workspace 8 silent, class:^(steam)$, title:^(Friends List)"
|
||||
"workspace 8 silent, class:^(discord)$, title:^(Discord)"
|
||||
"workspace 7 silent, class:^(com.obsproject.Studio)$"
|
||||
];
|
||||
};
|
||||
}
|
|
@ -38,7 +38,7 @@ in
|
|||
AddressFamily inet
|
||||
'';
|
||||
home-manager = {
|
||||
backupFileExtension = ".bak";
|
||||
backupFileExtension = "bak";
|
||||
};
|
||||
|
||||
nix = {
|
||||
|
@ -86,7 +86,7 @@ in
|
|||
system = {
|
||||
hardware = {
|
||||
bluetooth = enabled;
|
||||
gpu.nvidia = enabled;
|
||||
gpu.amd = enabled;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -4,8 +4,9 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
modulesPath,
|
||||
inputs,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}:
|
||||
let
|
||||
|
@ -15,7 +16,6 @@ in
|
|||
imports = with nixos-hardware.nixosModules; [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
common-cpu-amd
|
||||
common-gpu-nvidia-nonprime
|
||||
common-pc
|
||||
common-pc-ssd
|
||||
];
|
||||
|
@ -23,29 +23,28 @@ in
|
|||
boot = {
|
||||
initrd.availableKernelModules = [
|
||||
"nvme"
|
||||
"xhci_pci"
|
||||
"ahci"
|
||||
"usb_storage"
|
||||
"xhci_pci"
|
||||
"usbhid"
|
||||
"usb_storage"
|
||||
"sd_mod"
|
||||
];
|
||||
initrd.kernelModules = [ ];
|
||||
kernelModules = [
|
||||
"kvm-amd"
|
||||
"btusb"
|
||||
];
|
||||
extraModulePackages = [ ];
|
||||
kernelModules = [ "kvm-amd" ];
|
||||
};
|
||||
|
||||
fileSystems = {
|
||||
"/" = {
|
||||
device = "/dev/disk/by-uuid/444a9216-59d1-46e0-9643-0b716a42ba0b";
|
||||
device = "/dev/disk/by-uuid/b1a956f4-91d5-456e-a92b-be505bb719bd";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
"/boot" = {
|
||||
device = "/dev/disk/by-uuid/8310-585A";
|
||||
device = "/dev/disk/by-uuid/B4D4-8BA0";
|
||||
fsType = "vfat";
|
||||
options = [
|
||||
"fmask=0077"
|
||||
"dmask=0077"
|
||||
];
|
||||
};
|
||||
|
||||
"/storage" = {
|
||||
|
@ -54,15 +53,17 @@ in
|
|||
};
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
swapDevices = [
|
||||
{ device = "/dev/disk/by-uuid/4bec00ec-e9eb-4034-836a-ecf15e0bb40e"; }
|
||||
];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||
# still possible to use this option, but it's recommended to use it in conjunction
|
||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.enp40s0.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.enp42s0.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.enp14s0.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.wlp15s0.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
|
|
|
@ -10,7 +10,7 @@ in
|
|||
${namespace}.desktop.hyprland.settings = {
|
||||
monitor = [
|
||||
#Ultrawide
|
||||
"DP-2,3440x1440@144, 0x0, 1"
|
||||
"DP-1,3440x1440@144, 0x0, 1"
|
||||
#Vertical
|
||||
"HDMI-A-1, 1920x1080@144, auto-right, 1, transform, 1"
|
||||
# nividia kernel issues
|
||||
|
@ -24,16 +24,16 @@ in
|
|||
exec-once = [
|
||||
"[workspace 7 silent] obsidian"
|
||||
|
||||
"${lib.getExe pkgs.xorg.xrandr} --output DP-2 --primary"
|
||||
"${lib.getExe pkgs.xorg.xrandr} --output DP-1 --primary"
|
||||
];
|
||||
|
||||
workspace = [
|
||||
"1, monitor:DP-2"
|
||||
"2, monitor:DP-2"
|
||||
"3, monitor:DP-2"
|
||||
"4, monitor:DP-2"
|
||||
"5, monitor:DP-2"
|
||||
"6, monitor:DP-2"
|
||||
"1, monitor:DP-1"
|
||||
"2, monitor:DP-1"
|
||||
"3, monitor:DP-1"
|
||||
"4, monitor:DP-1"
|
||||
"5, monitor:DP-1"
|
||||
"6, monitor:DP-1"
|
||||
"7, monitor:HDMI-A-1"
|
||||
"8, monitor:HDMI-A-1"
|
||||
"9, monitor:HDMI-A-1"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue