hyprland era

This commit is contained in:
atagen 2023-01-22 19:02:56 +11:00
parent ec067ee460
commit 535d41cb1d
9 changed files with 275 additions and 98 deletions

View file

@ -1,6 +1,11 @@
{ config, pkgs, ... }:
let
flake-compat = builtins.fetchTarball "https://github.com/edolstra/flake-compat/archive/master.tar.gz";
hyprland = (import flake-compat {
src = builtins.fetchTarball "https://github.com/hyprwm/Hyprland/archive/master.tar.gz";
}).defaultNix;
in
{
@ -17,6 +22,8 @@
# declarative cachix
(import (builtins.fetchTarball "https://github.com/jonascarpay/declarative-cachix/archive/master.tar.gz"))
hyprland.nixosModules.default
];
cachix = [
@ -29,9 +36,13 @@
keep-derivations = true
'';
environment.sessionVariables = rec {
WLR_NO_HARDWARE_CURSORS = "1";
};
environment.pathsToLink = [ "/share/zsh" ];
boot.loader.systemd-boot.enable = true;
boot.loader.systemd-boot.configurationLimit = 2;
boot.loader.systemd-boot.configurationLimit = 5;
boot.loader.systemd-boot.consoleMode = "max";
boot.loader.timeout = 3;
@ -58,33 +69,45 @@
hardware.opengl.driSupport32Bit = true;
#input stuff
# services.xserver.xkbOptions = {
# "eurosign:e";
# "caps:escape" # map caps to escape.
# };
services.xserver.xkbOptions = "caps:escape";
services.xserver.enable = true;
services.xserver.layout = "us";
services.xserver.libinput.enable = true;
# kde time
services.xserver.desktopManager.plasma5.enable = true;
services.xserver.displayManager.sddm = {
services.xserver.displayManager.lightdm.enable = false;
services.xserver.displayManager.sddm.enable = false;
services.xserver.displayManager.gdm.enable = false;
# services.xserver.displayManager.sddm = {
# enable = true;
# theme = "${(pkgs.fetchFromGitHub {
# owner = "EricKotato";
# repo = "sddm-slice";
# rev = "763b8f4e01c00c1f8590fc7a103e14f6e8449443";
# sha256 = "sha256-UW53ZdKb3RSrrcZ9GxZsJyjzS/uKR8lkaLLyi+2o27U=";
# })}";
# autoNumlock = true;
# settings = {
# General = {
# InputMethod = "";
# };
# };
# };
# services.xserver.desktopManager.plasma5.runUsingSystemd = true;
services.greetd = {
enable = true;
theme = "${(pkgs.fetchFromGitHub {
owner = "EricKotato";
repo = "sddm-slice";
rev = "763b8f4e01c00c1f8590fc7a103e14f6e8449443";
sha256 = "sha256-UW53ZdKb3RSrrcZ9GxZsJyjzS/uKR8lkaLLyi+2o27U=";
})}";
autoNumlock = true;
settings = {
General = {
InputMethod = "";
default_session = {
# command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd 'dbus-run-session startplasma-wayland'";
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd Hyprland";
user = "greeter";
};
};
};
services.xserver.desktopManager.plasma5.runUsingSystemd = true;
programs.dconf.enable = true;
xdg.autostart.enable = true;
services.resolved = {
enable = true;
fallbackDns = [ "103.1.206.179" "168.138.8.38" "168.138.12.137" ];
@ -103,14 +126,18 @@
};
# gtk compatibility
qt5.enable = true;
qt5.platformTheme = "kde";
#qt5.style = "gtk2";
qt.enable = true;
qt.platformTheme = "kde";
programs.zsh.enable = true;
users.defaultUserShell = pkgs.zsh;
services.tailscale.enable = true;
programs.hyprland = {
enable = true;
package = hyprland.packages.${pkgs.system}.default;
nvidiaPatches = true;
};
environment.systemPackages = with pkgs; [

View file

@ -1,11 +1,15 @@
{ config, lib, pkgs, modulesPath, ... }:
# let
# unstable-small = import <nixos-unstable-small> { config = { allowUnfree = true; }; };
# in
{
nixpkgs.overlays = [
(self: super: {
system76-scheduler = pkgs.callPackage ./syspkgs/system76-scheduler.nix {};
kwin-system76-scheduler-integration = pkgs.libsForQt5.callPackage ./syspkgs/kwin-system76-scheduler-integration.nix {};
# systemd = unstable-small.systemd;
})
];
@ -85,10 +89,30 @@
};
hardware.ckb-next.enable = true;
xdg.portal = {
enable = true;
gtkUsePortal = true;
wlr = {
enable = true;
settings = {
screencast = {
output_name = "DP-1";
max_fps = 60;
chooser_type = "simple";
chooser_amd = "${pkgs.slurp}/bin/slurp -f %o -or";
};
};
};
extraPortals = with pkgs; [
xdg-desktop-portal-wlr
xdg-desktop-portal-kde
xdg-desktop-portal-gtk
];
};
environment.systemPackages = with pkgs;
[
xdg-desktop-portal-kde
ckb-next
openrgb
wl-clipboard
@ -105,17 +129,12 @@
};
fileSystems."/" =
{ device = "/dev/disk/by-uuid/06f59431-d939-4b48-9d91-e23606dd3ce0";
{ device = "/dev/disk/by-uuid/d227445f-6120-4768-8e1b-011f097505c1";
fsType = "ext4";
};
fileSystems."/home" =
{ device = "/dev/disk/by-uuid/f063e0c7-8590-4ed4-860c-5ae0c9b66898";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/5008-1946";
{ device = "/dev/disk/by-uuid/6B75-AF9F";
fsType = "vfat";
};
@ -125,11 +144,11 @@
options = [ "rw" "uid=1001" "gid=100" ];
};
swapDevices = [ {
device = "/home/swapfile";
size = 4096;
}
];
# swapDevices = [ {
# device = "/dev/disk/by-uuid/7fde28ec-80f9-4228-8597-c3a57bfbf619";
# size = 4096;
# }
# ];
networking.firewall = {
allowedUDPPorts = [ 1900 ];

0
system/syspkgs/headscale-ui.nix Normal file → Executable file
View file

0
system/syspkgs/kwin-system76-scheduler-integration.nix Normal file → Executable file
View file

0
system/syspkgs/system76-scheduler.nix Normal file → Executable file
View file