This commit is contained in:
Varris 2022-12-16 09:10:28 +01:00
parent a8a8efbfb0
commit b7274d4bbe
15 changed files with 306 additions and 150 deletions

View File

@ -1,5 +1,21 @@
{
"nodes": {
"base16-schemes": {
"flake": false,
"locked": {
"lastModified": 1665690101,
"narHash": "sha256-J2ZvNaVFkqaTXzYO5L+jyRORfIOavFPKvWItP6UTMKs=",
"owner": "tinted-theming",
"repo": "base16-schemes",
"rev": "a3dc916cf90471a422c0bfe1bb4b1bdd12185ced",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-schemes",
"type": "github"
}
},
"bobthefish": {
"flake": false,
"locked": {
@ -124,6 +140,25 @@
"type": "gitlab"
}
},
"nix-colors": {
"inputs": {
"base16-schemes": "base16-schemes",
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1670210028,
"narHash": "sha256-2VpxobYICB+l6n963nR37r0ongTtvHfHQvsPGgMWDmw=",
"owner": "Misterio77",
"repo": "nix-colors",
"rev": "fcd345bd1c9e7c203c3320ee6ca39814c97ac1fe",
"type": "github"
},
"original": {
"owner": "Misterio77",
"repo": "nix-colors",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1671131270,
@ -139,6 +174,21 @@
"type": "indirect"
}
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1655599917,
"narHash": "sha256-kjZbt5WdTrnjMxL79okg9TCoRUdADG50x/TWozbyTsE=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "5fb55578aa2f1a502d636a8ac71aece57cb730bb",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs.lib",
"type": "github"
}
},
"rofi-theme": {
"flake": false,
"locked": {
@ -164,6 +214,7 @@
"kakoune-smarttab": "kakoune-smarttab",
"kakoune-sort-selections": "kakoune-sort-selections",
"mesa-git": "mesa-git",
"nix-colors": "nix-colors",
"nixpkgs": "nixpkgs",
"rofi-theme": "rofi-theme",
"sway-git": "sway-git",

View File

@ -9,11 +9,16 @@
inputs.nixpkgs.follows = "nixpkgs";
};
nix-colors = {
url = "github:Misterio77/nix-colors";
};
# Fish Plugins
bobthefish = {
url = "github:oh-my-fish/theme-bobthefish";
flake = false;
};
# Fish Plugins End
# Kakoune Plugins
kakoune-smarttab = {
@ -25,7 +30,6 @@
url = "github:occivink/kakoune-sort-selections";
flake = false;
};
# Kakoune Plugins End
rofi-theme = {
@ -33,13 +37,18 @@
flake = false;
};
wayland-protcols-git = {
url = "gitlab:wayland/wayland-protocols?host=gitlab.freedesktop.org";
flake = false;
};
wlroots-git = {
url = "gitlab:wlroots/wlroots/1712a7d27444d62f8da8eeedf0840b386a810e96?host=gitlab.freedesktop.org";
url = "gitlab:wlroots/wlroots?host=gitlab.freedesktop.org";
flake = false;
};
sway-git = {
url = "github:swaywm/sway/5c239eaac59f327294aceac739c6fa035456ed14";
url = "github:swaywm/sway";
flake = false;
};
@ -54,7 +63,7 @@
};
mesa-git = {
url = "gitlab:mesa/mesa?host=gitlab.freedesktop.org";
url = "gitlab:mesa/mesa/mesa-22.3.0?host=gitlab.freedesktop.org";
flake = false;
};
@ -70,7 +79,7 @@
};
outputs = { self, nixpkgs, home-manager, ... }@inputs:
outputs = { self, nixpkgs, home-manager, nix-colors, ... }@inputs:
let
system = "x86_64-linux";
@ -86,10 +95,15 @@
{
overlays.default = final: prev: rec {
nerdfonts = prev.nerdfonts.override {
fonts = [ "JetBrainsMono" ];
fonts = [ "JetBrainsMono" "IBMPlexMono" ];
};
wlroots-git = prev.wlroots.overrideAttrs (old: {
wayland-protcols-git = prev.wayland-protocols.overrideAttrs (old: {
version = "git";
src = inputs.wayland-protcols-git;
});
wlroots-git = (prev.wlroots.overrideAttrs (old: {
version = "0.16.0";
src = inputs.wlroots-git;
nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.cmake pkgs.hwdata ];
@ -97,7 +111,9 @@
substituteInPlace backend/drm/meson.build \
--replace "/usr/share/hwdata/pnp.ids" "${pkgs.hwdata}/share/hwdata/pnp.ids"
'';
});
})).override {
wayland-protocols = wayland-protcols-git;
};
sway-unwrapped = (prev.sway-unwrapped.overrideAttrs (old: {
version = "git";
@ -105,6 +121,7 @@
nativeBuildInputs = old.nativeBuildInputs ++ [ prev.cmake ];
src = inputs.sway-git;
})).override {
wayland-protocols = wayland-protcols-git;
wlroots = wlroots-git;
};
@ -115,37 +132,39 @@
wlroots = wlroots-git;
};
#xwayland = prev.xwayland.overrideAttrs (old: {
# version = "git";
#
# src = inputs.xorg-git;
# buildInputs = old.buildInputs ++ [
# prev.udev
# prev.xorg.libpciaccess
# ];
# });
xwayland = prev.xwayland.overrideAttrs (old: {
version = "git";
src = inputs.xorg-git;
buildInputs = old.buildInputs ++ [
prev.udev
prev.xorg.libpciaccess
];
});
steam = prev.steam.override {
extraPkgs = pkgs: [
pkgs.gnome.zenity
pkgs.gamescope
pkgs.libkrb5
pkgs.gnome.zenity
pkgs.keyutils
pkgs.libkrb5
pkgs.mangohud
pkgs.mpg123
];
extraLibraries = pkgs: [
pkgs.mpg123
pkgs.zlib-ng
];
};
gamescope = prev.gamescope.overrideAttrs (old: {
version = "git";
src = inputs.gamescope-git;
});
# gamescope = prev.gamescope.overrideAttrs (old: {
# version = "git";
# src = inputs.gamescope-git;
# });
mesa-git = (prev.mesa.overrideAttrs (old: {
version = "git";
version = "22.3.0";
src = inputs.mesa-git;
buildInputs = old.buildInputs ++ [ pkgs.glslang pkgs.vulkan-loader ];
patches = [
@ -156,7 +175,7 @@
"-Dxvmc-libs-path=${placeholder "drivers"}/lib"
old.mesonFlags; # xvmc was removed upstream
})).override {
galliumDrivers = [ "radeonsi" "swrast" "zink" ];
galliumDrivers = [ "radeonsi" "swrast" ];
vulkanDrivers = [ "amd" ];
enableGalliumNine = false; # Replaced by DXVK
};
@ -168,7 +187,7 @@
specialArgs = { inherit inputs; };
modules = [
{
#needed to get tools working that expect a nixpkgs channel to exist
# needed to get tools working that expect a nixpkgs channel to exist
nix.nixPath = [ "nixpkgs=${nixpkgs}" ];
nix.registry = { nixpkgs.flake = nixpkgs; };
}
@ -178,7 +197,7 @@
home-manager = {
useUserPackages = true;
users.manuel = import ./user/home.nix;
extraSpecialArgs = { inherit inputs pkgs; };
extraSpecialArgs = { inherit inputs pkgs nix-colors; };
};
}
inputs.grub2-themes.nixosModule

View File

@ -10,10 +10,8 @@
nixpkgs.config.allowUnfree = true;
boot = {
consoleLogLevel = 3;
kernelParams =
[ "quiet" "udev.log_level=3" "amdgpu.ppfeaturemask=0xffffffff" ];
[ "amdgpu.ppfeaturemask=0xffffffff" ];
loader = {
efi = {
@ -40,12 +38,18 @@
kernelModules = [ "i2c-dev" "i2c-piix4" ];
};
powerManagement = { cpuFreqGovernor = "schedutil"; };
powerManagement.cpuFreqGovernor = "schedutil";
networking = {
hostName = "terra"; # Define your hostname.
networkmanager = { enable = true; };
firewall.checkReversePath = false;
firewall.enable = false;
extraHosts = ''
192.168.0.17 steam.deck
'';
};
# Set your time zone.
@ -86,6 +90,7 @@
sound.enable = true;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
@ -93,6 +98,10 @@
pulse.enable = true;
};
services.blueman.enable = true;
services.gvfs.enable = true;
services.flatpak.enable = true;
services.locate = {
@ -151,16 +160,17 @@
# List packages installed in system profile. To search, run:
# $ nix search wget
environment = {
systemPackages = with pkgs; [
git
links2
ripgrep
fd
htop
openrgb
unzip
unrar
p7zip
systemPackages = [
pkgs.git
pkgs.links2
pkgs.ripgrep
pkgs.file
pkgs.fd
pkgs.htop
pkgs.openrgb
pkgs.unzip
pkgs.unrar
pkgs.p7zip
];
pathsToLink = [ "/share/zsh" ];
binsh = "${pkgs.dash}/bin/dash";
@ -181,10 +191,11 @@
};
};
services.gnome.gnome-keyring.enable = false;
services.gnome.gnome-keyring.enable = true;
xdg.portal = {
enable = true;
xdgOpenUsePortal = true;
wlr.enable = true;
extraPortals = [
pkgs.xdg-desktop-portal-gtk
@ -209,17 +220,6 @@
nssmdns = true;
};
services.greetd = {
enable = false;
settings = {
default_session = {
vt = 1;
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --cmd sway";
};
user = "manuel";
};
};
services.transmission = {
enable = true;
user = "manuel";
@ -228,7 +228,13 @@
services.fwupd.enable = true;
services.getty.autologinUser = "manuel";
nix = {
extraOptions = ''
experimental-features = nix-command flakes
warn-dirty = false
'';
gc = {
persistent = true;
automatic = true;
@ -238,10 +244,5 @@
settings.auto-optimise-store = true;
};
nix.extraOptions = ''
experimental-features = nix-command flakes
warn-dirty = false
'';
system.stateVersion = "22.05"; # Did you read the comment?
}

View File

@ -26,7 +26,7 @@
fetchart = { "auto" = true; };
chroma = { auto = true; };
chroma = { "auto" = true; };
replaygain = {
"backend" = "gstreamer";

View File

@ -1,4 +1,5 @@
{ config, pkgs, ... }: {
{ config, pkgs, ... }:
{
programs.firefox = {
enable = true;
};

View File

@ -23,6 +23,13 @@
set -g theme_git_default_branches master main
'';
loginShellInit = ''
if test (tty) = "/dev/tty1"
${pkgs.sway}/bin/sway &> ~/.sway.log
end
'';
functions = {
#fish_prompt = ''
# set_color green

View File

@ -9,14 +9,15 @@ let
name = "sort-selections-kak";
src = inputs.kakoune-sort-selections;
};
in {
in
{
programs.kakoune = {
enable = true;
plugins = with pkgs.kakounePlugins; [
kak-lsp
kakboard
kakoune-extra-filetypes
powerline-kak
#powerline-kak
smarttab
sort-selections
];
@ -63,10 +64,10 @@ in {
map global user l %{: enter-user-mode lsp<ret>} -docstring "LSP mode"
require-module powerline
powerline-start
powerline-theme gruvbox
powerline-separator global half-step
# require-module powerline
# powerline-start
# powerline-theme gruvbox
# powerline-separator global half-step
'';
};

View File

@ -1,4 +1,4 @@
{ configs, pkgs, ... }: {
{ config, pkgs, ... }: {
programs.nnn = {
enable = true;
package = pkgs.nnn.override { withNerdIcons = true; };

44
user/configs/wayland/foot.nix Executable file
View File

@ -0,0 +1,44 @@
{ config, pkgs, inputs, ... }:
let
colors = config.colorScheme.colors;
in
{
programs.foot = {
enable = true;
settings = {
main = {
font = "JetBrainsMono Nerd Font:pixelsize=12";
box-drawings-uses-font-glyphs = "yes";
pad = "16x16 center";
};
colors = {
alpha = "0.95";
background = "${colors.base00}";
foreground = "${colors.base06}";
regular0 = "${colors.base01}";
regular1 = "${colors.base08}";
regular2 = "${colors.base0B}";
regular3 = "${colors.base0A}";
regular4 = "${colors.base0D}";
regular5 = "${colors.base0E}";
regular6 = "${colors.base0C}";
regular7 = "${colors.base05}";
bright0 = "${colors.base02}";
bright1 = "${colors.base07}";
bright2 = "${colors.base0B}";
bright3 = "${colors.base0A}";
bright4 = "${colors.base0C}";
bright5 = "${colors.base0E}";
bright6 = "${colors.base0F}";
bright7 = "${colors.base06}";
selection-foreground = "000000";
selection-background = "FFFACD";
urls = "0087BD";
};
};
};
}

35
user/configs/wayland/fuzzel.nix Executable file
View File

@ -0,0 +1,35 @@
{ config, pkgs, lib, ... }:
let
colors = config.colorScheme.colors;
in
{
xdg.configFile."fuzzel/fuzzel.ini".text = lib.generators.toINIWithGlobalSection { } {
globalSection = {
font = "JetBrainsMono Nerd Font:size=8";
layer = "overlay";
terminal = "${pkgs.foot}/bin/foot -e";
image-size-ratio = "0";
width = "80";
horizontal-pad = "20";
line-height = "12";
};
sections = {
border = {
width = 2;
radius = 0;
};
colors = {
background = "${colors.base00}F2";
text = "${colors.base06}FF";
selection-text = "${colors.base06}FF";
selection = "${colors.base01}FF";
border = "${colors.base0F}FF";
match = "${colors.base0F}FF";
selection-match = "${colors.base0F}FF";
};
};
};
}

19
user/configs/wayland/mako.nix Executable file
View File

@ -0,0 +1,19 @@
{ config, pkgs, ... }:
{
programs.mako = {
enable = true;
anchor = "top-right";
defaultTimeout = 5000;
width = 320;
height = 130;
backgroundColor = "#282828";
borderColor = "#3C3836";
borderRadius = 10;
borderSize = 2;
font = "JetBrainsMono Nerd Font Regular 9";
};
}

View File

@ -1,13 +1,11 @@
{ config, pkgs, lib, inputs, ... }:
let
wobsock = "/tmp/wob-swayvol.fifo";
wallpaper = "/mnt/hdd/Wallpapers/gruv-4.jpg";
wallpaper = "/mnt/hdd/Wallpapers/florest-stair2.jpg";
left_monitor = "HDMI-A-1";
right_monitor = "DP-1";
fuzzel_command = "${pkgs.fuzzel}/bin/fuzzel -T ${pkgs.foot}/bin/foot --layer=overlay -x 20 -w 80 -r 0 -B 2 --line-height=12 -f 'JetBrainsMono Nerd Font:size=8' -b '#282828f2' -t '#EBDBB2ff' -S '#EBDBB2ff' -C '#d65d0eff' -s '#3C3836ff' -m '#D65D0Eff' -M '#D65D0Eff' ";
wob-voldaemon = pkgs.writeShellScriptBin "wob-volumedaemon.sh" ''
if pgrep "wob"; then
killall wob &> /dev/null
@ -18,7 +16,7 @@ let
fi
mkfifo "${wobsock}"
tail -f "${wobsock}" | ${pkgs.wob}/bin/wob --border-color "#D65D0EFF" --background-color "#282828FF" --bar-color "#D65D0EFF" -b 2 -H 40 &
tail -f "${wobsock}" | ${pkgs.wob}/bin/wob &
echo "wob: started"
'';
@ -30,7 +28,7 @@ let
password_files=( "''${password_files[@]#"$prefix"/}" )
password_files=( "''${password_files[@]%.gpg}" )
password=$(printf '%s\n' "''${password_files[@]}" | ${fuzzel_command} -d -p "pass: " "$@")
password=$(printf '%s\n' "''${password_files[@]}" | ${pkgs.fuzzel}/bin/fuzzel -d -p "pass: " "$@")
[[ -n $password ]] || exit
@ -45,11 +43,12 @@ let
'';
killprocess = pkgs.writeShellScriptBin "killprocess.sh" ''
ps -x -o pid=,comm= | column -t -o " " | ${fuzzel_command} -d -p "kill process: " | awk '{print $1}' | uniq | xargs -r kill -9
ps -x -o pid=,comm= | column -t -o " " | ${pkgs.fuzzel}/bin/fuzzel -d -p "kill process: " | awk '{print $1}' | uniq | xargs -r kill -9
'';
in
{
imports = [ ./waybar.nix ];
imports = [ ./waybar.nix ./foot.nix ./wob.nix ./fuzzel.nix ./mako.nix ];
wayland.windowManager.sway = {
enable = true;
@ -78,12 +77,12 @@ in
"${modifier}+Print" =
"exec ${pkgs.sway-contrib.grimshot}/bin/grimshot -c --notify copy active";
"${modifier}+d" = "exec ${fuzzel_command}";
"${modifier}+d" = "exec ${pkgs.fuzzel}/bin/fuzzel";
"${modifier}+Shift+p" = "exec ${passmenu}/bin/passmenu.sh";
"${modifier}+Shift+o" = "exec ${killprocess}/bin/killprocess.sh";
"${modifier}+q" = "exec ${pkgs.firefox}/bin/firefox";
"${modifier}+r" = "exec ${pkgs.xfce.thunar}/bin/thunar";
"${modifier}+r" = "exec ${pkgs.gnome.nautilus}/bin/nautilus";
"Ctrl+Space" = "exec ${pkgs.mako}/bin/makoctl dismiss";
"Ctrl+grave" = "exec ${pkgs.mako}/bin/makoctl restore";
@ -92,8 +91,6 @@ in
"${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 = {
"type:keyboard" = {
@ -159,10 +156,18 @@ in
always = true;
}
{
command =
"${pkgs.openrgb}/bin/openrgb --server --profile autorun.orp";
command = "${pkgs.openrgb}/bin/openrgb --server --profile autorun.orp";
}
{
command = "${pkgs.networkmanagerapplet}/bin/nm-applet --indicator";
}
{
command = "${pkgs.blueman}/bin/blueman-applet";
}
{
command = "${pkgs.glib}/bin/gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'";
always = true;
}
{ command = "${pkgs.networkmanagerapplet}/bin/nm-applet --indicator"; }
];
bars = [{ command = "${pkgs.waybar}/bin/waybar"; }];
colors = {
@ -205,58 +210,6 @@ in
wrapperFeatures = { gtk = true; };
};
programs.mako = {
enable = true;
anchor = "top-right";
defaultTimeout = 5000;
width = 320;
height = 130;
backgroundColor = "#282828";
borderColor = "#3C3836";
borderRadius = 10;
borderSize = 2;
font = "JetBrainsMono Nerd Font Regular 9";
};
programs.foot = {
enable = true;
settings = {
main = {
font = "JetBrainsMono Nerd Font:pixelsize=12";
box-drawings-uses-font-glyphs = "yes";
pad = "16x16 center";
};
colors = {
alpha = "0.95";
background = "282828";
foreground = "ebdbb2";
regular0 = "282828";
regular1 = "cc241d";
regular2 = "98971a";
regular3 = "d79921";
regular4 = "458588";
regular5 = "b16286";
regular6 = "689d6a";
regular7 = "a89984";
bright0 = "928374";
bright1 = "fb4934";
bright2 = "b8bb26";
bright3 = "fabd2f";
bright4 = "83a598";
bright5 = "d3869b";
bright6 = "8ec07c";
bright7 = "ebdbb2";
selection-foreground = "000000";
selection-background = "FFFACD";
urls = "0087BD";
};
};
};
home.packages = [ pkgs.wl-clipboard ];
}

View File

@ -1,5 +1,7 @@
{ config, pkgs, ... }:
let
colors = config.colorScheme.colors;
ds-battery = pkgs.writeShellScriptBin "ds-battery.sh" ''
ds_capacity_file="/sys/class/power_supply/ps-controller-battery-4c:b9:9b:74:ae:31/capacity"
ds_status_file="/sys/class/power_supply/ps-controller-battery-4c:b9:9b:74:ae:31/status"
@ -77,9 +79,9 @@ in
"custom/blank" = { format = " "; };
}];
style = ''
@define-color foreground #EBDBB2;
@define-color background #282828;
@define-color box-bg #3C3836;
@define-color foreground #${colors.base06};
@define-color background #${colors.base00};
@define-color box-bg #${colors.base01};
label:disabled,
button:disabled {

17
user/configs/wayland/wob.nix Executable file
View File

@ -0,0 +1,17 @@
{ config, pkgs, lib, ... }:
{
xdg.configFile."wob/wob.ini".text = lib.generators.toINIWithGlobalSection { } {
globalSection = {
height = "40";
border_size = "2";
border_color = "D65D0EFF";
background_color = "282828FF";
bar_color = "D65D0EFF";
};
sections = { };
};
}

View File

@ -1,8 +1,9 @@
{ config, pkgs, inputs, ... }: {
{ config, pkgs, inputs, nix-colors, ... }: {
imports = [
nix-colors.homeManagerModule
./configs/beets/beets.nix
./configs/kakoune/kakoune.nix
./configs/sway/sway.nix
./configs/wayland/sway.nix
./configs/fish/fish.nix
./configs/mpd/mpd.nix
./configs/mpv/mpv.nix
@ -17,16 +18,22 @@
home.homeDirectory = "/home/manuel";
home.packages = [
pkgs.appimage-run
pkgs.blueman
pkgs.discord-canary
pkgs.gamescope
pkgs.gnome.file-roller
pkgs.gnome.gvfs
pkgs.gnome.nautilus
pkgs.lutris
pkgs.mesa-demos
pkgs.nerdfonts
pkgs.noto-fonts-cjk-sans
pkgs.noto-fonts-cjk-serif
pkgs.obs-studio
pkgs.pass
pkgs.pavucontrol
pkgs.protontricks
pkgs.signal-desktop
pkgs.sshfs
pkgs.steam
pkgs.steam-run
pkgs.sxiv
@ -34,20 +41,19 @@
pkgs.twemoji-color-font
pkgs.wineWowPackages.stagingFull
pkgs.xivlauncher
pkgs.xarchiver
pkgs.sshfs
pkgs.gnome.gvfs
pkgs.signal-desktop
pkgs.vulkan-validation-layers
];
home.sessionVariables = {
BROWSER = "librewolf";
BROWSER = "firefox";
EDITOR = "kak";
GTK_USE_PORTAL = "1";
#GTK_USE_PORTAL = "1";
WINEDLLOVERRIDES = "winemenubuilder.exe=d";
#WLR_RENDERER = "vulkan"; Causes hangs
WLR_RENDERER = "vulkan"; #Causes hangs
};
colorScheme = nix-colors.colorSchemes.gruvbox-dark-medium;
fonts.fontconfig.enable = true;
programs.keychain = {
@ -91,6 +97,7 @@
name = "capitaine-cursors-white";
size = 32;
};
};
programs.git = {
@ -111,8 +118,7 @@
enableFishIntegration = true;
};
services.gnome-keyring.enable = false; #Reenable when nixpkgs PR #201229 has been merged
services.gnome-keyring.enable = true;
services.easyeffects = {
enable = true;
preset = "custom";
@ -127,7 +133,6 @@
music = "/mnt/hdd/Music";
download = "/mnt/hdd/Downloads";
};
# This value determines the Home Manager release that your
# configuration is compatible with. This helps avoid breakage
# when a new Home Manager release introduces backwards
@ -138,3 +143,4 @@
# changes in each release.
home.stateVersion = "22.05";
}