Nix #3

Merged
DashieTM merged 10 commits from nix into main 2024-05-12 23:29:50 +02:00
23 changed files with 484 additions and 373 deletions
Showing only changes of commit 4d957a817a - Show all commits

View file

@ -1,5 +1,4 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
openssl openssl

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { pkgs, config, ... }:
{ {
# Bootloader. # Bootloader.
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
@ -55,7 +55,6 @@
packages = with pkgs; [ packages = with pkgs; [
home-manager home-manager
xdg-desktop-portal-gtk xdg-desktop-portal-gtk
xdg-desktop-portal-hyprland
]; ];
# this password will only last for the first login # this password will only last for the first login
# e.g. login, then change to whatever else, this also ensures no public hash is available # e.g. login, then change to whatever else, this also ensures no public hash is available
@ -63,4 +62,41 @@
}; };
system.stateVersion = "unstable"; system.stateVersion = "unstable";
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
fileSystems."/" =
{
device = "/dev/disk/by-label/ROOT";
fsType = "btrfs";
options = [
"noatime"
"nodiratime"
"discard"
];
};
fileSystems."/boot" =
{
device = "/dev/disk/by-label/BOOT";
fsType = "vfat";
options = [ "rw" "fmask=0022" "dmask=0022" "noatime" ];
};
fileSystems."/home" =
{
device = "/dev/disk/by-label/HOME";
fsType = "btrfs";
options = [
"noatime"
"nodiratime"
"discard"
];
};
swapDevices =
[{ device = "/dev/disk/by-label/SWAP"; }];
boot.kernelParams = [
"resume=\"PARTLABEL=SWAP\""
] ++ config.programs.boot.boot_params;
} }

View file

@ -1,53 +1,65 @@
{ pkgs { inputs
, lib
, config
, pkgs
, ... , ...
}: { }:
# greetd display manager
services.greetd =
let let
regreet_override = pkgs.greetd.regreet.overrideAttrs (final: prev: {
SESSION_DIRS = "${config.services.xserver.displayManager.sessionData.desktops}/share";
});
session = { session = {
command = "${pkgs.hyprland}/bin/Hyprland --config /home/dashie/.config/hypr/hyprgreet.conf"; command = "${lib.getExe pkgs.hyprland} --config /etc/greetd/hyprgreet.conf";
user = "dashie"; user = "dashie";
}; };
in in
{ {
imports = [
inputs.hyprland.nixosModules.default
];
services.xserver.displayManager.session = [
{
manage = "desktop";
name = "Hyprland";
start = ''
${lib.getExe pkgs.hyprland} & waitPID=$!
'';
}
];
# greetd display manager
programs.hyprland.enable = true;
services.greetd = {
enable = true; enable = true;
settings = { settings = {
terminal.vt = 1; terminal.vt = 1;
default_session = session; default_session = session;
initial_session = session;
}; };
}; };
programs.regreet = {
enable = true;
settings = {
background = {
fit = "Contain";
};
env = {
QT_QPA_PLATFORMTHEME = "qt5ct";
PATH = "/home/dashie/.cargo/bin:PATH";
};
GTK = {
application_prefer_dark_theme = true;
cursor_theme_name = "Adwaita";
icon_theme_name = "Adwaita";
theme_name = "adw-gtk3";
command = {
reboot = [ "systemctl" "reboot" ];
poweroff = [ "systemctl" "poweroff" ];
};
};
};
};
environment.etc."greetd/environments".text = '' environment.etc."greetd/environments".text = ''
Hyprland Hyprland
''; '';
environment.etc."greetd/hyprgreet.conf".text = ''
exec-once=gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
monitor=${config.programs.ironbar.monitor},3440x1440@180,0x0,1
monitor=_,disable
input {
force_no_accel = true
}
misc {
disable_splash_rendering = true
disable_hyprland_logo = true
}
exec-once=regreet --style /home/dashie/.config/gtk-3.0/gtk.css; hyprctl dispatch exit
'';
# unlock GPG keyring on login # unlock GPG keyring on login
security.pam.services.greetd.enableGnomeKeyring = true; security.pam.services.greetd.enableGnomeKeyring = true;
} }

169
nix/flake.lock generated
View file

@ -7,11 +7,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1714860465, "lastModified": 1715376791,
"narHash": "sha256-yFR9gBqvuvN5eYjeV3/luZcWGQL/bDU04XWgW+H8RY4=", "narHash": "sha256-QKecFhWAB7sagSE+FXztINDqYqLro2nYp94f+ZtE/f4=",
"owner": "KZDKM", "owner": "KZDKM",
"repo": "Hyprspace", "repo": "Hyprspace",
"rev": "1b3e07c7ac9ecb4e3486467a2bfb3267ee5043a2", "rev": "8049b2794ca19d49320093426677d8c2911e7327",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -83,7 +83,7 @@
}, },
"flake-utils": { "flake-utils": {
"inputs": { "inputs": {
"systems": "systems_2" "systems": "systems_4"
}, },
"locked": { "locked": {
"lastModified": 1705309234, "lastModified": 1705309234,
@ -101,7 +101,7 @@
}, },
"flake-utils_2": { "flake-utils_2": {
"inputs": { "inputs": {
"systems": "systems_3" "systems": "systems_5"
}, },
"locked": { "locked": {
"lastModified": 1705309234, "lastModified": 1705309234,
@ -124,11 +124,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1715077503, "lastModified": 1715380449,
"narHash": "sha256-AfHQshzLQfUqk/efMtdebHaQHqVntCMjhymQzVFLes0=", "narHash": "sha256-716+f9Rj3wjSyD1xitCv2FcYbgPz1WIVDj+ZBclH99Y=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "6e277d9566de9976f47228dd8c580b97488734d4", "rev": "d7682620185f213df384c363288093b486b2883f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -176,11 +176,11 @@
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1715171420, "lastModified": 1715448710,
"narHash": "sha256-eMkwxLtoVHrIAJlb+xjA0jlFGqEweKwpzqY5uGhc2xA=", "narHash": "sha256-ntVaQOHnfejEiqHUY07kWrytdXVlXtg1RLv65T9w2/c=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "36d32973ddc1bd1d4096ec36f3b8cb507009eba4", "rev": "494b9415a1157279a1e1782ba635fc2ef6a18155",
"revCount": 4635, "revCount": 4668,
"submodules": true, "submodules": true,
"type": "git", "type": "git",
"url": "https://github.com/hyprwm/Hyprland" "url": "https://github.com/hyprwm/Hyprland"
@ -205,11 +205,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1714869498, "lastModified": 1691753796,
"narHash": "sha256-vbLVOWvQqo4n1yvkg/Q70VTlPbMmTiCQfNTgcWDCfJM=", "narHash": "sha256-zOEwiWoXk3j3+EoF3ySUJmberFewWlagvewDRuWYAso=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprland-protocols", "repo": "hyprland-protocols",
"rev": "e06482e0e611130cd1929f75e8c1cf679e57d161", "rev": "0c2ce70625cb30aef199cb388f99e19a61a6ce03",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -243,6 +243,48 @@
"type": "github" "type": "github"
} }
}, },
"hyprlang_2": {
"inputs": {
"nixpkgs": [
"hyprlock",
"nixpkgs"
],
"systems": "systems_2"
},
"locked": {
"lastModified": 1713121246,
"narHash": "sha256-502X0Q0fhN6tJK7iEUA8CghONKSatW/Mqj4Wappd++0=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "78fcaa27ae9e1d782faa3ff06c8ea55ddce63706",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprlang",
"type": "github"
}
},
"hyprlock": {
"inputs": {
"hyprlang": "hyprlang_2",
"nixpkgs": "nixpkgs_3",
"systems": "systems_3"
},
"locked": {
"lastModified": 1714843107,
"narHash": "sha256-89WxndRGO3CGuWE5XCaHKnsV3IKBRdOWqScp6o8enT4=",
"owner": "hyprwm",
"repo": "hyprlock",
"rev": "c87af3aa1f6e6bd06cffaabcc400bd45e26d565a",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprlock",
"type": "github"
}
},
"hyprwayland-scanner": { "hyprwayland-scanner": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -255,11 +297,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1715090986, "lastModified": 1715287423,
"narHash": "sha256-FXpQvmS9R7alwZ47XK5UIcAbC9YKSxc0+GOVYqwa0jM=", "narHash": "sha256-B7AJIjOyWgVMKhu7DlOnWa0VprdhywUVHuB/j+EwSxM=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprwayland-scanner", "repo": "hyprwayland-scanner",
"rev": "94e32ec37e7215b16d5c1b41b1773ff6742e704b", "rev": "e2fc1c0eb8b392110588f478cce644348ead7271",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -272,15 +314,15 @@
"inputs": { "inputs": {
"crane": "crane", "crane": "crane",
"naersk": "naersk", "naersk": "naersk",
"nixpkgs": "nixpkgs_4", "nixpkgs": "nixpkgs_5",
"rust-overlay": "rust-overlay" "rust-overlay": "rust-overlay"
}, },
"locked": { "locked": {
"lastModified": 1715072077, "lastModified": 1715272723,
"narHash": "sha256-5QA9qCtxW6uikNI1+qaWALaf6gRhkHCCoVLthJMviIY=", "narHash": "sha256-/pHq16sUYKOpwtSDDlnQ3M3lBy9abQq39UNSzadFd8w=",
"owner": "JakeStanger", "owner": "JakeStanger",
"repo": "ironbar", "repo": "ironbar",
"rev": "4695279d6927d05b6d3ed5a930e53f04d797c379", "rev": "386955c1ea07869277b646c203f7b976d83db427",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -291,7 +333,7 @@
}, },
"naersk": { "naersk": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_3" "nixpkgs": "nixpkgs_4"
}, },
"locked": { "locked": {
"lastModified": 1713520724, "lastModified": 1713520724,
@ -340,11 +382,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1714253743, "lastModified": 1715087517,
"narHash": "sha256-mdTQw2XlariysyScCv2tTE45QSU9v/ezLcHJ22f0Nxc=", "narHash": "sha256-CLU5Tsg24Ke4+7sH8azHWXKd0CFd4mhLWfhYgUiDBpQ=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "58a1abdbae3217ca6b702f03d3b35125d88a2994", "rev": "b211b392b8486ee79df6cdfb1157ad2133427a29",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -355,6 +397,22 @@
} }
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": {
"lastModified": 1715266358,
"narHash": "sha256-doPgfj+7FFe9rfzWo1siAV2mVCasW+Bh8I1cToAXEE4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "f1010e0469db743d14519a1efd37e23f8513d714",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1714314149, "lastModified": 1714314149,
"narHash": "sha256-yNAevSKF4krRWacmLUsLK7D7PlfuY3zF0lYnGYNi9vQ=", "narHash": "sha256-yNAevSKF4krRWacmLUsLK7D7PlfuY3zF0lYnGYNi9vQ=",
@ -368,7 +426,7 @@
"type": "indirect" "type": "indirect"
} }
}, },
"nixpkgs_4": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1714253743, "lastModified": 1714253743,
"narHash": "sha256-mdTQw2XlariysyScCv2tTE45QSU9v/ezLcHJ22f0Nxc=", "narHash": "sha256-mdTQw2XlariysyScCv2tTE45QSU9v/ezLcHJ22f0Nxc=",
@ -384,13 +442,13 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_5": { "nixpkgs_6": {
"locked": { "locked": {
"lastModified": 1714906307, "lastModified": 1715266358,
"narHash": "sha256-UlRZtrCnhPFSJlDQE7M0eyhgvuuHBTe1eJ9N9AQlJQ0=", "narHash": "sha256-doPgfj+7FFe9rfzWo1siAV2mVCasW+Bh8I1cToAXEE4=",
"owner": "NixOs", "owner": "NixOs",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "25865a40d14b3f9cf19f19b924e2ab4069b09588", "rev": "f1010e0469db743d14519a1efd37e23f8513d714",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -400,7 +458,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_6": { "nixpkgs_7": {
"locked": { "locked": {
"lastModified": 1706487304, "lastModified": 1706487304,
"narHash": "sha256-LE8lVX28MV2jWJsidW13D2qrHU/RUUONendL2Q/WlJg=", "narHash": "sha256-LE8lVX28MV2jWJsidW13D2qrHU/RUUONendL2Q/WlJg=",
@ -422,9 +480,10 @@
"anyrun": "anyrun", "anyrun": "anyrun",
"home-manager": "home-manager", "home-manager": "home-manager",
"hyprland": "hyprland", "hyprland": "hyprland",
"hyprlock": "hyprlock",
"ironbar": "ironbar", "ironbar": "ironbar",
"nix-flatpak": "nix-flatpak", "nix-flatpak": "nix-flatpak",
"nixpkgs": "nixpkgs_5", "nixpkgs": "nixpkgs_6",
"rust-overlay": "rust-overlay_2" "rust-overlay": "rust-overlay_2"
} }
}, },
@ -453,11 +512,11 @@
"rust-overlay_2": { "rust-overlay_2": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_2", "flake-utils": "flake-utils_2",
"nixpkgs": "nixpkgs_6" "nixpkgs": "nixpkgs_7"
}, },
"locked": { "locked": {
"lastModified": 1715134005, "lastModified": 1715393623,
"narHash": "sha256-oujsCgNiQnZoQntNkkNkA7BhCmUvf9FLWj+2oGT2Jvc=", "narHash": "sha256-nSUFcUqyTQQ/aYFIB05mpCzytcKvfKMy3ZQAe0fP26A=",
"type": "tarball", "type": "tarball",
"url": "https://github.com/oxalica/rust-overlay/archive/master.tar.gz" "url": "https://github.com/oxalica/rust-overlay/archive/master.tar.gz"
}, },
@ -482,6 +541,36 @@
} }
}, },
"systems_2": { "systems_2": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
}
},
"systems_3": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
}
},
"systems_4": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@ -496,7 +585,7 @@
"type": "github" "type": "github"
} }
}, },
"systems_3": { "systems_5": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@ -528,11 +617,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1714060055, "lastModified": 1714662532,
"narHash": "sha256-j43TS9wv9luaAlpxcxw0sjxkbcc2mGANVR2RYgo3RCw=", "narHash": "sha256-Pj2xGSYhapYbXL7sk7TTlOtCZcTfPQoL3fPbZeg7L4Y=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland", "repo": "xdg-desktop-portal-hyprland",
"rev": "0fe840441e43da12cd7865ed9aa8cdc35a8da85a", "rev": "1f228ba2f1f254195c0b571302b37482861abee3",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -16,6 +16,8 @@
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
hyprlock.url = "github:hyprwm/hyprlock";
Hyprspace = { Hyprspace = {
url = "github:KZDKM/Hyprspace"; url = "github:KZDKM/Hyprspace";
inputs.hyprland.follows = "hyprland"; inputs.hyprland.follows = "hyprland";

View file

@ -2,9 +2,10 @@
{ {
imports = [ imports = [
../../modules/gamemode.nix ../../modules/gamemode.nix
../../modules/boot_params.nix
]; ];
boot.kernelPackages = pkgs.linuxPackages_zen; boot.kernelPackages = pkgs.linuxPackages_zen;
boot.kernelParams = [ programs.boot.boot_params = [
"amdgpu.ppfeaturemask=0xffffffff" "amdgpu.ppfeaturemask=0xffffffff"
]; ];
networking.hostName = "marmo"; networking.hostName = "marmo";

View file

@ -5,42 +5,9 @@
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
]; ];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
fileSystems."/" =
{
device = "/dev/disk/by-label/ROOT";
fsType = "btrfs";
options = [
"noatime"
"nodiratime"
"discard"
];
};
fileSystems."/boot" =
{
device = "/dev/disk/by-label/BOOT";
fsType = "vfat";
options = [ "rw" "fmask=0022" "dmask=0022" "noatime" ];
};
fileSystems."/home" =
{
device = "/dev/disk/by-label/HOME";
fsType = "btrfs";
options = [
"noatime"
"nodiratime"
"discard"
];
};
swapDevices =
[{ device = "/dev/disk/by-label/SWAP"; }];
# 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

View file

@ -5,43 +5,10 @@
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
]; ];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ]; boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
fileSystems."/" =
{
device = "/dev/disk/by-label/ROOT";
fsType = "btrfs";
options = [
"noatime"
"nodiratime"
"discard"
];
};
fileSystems."/boot" =
{
device = "/dev/disk/by-label/BOOT";
fsType = "vfat";
options = [ "rw" "fmask=0022" "dmask=0022" "noatime" ];
};
fileSystems."/home" =
{
device = "/dev/disk/by-label/HOME";
fsType = "btrfs";
options = [
"noatime"
"nodiratime"
"discard"
];
};
swapDevices =
[{ device = "/dev/disk/by-label/SWAP"; }];
# 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

View file

@ -1,7 +1,12 @@
{ pkgs, ... }: { pkgs, lib, ... }:
{ {
boot.kernelPackages = pkgs.linuxPackages_zen; imports = [
boot.kernelParams = [ ../../modules/gamemode.nix
../../modules/boot_params.nix
../../modules/ironbar_config.nix
];
boot.kernelPackages = pkgs.linuxPackages_xanmod_latest;
programs.boot.boot_params = [
"amdgpu.ppfeaturemask=0xffffffff" "amdgpu.ppfeaturemask=0xffffffff"
]; ];
networking.hostName = "spaceship"; networking.hostName = "spaceship";
@ -9,11 +14,22 @@
programs.gamemode = { programs.gamemode = {
device = 0; device = 0;
}; };
environment.systemPackages = with pkgs; [
linuxKernel.packages.linux_zen.virtualbox
];
virtualisation.virtualbox.host.enable = true;
users.extraGroups.vboxusers.members = [ "dashie" ]; users.extraGroups.vboxusers.members = [ "dashie" ];
virtualisation.virtualbox.guest.enable = true; virtualisation.virtualbox.host.enable = true;
# enable hardware acceleration and rocm
hardware.xone.enable = true;
hardware.opengl.extraPackages = with pkgs; [
libvdpau-va-gl
vaapiVdpau
rocmPackages.clr.icd
rocm-opencl-runtime
];
hardware.opengl = {
enable = true;
driSupport = lib.mkDefault true;
driSupport32Bit = lib.mkDefault true;
};
boot.initrd.kernelModules = [ "amdgpu" ];
programs.ironbar.monitor = "DP-1";
} }

View file

@ -5,40 +5,10 @@
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
]; ];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ]; boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
fileSystems."/" =
{
device = "/dev/disk/by-label/ROOT";
fsType = "btrfs";
options = [
"noatime"
"nodiratime"
"discard"
];
};
fileSystems."/boot" =
{
device = "/dev/disk/by-label/BOOT";
fsType = "vfat";
options = [ "rw" "fmask=0022" "dmask=0022" "noatime" ];
};
fileSystems."/home" =
{
device = "/dev/disk/by-label/HOME";
fsType = "btrfs";
options = [
"noatime"
"nodiratime"
"discard"
];
};
fileSystems."/drive2" = fileSystems."/drive2" =
{ {
device = "/dev/disk/by-label/DRIVE2"; device = "/dev/disk/by-label/DRIVE2";
@ -50,10 +20,6 @@
]; ];
}; };
swapDevices =
[{ device = "/dev/disk/by-label/SWAP"; }];
# 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

View file

@ -0,0 +1,11 @@
{ lib, ... }: {
options.programs.boot = {
boot_params = lib.mkOption {
default = [ ];
example = [ "resume=something" ];
description = ''
Boot params
'';
};
};
}

View file

@ -7,33 +7,62 @@
]; ];
home.packages = with pkgs; [ home.packages = with pkgs; [
#basics
git git
gcc gcc
meson meson
ninja ninja
rustup
go
nodejs_20
deno
python3
typst
typst-lsp
typstfmt
neovide
tree-sitter tree-sitter
dotnet-sdk
unzip unzip
pkg-config pkg-config
sqlite sqlite
plantuml plantuml
d-spy
#editors
neovide
##fallback
vscodium vscodium
#rust
rustup
#python
python3
python312Packages.python-lsp-server
python312Packages.python-lsp-ruff
python312Packages.python-lsp-black
#ts/js
nodejs_20
deno
typescript
nodePackages.typescript-language-server
nodePackages.prettier
#go
go
gopls
#typst
typst
typst-lsp
typstfmt
ltex-ls
#java
gradle gradle
maven maven
jdt-language-server jdt-language-server
adoptopenjdk-jre-bin adoptopenjdk-jre-bin
#.!
dotnet-sdk_8
omnisharp-roslyn omnisharp-roslyn
csharpier csharpier
#vscode-extensions.vscjava.vscode-java-test
#vscode-extensions.vscjava.vscode-java-debug #zig
zig
zls
]; ];
} }

View file

@ -26,8 +26,6 @@ in
flatpak flatpak
networkmanager networkmanager
zoxide zoxide
pkgs.greetd.greetd
pkgs.greetd.regreet
fastfetch fastfetch
pkgs.gnome.gnome-keyring pkgs.gnome.gnome-keyring
dbus dbus
@ -42,12 +40,13 @@ in
zenith zenith
nh nh
amberol amberol
satty
pulseaudio pulseaudio
playerctl playerctl
ncspot ncspot
poppler_utils poppler_utils
neofetch neofetch
brave
greetd.regreet
(callPackage (callPackage
../override/oxinoti.nix ../override/oxinoti.nix
{ }) { })

View file

@ -2,9 +2,30 @@
let let
base_imports = [ base_imports = [
inputs.hyprland.homeManagerModules.default inputs.hyprland.homeManagerModules.default
inputs.hyprlock.homeManagerModules.default
inputs.anyrun.homeManagerModules.default inputs.anyrun.homeManagerModules.default
inputs.ironbar.homeManagerModules.default inputs.ironbar.homeManagerModules.default
inputs.nix-flatpak.homeManagerModules.nix-flatpak inputs.nix-flatpak.homeManagerModules.nix-flatpak
];
in
{
xdg.portal.config.common.default = "*";
xdg.portal = {
enable = true;
extraPortals = [
pkgs.xdg-desktop-portal-gtk
];
};
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.dashie = {
#home-manager overlap -> use flake instead
disabledModules = [ "programs/hyprlock.nix" ];
imports = [
{
_module = { args = { inherit inputs; }; };
}
./hyprland/default.nix ./hyprland/default.nix
./flatpak.nix ./flatpak.nix
./common.nix ./common.nix
@ -15,23 +36,7 @@ let
./oxi/default.nix ./oxi/default.nix
./themes/default.nix ./themes/default.nix
./individual_configs/default.nix ./individual_configs/default.nix
];
in
{
xdg.portal.config.common.default = "*";
xdg.portal = {
enable = true;
extraPortals = [
pkgs.xdg-desktop-portal-hyprland
pkgs.xdg-desktop-portal-gtk
];
};
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.dashie.imports = [
{
_module = { args = { inherit inputs; }; };
}
mod mod
] ++ base_imports; ] ++ base_imports;
};
} }

View file

@ -6,13 +6,9 @@
}]; }];
services.flatpak.uninstallUnmanaged = true; services.flatpak.uninstallUnmanaged = true;
services.flatpak.packages = [ services.flatpak.packages = [
# fallback if necessary, but generally avoided as nix is superior :)
"com.github.tchx84.Flatseal" "com.github.tchx84.Flatseal"
"io.github.Foldex.AdwSteamGtk" "io.github.Foldex.AdwSteamGtk"
"org.gnome.dspy"
"org.onlyoffice.desktopeditors"
"org.gtk.Gtk3theme.adw-gtk3"
"com.brave.Browser"
"com.rustdesk.RustDesk"
]; ];
} }

View file

@ -12,9 +12,9 @@
steam steam
lutris lutris
wine wine
adwsteamgtk
]; ];
hardware.xone.enable = true;
programs.steam.enable = true; programs.steam.enable = true;
programs.gamemode.enable = true; programs.gamemode.enable = true;
programs.gamemode = { programs.gamemode = {

View file

@ -30,7 +30,7 @@
"$mod SUPER,G,exec,oxicalc" "$mod SUPER,G,exec,oxicalc"
"$mod SUPER,D,exec,oxishut" "$mod SUPER,D,exec,oxishut"
"$mod SUPER,A,exec,oxipaste" "$mod SUPER,A,exec,oxipaste"
"$mod SUPERSHIFT,L,exec, playerctl -a pause & swaylock -c 000000 & systemctl suspend" "$mod SUPERSHIFT,L,exec, playerctl -a pause & hyprlock & systemctl hibernate"
# media keys # media keys
",XF86AudioMute,exec, $HOME/.config/scripts/audio_control.sh mute" ",XF86AudioMute,exec, $HOME/.config/scripts/audio_control.sh mute"
@ -166,9 +166,12 @@
disable_splash_rendering = true; disable_splash_rendering = true;
disable_hyprland_logo = true; disable_hyprland_logo = true;
swallow_regex = "^(.*)(kitty)(.*)$"; swallow_regex = "^(.*)(kitty)(.*)$";
initial_workspace_tracking = 1;
};
cursor = {
# conversion seems to be borked right now, i want a smooth bibata :( # conversion seems to be borked right now, i want a smooth bibata :(
enable_hyprcursor = false; enable_hyprcursor = false;
initial_workspace_tracking = 1;
}; };
gestures = { gestures = {
@ -186,7 +189,7 @@
"XCURSOR_THEME,Bibata-Modern-Classic" "XCURSOR_THEME,Bibata-Modern-Classic"
"XCURSOR_SIZE,24" "XCURSOR_SIZE,24"
"QT_QPA_PLATFORM,wayland" "QT_QPA_PLATFORM,wayland"
"QT_QPA_PLATFORMTHEME = \"qt5ct\"" "QT_QPA_PLATFORMTHEME,qt5ct"
"QT_WAYLAND_FORCE_DPI,96" "QT_WAYLAND_FORCE_DPI,96"
"QT_AUTO_SCREEN_SCALE_FACTOR,0" "QT_AUTO_SCREEN_SCALE_FACTOR,0"
"QT_WAYLAND_DISABLE_WINDOWDECORATION,1" "QT_WAYLAND_DISABLE_WINDOWDECORATION,1"

View file

@ -1,4 +1,5 @@
{ pkgs { inputs
, pkgs
, ... , ...
}: { }: {
imports = [ imports = [
@ -6,22 +7,20 @@
./config.nix ./config.nix
./ironbar.nix ./ironbar.nix
./hyprpaper.nix ./hyprpaper.nix
./hyprgreet.nix ./hyprlock.nix
]; ];
home.packages = with pkgs; [ home.packages = with pkgs; [
xorg.xprop xorg.xprop
grim grim
slurp slurp
swappy satty
xdg-desktop-portal-gtk xdg-desktop-portal-gtk
xdg-desktop-portal-hyprland # xdg-desktop-portal-hyprland
hyprpaper
copyq copyq
gnome.nautilus gnome.nautilus
gnome.sushi gnome.sushi
wl-clipboard wl-clipboard
kooha
hyprcursor hyprcursor
hyprpaper hyprpaper
hyprpicker hyprpicker

View file

@ -1,23 +0,0 @@
{
xdg.configFile."hypr/hyprgreet.conf" = {
text =
''
exec-once=gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
monitor=DP-1,3440x1440@180,0x0,1
monitor=DP-2,disable
monitor=HDMI-A-1,disable
input {
force_no_accel = true
}
misc {
disable_splash_rendering = true
disable_hyprland_logo = true
}
exec-once=regreet --style /home/dashie/.config/gtk-3.0/gtk.css; hyprctl dispatch exit
'';
};
}

View file

@ -0,0 +1,37 @@
{ pkgs
, inputs
, config
, ...
}:
{
programs.hyprlock.enable = true;
programs.hyprlock = {
backgrounds = [
{
monitor = "";
path = "";
color = "rgba(26, 27, 38, 1.0)";
}
];
input-fields = [
{
monitor = "${config.programs.ironbar.monitor}";
placeholder_text = "password or something";
}
];
labels = [
{
monitor = "";
text = "$TIME";
font_size = 50;
valign = "center";
halign = "center";
}
];
};
}

View file

@ -14,6 +14,7 @@
zathura zathura
evince evince
libreoffice-fresh libreoffice-fresh
onlyoffice-bin
pdftk pdftk
# spotify # spotify
#ncspot #ncspot
@ -23,7 +24,9 @@
inkscape inkscape
gimp gimp
krita krita
# recording ];
obs-studio programs.obs-studio.enable = true;
programs.obs-studio.plugins = with pkgs; [
obs-studio-plugins.obs-vaapi
]; ];
} }

View file

@ -1,109 +1,109 @@
{ {
# TODO: reenable this again # TODO: reenable this again
# right now its broken because flatpak... # right now its broken because flatpak...
# xdg.configFile."gtk-4.0/gtk.css" = { xdg.configFile."gtk-4.0/gtk.css" = {
# text = text =
# '' ''
# /* /*
# Generated with Gradience Generated with Gradience
#
# Issues caused by theming should be reported to Gradience repository, and not to upstream Issues caused by theming should be reported to Gradience repository, and not to upstream
#
# https://github.com/GradienceTeam/Gradience https://github.com/GradienceTeam/Gradience
# */ */
#
# @define-color accent_color #a9b1d6; @define-color accent_color #a9b1d6;
# @define-color accent_bg_color #a9b1d6; @define-color accent_bg_color #a9b1d6;
# @define-color accent_fg_color rgba(0, 0, 0, 0.87); @define-color accent_fg_color rgba(0, 0, 0, 0.87);
# @define-color destructive_color #F28B82; @define-color destructive_color #F28B82;
# @define-color destructive_bg_color #F28B82; @define-color destructive_bg_color #F28B82;
# @define-color destructive_fg_color rgba(0, 0, 0, 0.87); @define-color destructive_fg_color rgba(0, 0, 0, 0.87);
# @define-color success_color #81C995; @define-color success_color #81C995;
# @define-color success_bg_color #81C995; @define-color success_bg_color #81C995;
# @define-color success_fg_color rgba(0, 0, 0, 0.87); @define-color success_fg_color rgba(0, 0, 0, 0.87);
# @define-color warning_color #FDD633; @define-color warning_color #FDD633;
# @define-color warning_bg_color #FDD633; @define-color warning_bg_color #FDD633;
# @define-color warning_fg_color rgba(0, 0, 0, 0.87); @define-color warning_fg_color rgba(0, 0, 0, 0.87);
# @define-color error_color #F28B82; @define-color error_color #F28B82;
# @define-color error_bg_color #F28B82; @define-color error_bg_color #F28B82;
# @define-color error_fg_color rgba(0, 0, 0, 0.87); @define-color error_fg_color rgba(0, 0, 0, 0.87);
# @define-color window_bg_color #1a1b26; @define-color window_bg_color #1a1b26;
# @define-color window_fg_color #c0caf5; @define-color window_fg_color #c0caf5;
# @define-color view_bg_color #1a1b26; @define-color view_bg_color #1a1b26;
# @define-color view_fg_color #c0caf5; @define-color view_fg_color #c0caf5;
# @define-color headerbar_bg_color #1a1b26; @define-color headerbar_bg_color #1a1b26;
# @define-color headerbar_fg_color #c0caf5; @define-color headerbar_fg_color #c0caf5;
# @define-color headerbar_border_color rgba(192, 202, 245, 0.12); @define-color headerbar_border_color rgba(192, 202, 245, 0.12);
# @define-color headerbar_backdrop_color @window_bg_color; @define-color headerbar_backdrop_color @window_bg_color;
# @define-color headerbar_shade_color rgba(0, 0, 0, 0.36); @define-color headerbar_shade_color rgba(0, 0, 0, 0.36);
# @define-color card_bg_color #1a1b26; @define-color card_bg_color #1a1b26;
# @define-color card_fg_color #c0caf5; @define-color card_fg_color #c0caf5;
# @define-color card_shade_color rgba(0, 0, 0, 0.36); @define-color card_shade_color rgba(0, 0, 0, 0.36);
# @define-color dialog_bg_color #1a1b26; @define-color dialog_bg_color #1a1b26;
# @define-color dialog_fg_color #c0caf5; @define-color dialog_fg_color #c0caf5;
# @define-color popover_bg_color #1a1b26; @define-color popover_bg_color #1a1b26;
# @define-color popover_fg_color #c0caf5; @define-color popover_fg_color #c0caf5;
# @define-color shade_color rgba(0, 0, 0, 0.36); @define-color shade_color rgba(0, 0, 0, 0.36);
# @define-color scrollbar_outline_color rgba(0, 0, 0, 0.5); @define-color scrollbar_outline_color rgba(0, 0, 0, 0.5);
# @define-color sidebar_bg_color #1a1b26; @define-color sidebar_bg_color #1a1b26;
# @define-color sidebar_fg_color #c0caf5; @define-color sidebar_fg_color #c0caf5;
# @define-color secondary_sidebar_bg_color #1a1b26; @define-color secondary_sidebar_bg_color #1a1b26;
# @define-color secondary_sidebar_fg_color #c0caf5; @define-color secondary_sidebar_fg_color #c0caf5;
# @define-color sidebar_shade_color rgba(0, 0, 0, 0.36); @define-color sidebar_shade_color rgba(0, 0, 0, 0.36);
# @define-color secondary_sidebar_shade_color rgba(0, 0, 0, 0.36); @define-color secondary_sidebar_shade_color rgba(0, 0, 0, 0.36);
# @define-color thumbnail_bg_color #1a1b26; @define-color thumbnail_bg_color #1a1b26;
# @define-color thumbnail_fg_color #c0caf5; @define-color thumbnail_fg_color #c0caf5;
# @define-color sidebar_backdrop_color @sidebar_bg_color; @define-color sidebar_backdrop_color @sidebar_bg_color;
# @define-color secondary_sidebar_backdrop_color @sidebar_bg_color; @define-color secondary_sidebar_backdrop_color @sidebar_bg_color;
# @define-color blue_1 #99c1f1; @define-color blue_1 #99c1f1;
# @define-color blue_2 #62a0ea; @define-color blue_2 #62a0ea;
# @define-color blue_3 #3584e4; @define-color blue_3 #3584e4;
# @define-color blue_4 #1c71d8; @define-color blue_4 #1c71d8;
# @define-color blue_5 #1a5fb4; @define-color blue_5 #1a5fb4;
# @define-color green_1 #8ff0a4; @define-color green_1 #8ff0a4;
# @define-color green_2 #57e389; @define-color green_2 #57e389;
# @define-color green_3 #33d17a; @define-color green_3 #33d17a;
# @define-color green_4 #2ec27e; @define-color green_4 #2ec27e;
# @define-color green_5 #26a269; @define-color green_5 #26a269;
# @define-color yellow_1 #f9f06b; @define-color yellow_1 #f9f06b;
# @define-color yellow_2 #f8e45c; @define-color yellow_2 #f8e45c;
# @define-color yellow_3 #f6d32d; @define-color yellow_3 #f6d32d;
# @define-color yellow_4 #f5c211; @define-color yellow_4 #f5c211;
# @define-color yellow_5 #e5a50a; @define-color yellow_5 #e5a50a;
# @define-color orange_1 #ffbe6f; @define-color orange_1 #ffbe6f;
# @define-color orange_2 #ffa348; @define-color orange_2 #ffa348;
# @define-color orange_3 #ff7800; @define-color orange_3 #ff7800;
# @define-color orange_4 #e66100; @define-color orange_4 #e66100;
# @define-color orange_5 #c64600; @define-color orange_5 #c64600;
# @define-color red_1 #f66151; @define-color red_1 #f66151;
# @define-color red_2 #ed333b; @define-color red_2 #ed333b;
# @define-color red_3 #e01b24; @define-color red_3 #e01b24;
# @define-color red_4 #c01c28; @define-color red_4 #c01c28;
# @define-color red_5 #a51d2d; @define-color red_5 #a51d2d;
# @define-color purple_1 #dc8add; @define-color purple_1 #dc8add;
# @define-color purple_2 #c061cb; @define-color purple_2 #c061cb;
# @define-color purple_3 #9141ac; @define-color purple_3 #9141ac;
# @define-color purple_4 #813d9c; @define-color purple_4 #813d9c;
# @define-color purple_5 #613583; @define-color purple_5 #613583;
# @define-color brown_1 #cdab8f; @define-color brown_1 #cdab8f;
# @define-color brown_2 #b5835a; @define-color brown_2 #b5835a;
# @define-color brown_3 #986a44; @define-color brown_3 #986a44;
# @define-color brown_4 #865e3c; @define-color brown_4 #865e3c;
# @define-color brown_5 #63452c; @define-color brown_5 #63452c;
# @define-color light_1 #ffffff; @define-color light_1 #ffffff;
# @define-color light_2 #f6f5f4; @define-color light_2 #f6f5f4;
# @define-color light_3 #deddda; @define-color light_3 #deddda;
# @define-color light_4 #c0bfbc; @define-color light_4 #c0bfbc;
# @define-color light_5 #9a9996; @define-color light_5 #9a9996;
# @define-color dark_1 #77767b; @define-color dark_1 #77767b;
# @define-color dark_2 #5e5c64; @define-color dark_2 #5e5c64;
# @define-color dark_3 #3d3846; @define-color dark_3 #3d3846;
# @define-color dark_4 #241f31; @define-color dark_4 #241f31;
# @define-color dark_5 #000000; @define-color dark_5 #000000;
#
# .navigation-sidebar { .navigation-sidebar {
# background-color: #1a1b26; background-color: #1a1b26;
# } }
# ''; '';
# }; };
} }

View file

@ -24,9 +24,6 @@ in
xdg.configFile."qt5ct/qss/tab.qss" = { xdg.configFile."qt5ct/qss/tab.qss" = {
text = "${qss}"; text = "${qss}";
}; };
xdg.configFile."qt6ct/qss/tab.qss" = {
text = "${qss}";
};
xdg.configFile."qt5ct/qt5ct.conf" = { xdg.configFile."qt5ct/qt5ct.conf" = {
text = text =
'' ''