Compare commits

..

No commits in common. "3bfd1450fce35aaf1b601ca9000515261521ae6e" and "d12a96ff76b75af17499e295bad97de6131799b4" have entirely different histories.

12 changed files with 892 additions and 651 deletions

File diff suppressed because it is too large Load diff

View file

@ -25,14 +25,14 @@ in
}; };
wayland.windowManager.hyprland.settings.exec-once = [ wayland.windowManager.hyprland.settings.exec-once = [
''hyprctl hyprpaper wallpaper "DP-1,${picture-path}"'' ''hyprctl hyprpaper wallpaper "DP-2,${picture-path}"''
]; ];
services.hyprpaper = { services.hyprpaper = {
enable = true; enable = true;
settings = { settings = {
preload = [ picture-path ]; preload = [ picture-path ];
wallpaper = "DP-1,${picture-path}"; wallpaper = "DP-2,${picture-path}";
}; };
}; };
}; };

View file

@ -118,9 +118,6 @@ in
focus-1password focus-1password
hyprpanel hyprpanel
#####
xdg-dbus-proxy
]; ];
programs = { programs = {
@ -128,52 +125,19 @@ in
enable = true; enable = true;
package = hyprland-package; package = hyprland-package;
portalPackage = inputs.hyprland.packages.${system}.xdg-desktop-portal-hyprland; portalPackage = inputs.hyprland.packages.${system}.xdg-desktop-portal-hyprland;
withUWSM = true;
}; };
}; };
xdg = { services.greetd = {
autostart.enable = true;
portal = {
enable = true; enable = true;
extraPortals = [ settings = rec {
pkgs.xdg-desktop-portal initial_session = {
pkgs.xdg-desktop-portal-gtk command = "${hyprland-package}/bin/Hyprland";
]; user = "cholli";
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" ];
};
};
};
}; };
# services.greetd = { default_session = initial_session;
# 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} = { ${namespace} = {
@ -200,7 +164,6 @@ in
enable = true; enable = true;
package = hyprland-package; package = hyprland-package;
plugins = [ inputs.hy3.packages.${system}.hy3 ]; plugins = [ inputs.hy3.packages.${system}.hy3 ];
systemd.variables = [ "--all" ];
settings = mkMerge [ settings = mkMerge [
{ {
"$mod" = "SUPER"; "$mod" = "SUPER";
@ -208,7 +171,7 @@ in
exec-once = [ exec-once = [
"systemctl --user start hyprpolkitagent" "systemctl --user start hyprpolkitagent"
"[workspace 2 silent] steam" "[workspace 2 silent] steam --disable-gpu-compositing" # nvidia pls let me have nice things
"[workspace 8 silent] discord" "[workspace 8 silent] discord"
"[workspace 9 silent] ELECTRON_OZONE_PLATFORM_HINT=x11 1password" # fix for promts not showing up anymore "[workspace 9 silent] ELECTRON_OZONE_PLATFORM_HINT=x11 1password" # fix for promts not showing up anymore
"[workspace 1 silent] zen-beta" "[workspace 1 silent] zen-beta"
@ -287,7 +250,8 @@ in
]; ];
}; };
bind = [ bind =
[
# compositor commands # compositor commands
"$mod SHIFT, R, exec, hyprctl reload" "$mod SHIFT, R, exec, hyprctl reload"
"$mod SHIFT, Q, killactive," "$mod SHIFT, Q, killactive,"

View file

@ -3,7 +3,6 @@
config, config,
lib, lib,
namespace, namespace,
pkgs,
... ...
}: }:
let let
@ -18,15 +17,7 @@ in
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.gnome.gnome-keyring.enable = true; services.gnome.gnome-keyring.enable = true;
security.pam.services.gdm.enableGnomeKeyring = true;
security.pam.services.sddm.enableGnomeKeyring = true; security.pam.services.sddm.enableGnomeKeyring = true;
security.pam.services.greetd.enableGnomeKeyring = true; security.pam.services.greetd.enableGnomeKeyring = true;
services.dbus.packages = [
pkgs.gnome-keyring
pkgs.gcr
];
environment.systemPackages = [ pkgs.seahorse ];
}; };
} }

View file

@ -17,7 +17,7 @@ in
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [ prismlauncher ]; # environment.systemPackages = with pkgs; [ prismlauncher ];
${namespace} = { ${namespace} = {
apps = { apps = {

View file

@ -1,35 +0,0 @@
{
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";
};
};
};
}

View file

@ -0,0 +1,97 @@
{
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";
}

View file

@ -0,0 +1,69 @@
# 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;
}

View file

@ -0,0 +1,48 @@
{
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)$"
];
};
}

View file

@ -38,7 +38,7 @@ in
AddressFamily inet AddressFamily inet
''; '';
home-manager = { home-manager = {
backupFileExtension = "bak"; backupFileExtension = ".bak";
}; };
nix = { nix = {
@ -86,7 +86,7 @@ in
system = { system = {
hardware = { hardware = {
bluetooth = enabled; bluetooth = enabled;
gpu.amd = enabled; gpu.nvidia = enabled;
}; };
}; };

View file

@ -4,9 +4,8 @@
{ {
config, config,
lib, lib,
inputs,
pkgs,
modulesPath, modulesPath,
inputs,
... ...
}: }:
let let
@ -16,6 +15,7 @@ in
imports = with nixos-hardware.nixosModules; [ imports = with nixos-hardware.nixosModules; [
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
common-cpu-amd common-cpu-amd
common-gpu-nvidia-nonprime
common-pc common-pc
common-pc-ssd common-pc-ssd
]; ];
@ -23,28 +23,29 @@ in
boot = { boot = {
initrd.availableKernelModules = [ initrd.availableKernelModules = [
"nvme" "nvme"
"ahci"
"xhci_pci" "xhci_pci"
"usbhid" "ahci"
"usb_storage" "usb_storage"
"usbhid"
"sd_mod" "sd_mod"
]; ];
kernelModules = [ "kvm-amd" ]; initrd.kernelModules = [ ];
kernelModules = [
"kvm-amd"
"btusb"
];
extraModulePackages = [ ];
}; };
fileSystems = { fileSystems = {
"/" = { "/" = {
device = "/dev/disk/by-uuid/b1a956f4-91d5-456e-a92b-be505bb719bd"; device = "/dev/disk/by-uuid/444a9216-59d1-46e0-9643-0b716a42ba0b";
fsType = "ext4"; fsType = "ext4";
}; };
"/boot" = { "/boot" = {
device = "/dev/disk/by-uuid/B4D4-8BA0"; device = "/dev/disk/by-uuid/8310-585A";
fsType = "vfat"; fsType = "vfat";
options = [
"fmask=0077"
"dmask=0077"
];
}; };
"/storage" = { "/storage" = {
@ -53,17 +54,15 @@ 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 # 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 # (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 # 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`. # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true; networking.useDHCP = lib.mkDefault true;
# networking.interfaces.enp14s0.useDHCP = lib.mkDefault true; # networking.interfaces.enp40s0.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp15s0.useDHCP = lib.mkDefault true; # networking.interfaces.enp42s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;

View file

@ -10,7 +10,7 @@ in
${namespace}.desktop.hyprland.settings = { ${namespace}.desktop.hyprland.settings = {
monitor = [ monitor = [
#Ultrawide #Ultrawide
"DP-1,3440x1440@144, 0x0, 1" "DP-2,3440x1440@144, 0x0, 1"
#Vertical #Vertical
"HDMI-A-1, 1920x1080@144, auto-right, 1, transform, 1" "HDMI-A-1, 1920x1080@144, auto-right, 1, transform, 1"
# nividia kernel issues # nividia kernel issues
@ -24,16 +24,16 @@ in
exec-once = [ exec-once = [
"[workspace 7 silent] obsidian" "[workspace 7 silent] obsidian"
"${lib.getExe pkgs.xorg.xrandr} --output DP-1 --primary" "${lib.getExe pkgs.xorg.xrandr} --output DP-2 --primary"
]; ];
workspace = [ workspace = [
"1, monitor:DP-1" "1, monitor:DP-2"
"2, monitor:DP-1" "2, monitor:DP-2"
"3, monitor:DP-1" "3, monitor:DP-2"
"4, monitor:DP-1" "4, monitor:DP-2"
"5, monitor:DP-1" "5, monitor:DP-2"
"6, monitor:DP-1" "6, monitor:DP-2"
"7, monitor:HDMI-A-1" "7, monitor:HDMI-A-1"
"8, monitor:HDMI-A-1" "8, monitor:HDMI-A-1"
"9, monitor:HDMI-A-1" "9, monitor:HDMI-A-1"