update
This commit is contained in:
parent
d5158fca6d
commit
d8ac71d04a
|
@ -9,6 +9,11 @@
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
hyprland = {
|
||||||
|
url = "github:hyprwm/Hyprland";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
# Fish Plugins
|
# Fish Plugins
|
||||||
bobthefish = {
|
bobthefish = {
|
||||||
url = "github:oh-my-fish/theme-bobthefish";
|
url = "github:oh-my-fish/theme-bobthefish";
|
||||||
|
@ -62,13 +67,15 @@
|
||||||
url = "github:vinceliuice/grub2-themes";
|
url = "github:vinceliuice/grub2-themes";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
waybar = {
|
||||||
|
url = "github:alexays/waybar";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, home-manager, ... }@inputs:
|
outputs = { self, nixpkgs, home-manager, ... }@inputs:
|
||||||
let
|
let
|
||||||
username = "manuel";
|
|
||||||
hostname = "terra";
|
|
||||||
|
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
|
|
||||||
pkgs = import nixpkgs {
|
pkgs = import nixpkgs {
|
||||||
|
@ -87,6 +94,11 @@
|
||||||
wlroots-git = prev.wlroots.overrideAttrs (old: {
|
wlroots-git = prev.wlroots.overrideAttrs (old: {
|
||||||
version = "git";
|
version = "git";
|
||||||
src = inputs.wlroots-git;
|
src = inputs.wlroots-git;
|
||||||
|
nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.cmake pkgs.hwdata ];
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace backend/drm/meson.build \
|
||||||
|
--replace "/usr/share/hwdata/pnp.ids" "${pkgs.hwdata}/share/hwdata/pnp.ids"
|
||||||
|
'';
|
||||||
});
|
});
|
||||||
|
|
||||||
sway-unwrapped = (prev.sway-unwrapped.overrideAttrs (old: {
|
sway-unwrapped = (prev.sway-unwrapped.overrideAttrs (old: {
|
||||||
|
@ -94,13 +106,21 @@
|
||||||
buildInputs = old.buildInputs ++ [ prev.xorg.xcbutilwm prev.pcre2 ];
|
buildInputs = old.buildInputs ++ [ prev.xorg.xcbutilwm prev.pcre2 ];
|
||||||
nativeBuildInputs = old.nativeBuildInputs ++ [ prev.cmake ];
|
nativeBuildInputs = old.nativeBuildInputs ++ [ prev.cmake ];
|
||||||
src = inputs.sway-git;
|
src = inputs.sway-git;
|
||||||
})).override { wlroots = wlroots-git; };
|
})).override {
|
||||||
|
wlroots = wlroots-git;
|
||||||
|
};
|
||||||
|
|
||||||
waybar = prev.waybar.override { wlroots = wlroots-git; };
|
waybar = (prev.waybar.overrideAttrs (old: {
|
||||||
|
version = "git";
|
||||||
|
src = inputs.waybar;
|
||||||
|
})).override {
|
||||||
|
wlroots = wlroots-git;
|
||||||
|
};
|
||||||
|
|
||||||
# xwayland = prev.xwayland.overrideAttrs (old: {
|
#xwayland = prev.xwayland.overrideAttrs (old: {
|
||||||
# version = "22.2";
|
# version = "git";
|
||||||
# src = inputs.xorg-git;
|
#
|
||||||
|
# src = inputs.xorg-git;
|
||||||
# buildInputs = old.buildInputs ++ [
|
# buildInputs = old.buildInputs ++ [
|
||||||
# prev.udev
|
# prev.udev
|
||||||
# prev.xorg.libpciaccess
|
# prev.xorg.libpciaccess
|
||||||
|
@ -113,6 +133,11 @@
|
||||||
pkgs.gamescope
|
pkgs.gamescope
|
||||||
pkgs.libkrb5
|
pkgs.libkrb5
|
||||||
pkgs.keyutils
|
pkgs.keyutils
|
||||||
|
pkgs.mpg123
|
||||||
|
];
|
||||||
|
|
||||||
|
extraLibraries = pkgs: [
|
||||||
|
pkgs.mpg123
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -124,25 +149,22 @@
|
||||||
mesa-git = (prev.mesa.overrideAttrs (old: {
|
mesa-git = (prev.mesa.overrideAttrs (old: {
|
||||||
version = "git";
|
version = "git";
|
||||||
src = inputs.mesa-git;
|
src = inputs.mesa-git;
|
||||||
buildInputs = old.buildInputs ++ [ pkgs.glslang ];
|
buildInputs = old.buildInputs ++ [ pkgs.glslang pkgs.vulkan-loader ];
|
||||||
patches = [
|
patches = [
|
||||||
./pkgs/mesa-git/opencl.patch
|
./pkgs/patches/mesa-git/opencl.patch
|
||||||
./pkgs/mesa-git/disk_cache-include-dri-driver-path-in-cache-key.patch
|
./pkgs/patches/mesa-git/disk_cache-include-dri-driver-path-in-cache-key.patch
|
||||||
];
|
];
|
||||||
mesonFlags = pkgs.lib.lists.remove
|
mesonFlags = pkgs.lib.lists.remove
|
||||||
"-Dxvmc-libs-path=${placeholder "drivers"}/lib"
|
"-Dxvmc-libs-path=${placeholder "drivers"}/lib"
|
||||||
old.mesonFlags; # xvmc was removed upstream
|
old.mesonFlags; # xvmc was removed upstream
|
||||||
})).override {
|
})).override {
|
||||||
galliumDrivers = [ "radeonsi" "swrast" ];
|
galliumDrivers = [ "radeonsi" "swrast" "zink" ];
|
||||||
vulkanDrivers = [ "amd" ];
|
vulkanDrivers = [ "amd" ];
|
||||||
enableGalliumNine = false; # Replaced by DXVK
|
enableGalliumNine = false; # Replaced by DXVK
|
||||||
};
|
};
|
||||||
|
|
||||||
fzf = prev.fzf.overrideAttrs (old: { version = "0.33.0"; });
|
|
||||||
};
|
};
|
||||||
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt;
|
|
||||||
|
|
||||||
nixosConfigurations.${hostname} = nixpkgs.lib.nixosSystem {
|
nixosConfigurations.terra = nixpkgs.lib.nixosSystem {
|
||||||
inherit system;
|
inherit system;
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
specialArgs = { inherit inputs; };
|
specialArgs = { inherit inputs; };
|
||||||
|
@ -157,7 +179,7 @@
|
||||||
{
|
{
|
||||||
home-manager = {
|
home-manager = {
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
users.${username} = import ./user/home.nix;
|
users.manuel = import ./user/home.nix;
|
||||||
extraSpecialArgs = { inherit inputs pkgs; };
|
extraSpecialArgs = { inherit inputs pkgs; };
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -84,6 +84,8 @@
|
||||||
|
|
||||||
# Enable sound.
|
# Enable sound.
|
||||||
sound.enable = true;
|
sound.enable = true;
|
||||||
|
|
||||||
|
security.rtkit.enable = true;
|
||||||
services.pipewire = {
|
services.pipewire = {
|
||||||
enable = true;
|
enable = true;
|
||||||
alsa.enable = true;
|
alsa.enable = true;
|
||||||
|
@ -91,6 +93,8 @@
|
||||||
pulse.enable = true;
|
pulse.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.flatpak.enable = true;
|
||||||
|
|
||||||
services.locate = {
|
services.locate = {
|
||||||
enable = true;
|
enable = true;
|
||||||
locate = pkgs.plocate;
|
locate = pkgs.plocate;
|
||||||
|
@ -169,8 +173,10 @@
|
||||||
|
|
||||||
services.geoclue2 = {
|
services.geoclue2 = {
|
||||||
enable = true;
|
enable = true;
|
||||||
appConfig."gammastep".isAllowed = true;
|
appConfig."gammastep" = {
|
||||||
appConfig."gammastep".isSystem = false;
|
isAllowed = true;
|
||||||
|
isSystem = false;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services.gnome.gnome-keyring.enable = true;
|
services.gnome.gnome-keyring.enable = true;
|
||||||
|
@ -179,11 +185,17 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
wlr.enable = true;
|
wlr.enable = true;
|
||||||
extraPortals = [
|
extraPortals = [
|
||||||
#pkgs.xdg-desktop-portal-gtk
|
pkgs.xdg-desktop-portal-gtk
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
services.openssh = { enable = true; };
|
programs.ssh = {
|
||||||
|
startAgent = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.openssh = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
services.printing = {
|
services.printing = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -196,7 +208,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
services.greetd = {
|
services.greetd = {
|
||||||
enable = true;
|
enable = false;
|
||||||
settings = {
|
settings = {
|
||||||
default_session = {
|
default_session = {
|
||||||
vt = 1;
|
vt = 1;
|
||||||
|
@ -206,11 +218,22 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.transmission = {
|
||||||
|
enable = true;
|
||||||
|
user = "manuel";
|
||||||
|
openFirewall = true;
|
||||||
|
};
|
||||||
|
|
||||||
services.fwupd.enable = true;
|
services.fwupd.enable = true;
|
||||||
|
|
||||||
nix.gc = {
|
nix = {
|
||||||
persistent = true;
|
gc = {
|
||||||
automatic = true;
|
persistent = true;
|
||||||
|
automatic = true;
|
||||||
|
dates = "weekly";
|
||||||
|
options = "--delete-older-than 14d";
|
||||||
|
};
|
||||||
|
settings.auto-optimise-store = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
nix.extraOptions = ''
|
nix.extraOptions = ''
|
||||||
|
|
|
@ -1 +1,5 @@
|
||||||
{ config, pkgs, ... }: { programs.firefox = { enable = true; }; }
|
{ config, pkgs, ... }: {
|
||||||
|
programs.firefox = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -16,7 +16,12 @@
|
||||||
|
|
||||||
interactiveShellInit = ''
|
interactiveShellInit = ''
|
||||||
${pkgs.any-nix-shell}/bin/any-nix-shell fish --info-right | source
|
${pkgs.any-nix-shell}/bin/any-nix-shell fish --info-right | source
|
||||||
set theme_color_scheme gruvbox
|
|
||||||
|
set -g theme_color_scheme gruvbox
|
||||||
|
set -g theme_nerd_fonts yes
|
||||||
|
set -g theme_display_git_default_branch yes
|
||||||
|
set -g theme_git_default_branches master main
|
||||||
|
|
||||||
'';
|
'';
|
||||||
functions = {
|
functions = {
|
||||||
#fish_prompt = ''
|
#fish_prompt = ''
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
{ pkgs, lib, inputs, ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
inputs.hyprland.homeManagerModules.default
|
||||||
|
];
|
||||||
|
|
||||||
|
wayland.windowManager.hyprland.enable = true;
|
||||||
|
}
|
||||||
|
|
|
@ -45,10 +45,12 @@ let
|
||||||
rofi-theme = inputs.rofi-theme + "/gruvbox-dark.rasi";
|
rofi-theme = inputs.rofi-theme + "/gruvbox-dark.rasi";
|
||||||
|
|
||||||
killprocess = pkgs.writeShellScriptBin "killprocess.sh" ''
|
killprocess = pkgs.writeShellScriptBin "killprocess.sh" ''
|
||||||
ps -x -o pid=,comm= | column -t -o " " | rofi -dmenu -p "kill process" | awk '{print $1}' | uniq | xargs -r kill -9
|
ps -x -o pid=,comm= | column -t -o " " | ${pkgs.rofi-wayland}/bin/rofi -dmenu -p "kill process" | awk '{print $1}' | uniq | xargs -r kill -9
|
||||||
'';
|
'';
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
imports = [ ./waybar.nix ];
|
imports = [ ./waybar.nix ];
|
||||||
|
|
||||||
wayland.windowManager.sway = {
|
wayland.windowManager.sway = {
|
||||||
enable = true;
|
enable = true;
|
||||||
config = {
|
config = {
|
||||||
|
@ -57,7 +59,8 @@ in {
|
||||||
gaps = { inner = 20; };
|
gaps = { inner = 20; };
|
||||||
keybindings =
|
keybindings =
|
||||||
let modifier = config.wayland.windowManager.sway.config.modifier;
|
let modifier = config.wayland.windowManager.sway.config.modifier;
|
||||||
in lib.mkOptionDefault {
|
in
|
||||||
|
lib.mkOptionDefault {
|
||||||
"XF86AudioRaiseVolume" =
|
"XF86AudioRaiseVolume" =
|
||||||
"exec ${pkgs.pamixer}/bin/pamixer -i 10 --get-volume > ${wobsock}";
|
"exec ${pkgs.pamixer}/bin/pamixer -i 10 --get-volume > ${wobsock}";
|
||||||
"XF86AudioLowerVolume" =
|
"XF86AudioLowerVolume" =
|
||||||
|
@ -75,7 +78,7 @@ in {
|
||||||
"${modifier}+Print" =
|
"${modifier}+Print" =
|
||||||
"exec ${pkgs.sway-contrib.grimshot}/bin/grimshot -c --notify copy active";
|
"exec ${pkgs.sway-contrib.grimshot}/bin/grimshot -c --notify copy active";
|
||||||
|
|
||||||
"${modifier}+d" = "exec ${pkgs.rofi-wayland}/bin/rofi -show drun";
|
"${modifier}+d" = "exec ${pkgs.rofi-wayland}/bin/rofi -show drun -show-icons";
|
||||||
"${modifier}+Shift+p" = "exec ${passmenu}/bin/passmenu.sh";
|
"${modifier}+Shift+p" = "exec ${passmenu}/bin/passmenu.sh";
|
||||||
"${modifier}+Shift+o" = "exec ${killprocess}/bin/killprocess.sh";
|
"${modifier}+Shift+o" = "exec ${killprocess}/bin/killprocess.sh";
|
||||||
|
|
||||||
|
@ -84,13 +87,22 @@ in {
|
||||||
|
|
||||||
"Ctrl+Space" = "exec ${pkgs.mako}/bin/makoctl dismiss";
|
"Ctrl+Space" = "exec ${pkgs.mako}/bin/makoctl dismiss";
|
||||||
"Ctrl+grave" = "exec ${pkgs.mako}/bin/makoctl restore";
|
"Ctrl+grave" = "exec ${pkgs.mako}/bin/makoctl restore";
|
||||||
|
|
||||||
|
# resize gaps
|
||||||
|
"${modifier}+Shift+F10" = "exec swaymsg gaps inner all set 20";
|
||||||
|
"${modifier}+Shift+F11" = "exec swaymsg gaps inner all plus 20";
|
||||||
|
"${modifier}+Shift+F12" = "exec swaymsg gaps inner all minus 20";
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
input = {
|
input = {
|
||||||
"type:keyboard" = {
|
"type:keyboard" = {
|
||||||
xkb_layout = "us";
|
xkb_layout = "us";
|
||||||
xkb_variant = "altgr-intl";
|
xkb_variant = "altgr-intl";
|
||||||
};
|
};
|
||||||
|
|
||||||
"type:pointer" = { accel_profile = "flat"; };
|
"type:pointer" = { accel_profile = "flat"; };
|
||||||
|
|
||||||
"type:touchpad" = {
|
"type:touchpad" = {
|
||||||
events =
|
events =
|
||||||
"disabled"; # disable DualSense touchpad. Let Steam Input handle it
|
"disabled"; # disable DualSense touchpad. Let Steam Input handle it
|
||||||
|
|
|
@ -18,7 +18,8 @@ let
|
||||||
sleep 1
|
sleep 1
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
programs.waybar = {
|
programs.waybar = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = [{
|
settings = [{
|
||||||
|
@ -44,7 +45,9 @@ in {
|
||||||
icon-size = 16;
|
icon-size = 16;
|
||||||
};
|
};
|
||||||
|
|
||||||
"clock" = { format = "{:%a %d. %B %H:%M}"; };
|
"clock" = {
|
||||||
|
format = "{:%a %d. %B %H:%M}";
|
||||||
|
};
|
||||||
|
|
||||||
"pulseaudio" = {
|
"pulseaudio" = {
|
||||||
scroll-step = 5;
|
scroll-step = 5;
|
||||||
|
@ -78,6 +81,12 @@ in {
|
||||||
@define-color background #282828;
|
@define-color background #282828;
|
||||||
@define-color box-bg #3C3836;
|
@define-color box-bg #3C3836;
|
||||||
|
|
||||||
|
label:disabled,
|
||||||
|
button:disabled {
|
||||||
|
color: inherit;
|
||||||
|
background-image: none;
|
||||||
|
}
|
||||||
|
|
||||||
* {
|
* {
|
||||||
font-family: JetBrainsMono Nerd Font;
|
font-family: JetBrainsMono Nerd Font;
|
||||||
font-size: 9pt;
|
font-size: 9pt;
|
||||||
|
|
|
@ -17,8 +17,8 @@
|
||||||
home.homeDirectory = "/home/manuel";
|
home.homeDirectory = "/home/manuel";
|
||||||
home.packages = [
|
home.packages = [
|
||||||
pkgs.appimage-run
|
pkgs.appimage-run
|
||||||
pkgs.discord
|
pkgs.blueman
|
||||||
pkgs.firefox
|
pkgs.discord-canary
|
||||||
pkgs.gamescope
|
pkgs.gamescope
|
||||||
pkgs.lutris
|
pkgs.lutris
|
||||||
pkgs.nerdfonts
|
pkgs.nerdfonts
|
||||||
|
@ -26,7 +26,6 @@
|
||||||
pkgs.noto-fonts-cjk-serif
|
pkgs.noto-fonts-cjk-serif
|
||||||
pkgs.pass
|
pkgs.pass
|
||||||
pkgs.pavucontrol
|
pkgs.pavucontrol
|
||||||
pkgs.polymc
|
|
||||||
pkgs.protontricks
|
pkgs.protontricks
|
||||||
pkgs.steam
|
pkgs.steam
|
||||||
pkgs.steam-run
|
pkgs.steam-run
|
||||||
|
@ -34,26 +33,36 @@
|
||||||
pkgs.thunderbird
|
pkgs.thunderbird
|
||||||
pkgs.twemoji-color-font
|
pkgs.twemoji-color-font
|
||||||
pkgs.wineWowPackages.stagingFull
|
pkgs.wineWowPackages.stagingFull
|
||||||
#pkgs.xivlauncher
|
pkgs.xivlauncher
|
||||||
pkgs.xarchiver
|
pkgs.xarchiver
|
||||||
|
pkgs.sshfs
|
||||||
|
pkgs.gnome.gvfs
|
||||||
|
pkgs.signal-desktop
|
||||||
];
|
];
|
||||||
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
|
BROWSER = "librewolf";
|
||||||
EDITOR = "kak";
|
EDITOR = "kak";
|
||||||
GTK_USE_PORTAL = "1";
|
GTK_USE_PORTAL = "1";
|
||||||
WINEDLLOVERRIDES = "winemenubuilder.exe=d";
|
WINEDLLOVERRIDES = "winemenubuilder.exe=d";
|
||||||
|
#WLR_RENDERER = "vulkan"; Causes hangs
|
||||||
};
|
};
|
||||||
|
|
||||||
fonts.fontconfig.enable = true;
|
fonts.fontconfig.enable = true;
|
||||||
|
|
||||||
|
programs.keychain = {
|
||||||
|
enable = true;
|
||||||
|
enableFishIntegration = true;
|
||||||
|
};
|
||||||
|
|
||||||
services.gpg-agent = { enable = true; };
|
services.gpg-agent = { enable = true; };
|
||||||
|
|
||||||
services.udiskie.enable = true;
|
services.udiskie.enable = true;
|
||||||
|
|
||||||
# services.kdeconnect = {
|
services.kdeconnect = {
|
||||||
# enable = true;
|
enable = true;
|
||||||
# indicator = true;
|
indicator = true;
|
||||||
# };
|
};
|
||||||
|
|
||||||
services.gammastep = {
|
services.gammastep = {
|
||||||
enable = false;
|
enable = false;
|
||||||
|
@ -104,6 +113,11 @@
|
||||||
|
|
||||||
services.gnome-keyring.enable = true;
|
services.gnome-keyring.enable = true;
|
||||||
|
|
||||||
|
services.easyeffects = {
|
||||||
|
enable = true;
|
||||||
|
preset = "custom";
|
||||||
|
};
|
||||||
|
|
||||||
programs.aria2.enable = true;
|
programs.aria2.enable = true;
|
||||||
|
|
||||||
xdg.userDirs = {
|
xdg.userDirs = {
|
||||||
|
|
Reference in New Issue