halfway between the gutter and the stars

This commit is contained in:
atagen 2023-03-18 00:24:09 +11:00
parent aeaf4697f7
commit 765e7a891e
7 changed files with 195 additions and 49 deletions

View file

@ -1,13 +1,17 @@
{ config, pkgs, ... }:
# let
# lemurs = callPackage ./system/syspkgs/lemurs.nix {};
# ly = callPackage ./system/syspkgs/ly.nix {};
# in
{
imports = [
# where are we ?
#./wollomi.nix
./adrift.nix
# ./quiver.nix
# ./adrift.nix
./quiver.nix
# home manager should exist for users
<home-manager/nixos>
@ -29,15 +33,15 @@
keep-derivations = true
'';
# environment.sessionVariables = rec {
# WLR_NO_HARDWARE_CURSORS = "1";
# GBM_BACKEND = "nvidia-drm";
# NVD_BACKEND = "direct";
# __GLX_VENDOR_LIBRARY_NAME = "nvidia";
# LIBVA_DRIVER_NAME = "nvidia";
# __GL_GSYNC_ALLOWED = "1";
# __GL_VRR_ALLOWED = "1";
# };
environment.sessionVariables = rec {
WLR_NO_HARDWARE_CURSORS = "1";
GBM_BACKEND = "nvidia-drm";
NVD_BACKEND = "direct";
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
LIBVA_DRIVER_NAME = "nvidia";
__GL_GSYNC_ALLOWED = "1";
__GL_VRR_ALLOWED = "1";
};
environment.pathsToLink = [ "/share/zsh" ];
boot.loader.systemd-boot.enable = true;
@ -67,28 +71,44 @@
hardware.opengl.driSupport32Bit = true;
#input stuff
services.xserver.enable = false;
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.lightdm.enable = false; # gets installed by default..
services.xserver.displayManager.sddm = {
# 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.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 -r -g \"what's good\" --time --sessions ${config.services.xserver.displayManager.sessionData.desktops}/share/wayland-sessions";
# export SESSION_DIRS=${config.services.xserver.displayManager.sessionData.desktops}/share/wayland-sessions;
# command = "${pkgs.greetd.regreet}/bin/regreet -l off";
user = "greeter";
};
};
};
security.polkit.enable = true;
services.xserver.desktopManager.plasma5.runUsingSystemd = true;
programs.dconf.enable = true;
@ -141,6 +161,9 @@
nix-index
comma
river
# hackneyed
];
@ -155,9 +178,9 @@
privateKey = "WD0CNYazB8D19SJvwz/TdPqoWgWCGfTwA7mim16q7UM=";
peers = [
{
publicKey = "kOpdNLq/ePrlc2wXGinRvbQWRhy755cZ4G4S7xwsKiw=";
publicKey = "QhE7I5TnUuc3gLqSeF9KhOr0oew5v03bpj0EHrEOR2M=";
allowedIPs = [ "0.0.0.0/0" ];
endpoint = "43.245.162.234:51820";
endpoint = "89.44.10.66:51820";
persistentKeepalive = 25;
}
];

View file

@ -1,6 +1,12 @@
{ config, lib, pkgs, modulesPath, ... }:
{
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 {
nixpkgs.overlays = [
(self: super: {
@ -9,12 +15,16 @@
})
];
nix.settings = {
substituters = [ "https://hyprland.cachix.org" ];
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
};
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
[ hyprland.nixosModules.default ];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbcore" "sd_mod" ];
boot.initrd.kernelModules = [ "nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" "i2c-dev" ];
boot.extraModulePackages = [ ];
boot.kernelParams = [ "nvidia_drm.modeset=1" "mitigations=off" "acpi_enforce_resources=lax" "preempt=full" ];
@ -30,6 +40,14 @@
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
virtualisation = {
podman = {
enable = true;
dockerCompat = true;
defaultNetwork.settings.dns_enabled = true;
};
};
services.minidlna = {
enable = true;
settings = {
@ -39,6 +57,13 @@
};
};
programs.hyprland = {
enable = true;
xwayland = {
enable = true;
};
nvidiaPatches = true;
};
services.xserver.videoDrivers = [ "nvidia" ];
hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.beta;
hardware.nvidia.modesetting.enable = true;

26
system/syspkgs/lemurs.nix Executable file
View file

@ -0,0 +1,26 @@
{ lib, fetchFromGitHub, rustPlatform, linux-pam, pkg-config }:
rustPlatform.buildRustPackage rec {
pname = "lemurs";
version = "0.3.1";
src = fetchFromGitHub {
owner = "coastalwhite";
repo = pname;
rev = "60fda2a";
sha256 = "sha256-mQXavJULD5iyOnzj72xTV0EQ1HQvj25SHsbDgfRg4lQ=";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ linux-pam ];
cargoSha256 = "sha256-OCaIeQB8reK0089vbC+4IvQt5pKdZ2SCyyGuQEYWzjo=";
meta = with lib; {
description = "A customizable TUI display/login manager written in Rust";
homepage = "https://git.atagen.co/coastalwhite/lemurs";
license = licenses.mit;
maintainers = [ ];
};
}

41
system/syspkgs/ly.nix Normal file
View file

@ -0,0 +1,41 @@
{ stdenv, lib, fetchFromGitHub, linux-pam, libxcb, git }:
stdenv.mkDerivation rec {
pname = "ly";
version = "0.5.0+";
src = fetchFromGitHub {
owner = "fairyglade";
repo = pname;
rev = "c64f806a68af225cc95623971b5e464abb55b879";
sha256 = "sha256-orCqjKlK6U1q7NDoMwxZZE44cyG8yuxdCCk1cQAalP0=";
fetchSubmodules = true;
};
nativeBuildInputs = [ git ];
buildInputs = [ linux-pam libxcb ];
makeFlags = [ "FLAGS=-Wno-error=unused-result" ];
preBuildPhase = ''
mkdir -p ./data
export DESTDIR="$PWD"
export DATADIR="$PWD/data"
'';
buildPhase = ''
make -j16
'';
installPhase = ''
mkdir -p $out/bin
cp bin/ly $out/bin
mkdir -p $out/etc/ly
cp -R ./data/* $out/etc/ly
'';
meta = with lib; {
description = "TUI display manager";
license = licenses.wtfpl;
homepage = "https://github.com/fairyglade/ly";
maintainers = [ ];
};
}