Merge remote-tracking branch 'origin/nix' into nix-colors

This commit is contained in:
dakedres 2024-01-29 20:22:15 -07:00
commit 8bef0233ba
36 changed files with 598 additions and 510 deletions

12
common/default.nix Normal file
View File

@ -0,0 +1,12 @@
{ config, lib, helpers, ... }:
{
options.custom = {
modules = lib.mkOption {
type = lib.types.listOf lib.types.path;
default = [];
};
};
imports = (helpers.getModules "/default.nix" config.custom.modules);
}

25
common/helpers.nix Normal file
View File

@ -0,0 +1,25 @@
{ lib, ... }: {
getModules = (filename: modules:
(builtins.filter
(path: builtins.pathExists path)
# (builtins.map
# (dirname: ./. + ("/" + dirname) + filename)
# (lib.attrsets.filterAttrs
# (entry: entry == "directory")
# (builtins.readDir ../modules)
# )
# )
(builtins.map
(path: path + filename)
modules
)
)
);
filterModules = (modules:
(builtins.filter
(path: builtins.pathExists path)
modules
)
);
}

70
common/home.nix Normal file
View File

@ -0,0 +1,70 @@
{ pkgs, config, lib, helpers, ... }:
{
options.custom = {
username = lib.mkOption {
type = lib.types.str;
default = "dakedres";
};
nonFreePackages = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [];
};
wallpaper = lib.mkOption {
type = lib.types.path;
};
colors =
let
colorOption = lib.mkOption {
type = lib.types.str;
default = "#000000";
};
in
{
base00 = colorOption;
base01 = colorOption;
base02 = colorOption;
base03 = colorOption;
base04 = colorOption;
base05 = colorOption;
base06 = colorOption;
base07 = colorOption;
base08 = colorOption;
base09 = colorOption;
base0A = colorOption;
base0B = colorOption;
base0C = colorOption;
base0D = colorOption;
base0E = colorOption;
base0F = colorOption;
};
};
config =
let
username = config.custom.username;
nonFreePackages = config.custom.nonFreePackages;
in
{
home = {
username = username;
homeDirectory = "/home/${username}";
};
# Unfree packages
nixpkgs.config.allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) nonFreePackages;
home.packages =
map (name: pkgs.${name}) nonFreePackages;
# Take over my xsession
xsession.enable = true;
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
};
}

3
common/homeOptions.nix Normal file
View File

@ -0,0 +1,3 @@
{ lib, ... }: {
}

View File

@ -19,15 +19,29 @@
let
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
specialArgs = {
inherit system;
helpers = import ./common/helpers.nix {
inherit inputs;
lib = nixpkgs.lib;
};
};
in
{
nixosConfigurations.default = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit inputs;
};
{
nixpkgs.hostPlatform = "x86_64-linux";
nixosConfigurations.vulpes = nixpkgs.lib.nixosSystem {
inherit specialArgs;
modules = [
./host/configuration.nix
./hosts/vulpes/configuration.nix
inputs.home-manager.nixosModules.default
];
};
nixosConfigurations.vinegar = nixpkgs.lib.nixosSystem {
inherit specialArgs;
modules = [
./hosts/vinegar/configuration.nix
inputs.home-manager.nixosModules.default
];
};

View File

@ -1,103 +0,0 @@
{ config, pkgs, inputs, ... }:
{
# Home Manager needs a bit of information about you and the paths it should
# manage.
home.username = "dakedres";
home.homeDirectory = "/home/dakedres";
# 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 incompatible changes.
#
# You should not change this value, even if you update Home Manager. If you do
# want to update the value, then make sure to first check the Home Manager
# release notes.
home.stateVersion = "23.11"; # Please read the comment before changing.
nixpkgs.config.allowUnfree = true;
# The home.packages option allows you to install Nix packages into your
# environment.
home.packages = with pkgs; [
# # It is sometimes useful to fine-tune packages, for example, by applying
# # overrides. You can do that directly here, just don't forget the
# # parentheses. Maybe you want to install Nerd Fonts with a limited number of
# # fonts?
# (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; })
# # You can also create simple shell scripts directly inside your
# # configuration. For example, this adds a command 'my-hello' to your
# # environment:
# (pkgs.writeShellScriptBin "my-hello" ''
# echo "Hello, ${config.home.username}!"
# '')
# Util
neofetch
bitwarden
qutebrowser
discord
# Visual
imagemagick
kate
# Audio
ncspot
# Environment
fishPlugins.grc
];
# Home Manager is pretty good at managing dotfiles. The primary way to manage
# plain files is through 'home.file'.
home.file = {
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
# # the Nix store. Activating the configuration will then make '~/.screenrc' a
# # symlink to the Nix store copy.
# ".screenrc".source = dotfiles/screenrc;
# # You can also set the file content immediately.
# ".gradle/gradle.properties".text = ''
# org.gradle.console=verbose
# org.gradle.daemon.idletimeout=3600000
# '';
};
# Home Manager can also manage your environment variables through
# 'home.sessionVariables'. If you don't want to manage your shell through Home
# Manager then you have to manually source 'hm-session-vars.sh' located at
# either
#
# ~/.nix-profile/etc/profile.d/hm-session-vars.sh
#
# or
#
# ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh
#
# or
#
# /etc/profiles/per-user/dakedres/etc/profile.d/hm-session-vars.sh
#
home.sessionVariables = {
# EDITOR = "emacs";
};
programs.fish = {
enable = true;
interactiveShellInit = ''
set fish_greeting # Disable greeting
'';
shellAliases = {
ll = "ls -lh";
};
};
programs.kitty = {
enable = true;
shellIntegration.enableFishIntegration = true;
};
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
}

View File

@ -1,7 +0,0 @@
{ config, pkgs, inputs, ... }:
{
homeManager.home.file = {
"testFile".text = "test";
};
}

View File

@ -1,114 +0,0 @@
{ pkgs, lib, ... }:
let
terminal = "kitty";
# newm = inputs.newmpkgs.packages.${system}.newm-atha;
packages = [
# Utility
pkgs.bitwarden
pkgs.vimiv-qt
# Visual
pkgs.imagemagick
pkgs.kate
pkgs.helix
pkgs.howl
#Games
pkgs.prismlauncher-qt5
# Env
pkgs.eww-wayland
pkgs.socat
pkgs.jq
];
nonFreePackages = [
"discord"
];
in {
custom.colors = import ../themes/colors/base16-monokai.nix;
custom.wallpaper = ../wallpapers/blip-blip-blip-blip.jpg;
home = {
sessionVariables = {
EDITOR = "kate";
BROWSER = "qutebrowser";
TERMINAL = "kitty";
TERM = "kitty";
FILEMANAGER = "kitty lf";
# Tell Electron apps it's wayland
NIXOS_OZONE_WL = 1;
};
sessionPath = [
"$HOME/.local/bin"
];
stateVersion = "23.11";
};
# Add packages
nixpkgs.config.allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) nonFreePackages;
home.packages =
map (name: pkgs.${name}) nonFreePackages
++ packages;
xdg.mimeApps = {
enable = true;
};
# Directories
xdg.userDirs = {
createDirectories = false;
download = "$HOME/downloads";
music = "$HOME/music";
};
# Openers
xdg.mimeApps.defaultApplications = {
"inode/directory" = [
# "lf.desktop"
"kitty-open.desktop"
];
};
# Standard programs
programs.bat = {
enable = true;
config = {
paging = "never";
};
};
# lf
programs.lf = {
enable = true;
commands = {
q = "quit"; # Why didn't they do this btw
};
keybindings = {
"<enter>" = "$$OPENER $f";
};
};
xdg.desktopEntries.lf = {
name = "LF";
genericName = "File browser";
exec = "lf %U";
terminal = true;
mimeType = [ "inode/directory" ];
};
# Take over my xsession
xsession.enable = true;
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
}

View File

@ -1,33 +0,0 @@
{ lib, ... }: {
options.custom = {
wallpaper = lib.mkOption {
type = lib.types.path;
};
colors =
let
colorOption = lib.mkOption {
type = lib.types.str;
default = "#000000";
};
in
{
base00 = colorOption;
base01 = colorOption;
base02 = colorOption;
base03 = colorOption;
base04 = colorOption;
base05 = colorOption;
base06 = colorOption;
base07 = colorOption;
base08 = colorOption;
base09 = colorOption;
base0A = colorOption;
base0B = colorOption;
base0C = colorOption;
base0D = colorOption;
base0E = colorOption;
base0F = colorOption;
};
};
}

View File

@ -1,41 +0,0 @@
{ config, lib, inputs, ... }:
let
modules = import ./modules.nix;
username = config.custom.username;
in {
options.custom = {
username = lib.mkOption {
type = lib.types.str;
default = "dakedres";
};
};
config.home-manager.users."${username}" = {
imports =
(builtins.filter
(path: builtins.pathExists path)
(builtins.map
(path: path + "/home.nix")
modules
)
) ++ [
./home.nix
./homeOptions.nix
];
config.home = {
username = username;
homeDirectory = "/home/${username}";
};
};
imports =
(builtins.filter
(path: builtins.pathExists path)
(builtins.map
(path: path + "/default.nix")
modules
)
);
}

View File

@ -0,0 +1,67 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page, on
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
# NixOS-WSL specific options are documented on the NixOS-WSL repository:
# https://github.com/nix-community/NixOS-WSL
args@{ config, lib, pkgs, helpers, ... }:
let
username = "nixos";
in {
imports =
helpers.getModules "/default.nix" (import ./modules.nix) ++ [
# include NixOS-WSL modules
<nixos-wsl/modules>
];
home-manager.users."${username}" = {
imports = helpers.getModules "/home.nix" (import ./modules.nix) ++ [
../../common/home.nix
./home.nix
];
config.custom.username = username;
};
wsl = {
enable = true;
defaultUser = username;
};
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
services.xserver = {
layout = "us";
xkb.options = "caps:swapescape,altwin:swap_alt_win";
};
services.xserver.enable = true;
services.xserver.displayManager.sddm.enable = true;
services.xserver.desktopManager.plasma5.enable = true;
services.xrdp.enable = true;
services.xrdp.defaultWindowManager = "dbus-run-session bspwm";
# services.xrdp.defaultWindowManager = "Hyprland";
services.xrdp.openFirewall = true;
services.xrdp.port = 3390;
environment.systemPackages = [
pkgs.vscodium
pkgs.git
pkgs.wget
pkgs.micro
];
fonts.packages = [
pkgs.ubuntu_font_family
];
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. It's perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "23.11"; # Did you read the comment?
}

45
hosts/vinegar/home.nix Normal file
View File

@ -0,0 +1,45 @@
{ pkgs, helpers, ... }:
{
imports =
# helpers.getModules "/home.nix" (import ./modules.nix) ++
[
../../colors/monokai-dark
./start-session/home.nix
];
custom.wallpaper = ../../wallpapers/blip-blip-blip-blip.jpg;
xsession.windowManager.bspwm.extraConfig = ''
pgrep -x sxhkd > /dev/null || sxhkd &
'';
home = {
sessionVariables = {
EDITOR = "codium";
BROWSER = "qutebrowser";
TERMINAL = "kitty";
TERM = "kitty";
FILEMANAGER = "kitty lf";
# Tell Electron apps it's wayland
NIXOS_OZONE_WL = 1;
};
sessionPath = [
"$HOME/.local/bin"
];
stateVersion = "23.11";
};
# Defaults
xdg.mimeApps.enable = true;
xdg.mimeApps.defaultApplications = {
"inode/directory" = [
# "lf.desktop"
"kitty-open.desktop"
];
};
}

10
hosts/vinegar/modules.nix Normal file
View File

@ -0,0 +1,10 @@
[
../../modules/fish
../../modules/kitty
../../modules/lf
../../modules/ncspot
../../modules/bspwm
../../modules/qutebrowser
]

View File

@ -0,0 +1,6 @@
{ pkgs, ... }:
{
home.file.".local/bin/qutesearch".source = ./start-session
environment.systemPackages = [ startSession ];
}

View File

@ -0,0 +1,12 @@
{ pkgs, ... }: {
home.file.".local/bin/start-session" = {
source = ./start-session;
executable = true;
};
home.packages = [
pkgs.xwayland
pkgs.xorg.xrandr
pkgs.gawk
];
}

View File

@ -0,0 +1,5 @@
#!/bin/sh
Xwayland :1 -geometry $(xrandr -q | gawk 'match($0, /([0-9]+x[0-9]+)/, ary) {print ary[1]; exit}') -fullscreen &
xw_pid=$!
WAYLAND_DISPLAY= DISPLAY=:1 dbus-launch $1
kill $xw_pid

View File

@ -80,6 +80,8 @@ in {
# Enable bluetooth
hardware.bluetooth.enable = true;
hardware.bluetooth.powerOnBoot = true;
# Blueman
services.blueman.enable = true;
# Enable sound with pipewire.
sound.enable = true;

81
hosts/vulpes/home.nix Normal file
View File

@ -0,0 +1,81 @@
{ pkgs, lib, ... }:
# let
# terminal = "kitty";
# # newm = inputs.newmpkgs.packages.${system}.newm-atha;
# in {
{
custom.colors = import ../themes/colors/base16-monokai.nix;
custom.wallpaper = ../wallpapers/blip-blip-blip-blip.jpg;
home = {
sessionVariables = {
EDITOR = "kate";
BROWSER = "qutebrowser";
TERMINAL = "kitty";
TERM = "kitty";
FILEMANAGER = "kitty lf";
# Tell Electron apps it's wayland time
NIXOS_OZONE_WL = 1;
};
sessionPath = [
"$HOME/.local/bin"
];
stateVersion = "23.11";
};
home.packages = [
# Utility
pkgs.bitwarden
pkgs.vimiv-qt
# Visual
pkgs.imagemagick
pkgs.kate
pkgs.helix
pkgs.vscodium
#Games
pkgs.prismlauncher-qt5
# Env
pkgs.eww-wayland
pkgs.socat
pkgs.jq
];
custom.nonFreePackages = [
"discord"
];
# Directories
xdg.userDirs = {
createDirectories = false;
download = "$HOME/downloads";
music = "$HOME/music";
};
# Openers
xdg.mimeApps.enable = true;
xdg.mimeApps.defaultApplications = {
"inode/directory" = [
# "lf.desktop"
"kitty-open.desktop"
];
};
# Standard programs
programs.bat = {
enable = true;
config = {
paging = "never";
};
};
services.blueman-applet.enable = true;
}

View File

@ -2,6 +2,7 @@
../modules/fish
../modules/qutebrowser
../modules/kitty
../modules/lf
../modules/ncspot

View File

@ -1,77 +1,90 @@
{ pkgs, lib, config, ... }: {
options.custom.bspwm.enable = lib.mkEnable "bspwm";
imports = [
../qutesearch/home.nix
../tint2/home.nix
../rofi/home.nix
];
home.packages = [
pkgs.feh
pkgs.flameshot
];
config = {
# programs.qutebrowser.enable = true;
# custom.qutesearch.enable = true;
# programs.tint2.enable = true;
# programs.rofi.enable = true;
services.network-manager-applet.enable = true;
xdg.portal = {
enable = true;
extraPortals = [
pkgs.xdg-desktop-portal-kde
home.packages = [
pkgs.feh
pkgs.flameshot
];
configPackages = [
pkgs.xdg-desktop-portal-kde
];
};
# handled by home manager
# home.sessionVariables = {
# # Tell java it's in no-reparenting land
# "_JAVA_AWT_WM_NONREPARENTING" = 1;
# };
services.network-manager-applet.enable = true;
services.sxhkd.enable = true;
xdg.configFile."sxhkd/sxhkdrc" = {
source = ./sxhkdrc;
executable = true;
};
home.file.".local/bin" = {
source = ./scripts;
recursive = true;
executable = true;
};
xsession.windowManager.bspwm = {
enable = true;
monitors = {
"eDP-1" = [ "I" "II" "III" "IV" "V" ];
xdg.portal = {
enable = true;
extraPortals = [
pkgs.xdg-desktop-portal-kde
];
configPackages = [
pkgs.xdg-desktop-portal-kde
];
};
settings = {
border_width = 1;
window_gap = 4;
split_ratio = 0.52;
# handled by home manager
# home.sessionVariables = {
# # Tell java it's in no-reparenting land
# "_JAVA_AWT_WM_NONREPARENTING" = 1;
# };
pointer_modifier = "super";
pointer_action1 = "move";
pointer_action2 = "resize_corner";
focus_follows_pointer = true;
pointer_follows_focus = true;
services.sxhkd.enable = true;
xdg.configFile."sxhkd/sxhkdrc" = {
source = ./sxhkdrc;
executable = true;
};
rules = {
Gimp = {
state = "floating";
home.file.".local/bin" = {
source = ./scripts;
recursive = true;
executable = true;
};
xsession.windowManager.bspwm = {
enable = true;
# monitors = {
# "eDP-1" = [ "I" "II" "III" "IV" "V" ];
# };
extraConfigEarly = ''
bspc monitor -d I II III IV V
'';
settings = {
border_width = 1;
window_gap = 4;
split_ratio = 0.52;
pointer_modifier = "super";
pointer_action1 = "move";
pointer_action2 = "resize_corner";
focus_follows_pointer = true;
pointer_follows_focus = true;
};
};
startupPrograms = [
# "pgrep -x sxhkd > /dev/null || sxhkd &"
"wmname LG3D"
# "xsetroot -cursor_name left_ptr &"
"tint2"
"feh --bg-scale ${config.custom.wallpaper}"
];
rules = {
Gimp = {
state = "floating";
};
};
startupPrograms = [
# "pgrep -x sxhkd > /dev/null || sxhkd &"
"wmname LG3D"
# "xsetroot -cursor_name left_ptr &"
"tint2"
"feh --bg-scale ${config.custom.wallpaper}"
];
};
};
}

0
modules/default.nix Normal file
View File

View File

@ -1,10 +1,12 @@
{ pkgs, lib, ... }: {
nixpkgs.config.allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) [
"discord"
];
{ pkgs, lib, config, ... }: {
config = {
nixpkgs.config.allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) [
"discord"
];
home.packages = [
pkgs.discord
];
home.packages = [
pkgs.discord
];
}
}

View File

@ -1,11 +1,10 @@
{ pkgs, ... }: {
{ pkgs, lib, config, ... }: {
home.packages = [
pkgs.grc
pkgs.fishPlugins.grc
];
programs.fish = {
enable = true;
interactiveShellInit = ''
set fish_greeting # Disable greeting
'';

5
modules/home.nix Normal file
View File

@ -0,0 +1,5 @@
{ ... } : {
imports = [
]
}

View File

@ -1,13 +0,0 @@
{ lib, ... }:
{
options = {
homeManager = lib.mkOption {
type = lib.types.set;
};
};
config = {
home-manager.users.dakedres = config.homeManager;
};
}

View File

@ -5,131 +5,137 @@
../rofi/home.nix
];
home.packages = [
pkgs.swaybg
];
# options.custom.hyprland.enable = lib.mkEnable "hyprland";
# When swhkd is available, wlogout could be started via a script
# that disables keybind watching, starts wlogout, and enables keybind
# watching again once it's closed
programs.wlogout = {
enable = true;
};
config = {
home.packages = [
pkgs.swaybg
];
xdg.portal = {
enable = true;
extraPortals = [
pkgs.xdg-desktop-portal-gtk
];
configPackages = [
pkgs.xdg-desktop-portal-gtk
];
};
programs.waybar.enable = true;
wayland.windowManager.hyprland = {
enable = true;
settings = {
exec-once = [
"swaybg -i $WALLPAPER"
"waybar"
# When swhkd is available, wlogout could be started via a script
# that disables keybind watching, starts wlogout, and enables keybind
# watching again once it's closed
programs.wlogout = {
enable = true;
};
xdg.portal = {
enable = true;
extraPortals = [
pkgs.xdg-desktop-portal-gtk
];
monitor = [
"eDP-1,1920x1080@59.96,0x0,auto"
# "X11-1,600x800@59.96,0x0,auto"
configPackages = [
pkgs.xdg-desktop-portal-gtk
];
};
input = {
# kb_options = "caps:swapescape,altwin:swap_alt_win";
wayland.windowManager.hyprland = {
enable = true;
settings = {
exec-once = [
"swaybg -i $WALLPAPER"
"waybar"
];
monitor = [
"eDP-1,1920x1080@59.96,0x0,auto"
# "X11-1,600x800@59.96,0x0,auto"
];
input = {
# kb_options = "caps:swapescape,altwin:swap_alt_win";
};
general = {
gaps_in = 3;
gaps_out = 6;
};
group = {
groupbar = {
gradients = false;
text_color = "0xff111111";
};
};
misc = {
disable_hyprland_logo = true;
background_color = "0x000000";
};
animation = [
"workspaces,1,3,default,slidevert"
"windows,1,2,default,slide"
];
workspace = [
"name:I"
"name:II"
"name:III"
"name:IV"
"name:V"
];
windowrule = [
"fullscreen,noanim,noborder,title:(Albert)"
];
"$mod" = "SUPER";
bind = [
"$mod, Return, exec, $TERMINAL"
"$mod, o, exec, qutesearch"
"$mod, Space, exec, rofi -show drun"
"SUPERSHIFT, Space, exec, rofi -show run"
"$mod, Escape, exec, wlogout"
"$mod, w, killactive" # This closes the window and the name is dumb
"$mod, f, togglefloating"
"$mod, t, togglegroup"
"$mod, h, movefocus, l"
"$mod, j, movefocus, d"
"$mod, k, movefocus, u"
"$mod, l, movefocus, r"
"$mod, left, movefocus, l"
"$mod, down, movefocus, d"
"$mod, up, movefocus, u"
"$mod, right, movefocus, r"
"$mod, a, changegroupactive, f"
"$mod, d, changegroupactive, f"
"$mod, Tab, cyclenext"
"SUPERSHIFT, h, movewindoworgroup, l"
"SUPERSHIFT, j, movewindoworgroup, d"
"SUPERSHIFT, k, movewindoworgroup, u"
"SUPERSHIFT, l, movewindoworgroup, r"
"SUPERSHIFT, left, movewindoworgroup, l"
"SUPERSHIFT, down, movewindoworgroup, d"
"SUPERSHIFT, up, movewindoworgroup, u"
"SUPERSHIFT, right, movewindoworgroup, r"
"$mod, 1, workspace, 1"
"$mod, 2, workspace, 2"
"$mod, 3, workspace, 3"
"$mod, 4, workspace, 4"
"$mod, 5, workspace, 5"
];
bindm = [
"$mod, mouse:272, movewindow"
"$mod, mouse:273, resizewindow"
];
};
general = {
gaps_in = 3;
gaps_out = 6;
};
group = {
groupbar = {
gradients = false;
text_color = "0xff111111";
};
};
misc = {
disable_hyprland_logo = true;
background_color = "0x000000";
};
animation = [
"workspaces,1,3,default,slidevert"
"windows,1,2,default,slide"
];
workspace = [
"name:I"
"name:II"
"name:III"
"name:IV"
"name:V"
];
windowrule = [
"fullscreen,noanim,noborder,title:(Albert)"
];
"$mod" = "SUPER";
bind = [
"$mod, Return, exec, $TERMINAL"
"$mod, o, exec, qutesearch"
"$mod, Space, exec, rofi -show drun"
"SUPERSHIFT, Space, exec, rofi -show run"
"$mod, Escape, exec, wlogout"
"$mod, w, killactive" # This closes the window and the name is dumb
"$mod, f, togglefloating"
"$mod, t, togglegroup"
"$mod, h, movefocus, l"
"$mod, j, movefocus, d"
"$mod, k, movefocus, u"
"$mod, l, movefocus, r"
"$mod, left, movefocus, l"
"$mod, down, movefocus, d"
"$mod, up, movefocus, u"
"$mod, right, movefocus, r"
"$mod, a, changegroupactive, f"
"$mod, d, changegroupactive, f"
"$mod, Tab, cyclenext"
"SUPERSHIFT, h, movewindoworgroup, l"
"SUPERSHIFT, j, movewindoworgroup, d"
"SUPERSHIFT, k, movewindoworgroup, u"
"SUPERSHIFT, l, movewindoworgroup, r"
"SUPERSHIFT, left, movewindoworgroup, l"
"SUPERSHIFT, down, movewindoworgroup, d"
"SUPERSHIFT, up, movewindoworgroup, u"
"SUPERSHIFT, right, movewindoworgroup, r"
"$mod, 1, workspace, 1"
"$mod, 2, workspace, 2"
"$mod, 3, workspace, 3"
"$mod, 4, workspace, 4"
"$mod, 5, workspace, 5"
];
bindm = [
"$mod, mouse:272, movewindow"
"$mod, mouse:273, resizewindow"
];
};
};
}

View File

@ -8,7 +8,7 @@
};
};
config = lib.mkIf config.custom.colors.kitty.enable {
config = {
programs.kitty.settings = with config.custom.colors; {
# Based on https://github.com/mk12/base16-kitty

19
modules/lf/home.nix Normal file
View File

@ -0,0 +1,19 @@
{ ... }: {
programs.lf = {
enable = true;
commands = {
q = "quit"; # Why didn't they do this btw
};
keybindings = {
"<enter>" = "$$OPENER $f";
};
};
xdg.desktopEntries.lf = {
name = "LF";
genericName = "File browser";
exec = "lf %U";
terminal = true;
mimeType = [ "inode/directory" ];
};
}

View File

@ -8,7 +8,7 @@
};
};
config = lib.mkIf config.custom.colors.ncspot.enable {
config = {
programs.ncspot.settings.theme = with config.custom.colors; {
# Attempts to look kinda green like the official client

View File

@ -1,4 +1,4 @@
{ pkgs, ... }: {
{ pkgs, config, ... }: {
imports = [ ./colors.nix ];
home.packages = [
@ -7,6 +7,7 @@
programs.ncspot = {
enable = true;
settings = {
cover_max_scale = 2;
};

View File

@ -11,7 +11,7 @@
};
};
config = lib.mkIf config.custom.colors.qutebrowser.enable {
config = {
programs.qutebrowser.settings = with config.custom.colors; {
# Text color of the completion widget. May be a single color to use for
# all columns or a list of three colors, one for each column.

View File

@ -1,7 +1,8 @@
{ ... }: {
programs.tint2.enable = true;
xdg.configFile."tint2/tint2rc" = {
source = ./tint2rc;
executable = true;
source = ./tint2rc;
executable = true;
};
}

View File

@ -1,6 +1,5 @@
{ ... }: {
programs.waybar = {
enable = true;
settings = {
mainBar = {

1
result Symbolic link
View File

@ -0,0 +1 @@
/nix/store/hq65zx7jbxkbn8kqpfhn8gklv9xi6kpx-nixos-system-nixos-24.05.20240117.842d9d8