Move stuff into /home
This commit is contained in:
parent
d9bf49b218
commit
dc1b4e9371
26 changed files with 3 additions and 1 deletions
51
home/X11/alacritty.nix
Normal file
51
home/X11/alacritty.nix
Normal file
|
@ -0,0 +1,51 @@
|
|||
{ pkgs, config, lib, ... } :
|
||||
|
||||
let
|
||||
pkgsUnstable = import <nixpkgs-unstable> {};
|
||||
in
|
||||
{
|
||||
home.packages = [
|
||||
];
|
||||
|
||||
programs.alacritty = {
|
||||
enable = true;
|
||||
package = pkgsUnstable.alacritty;
|
||||
|
||||
settings = {
|
||||
background_opacity = 0.95;
|
||||
font = {
|
||||
size = 14.0;
|
||||
normal.family = "Fantasque Sans Mono Nerd Font";
|
||||
};
|
||||
shell = {
|
||||
program = "/bin/sh";
|
||||
args = [ "-ic" "fish" ];
|
||||
};
|
||||
colors = {
|
||||
# Default colors
|
||||
primary.background = "0xf1f1f1";
|
||||
primary.foreground = "0x424242";
|
||||
|
||||
# Normal colors
|
||||
normal.black = "0x212121";
|
||||
normal.red = "0xc30771";
|
||||
normal.green = "0x10a778";
|
||||
normal.yellow = "0xa89c14";
|
||||
normal.blue = "0x008ec4";
|
||||
normal.magenta = "0x523c79";
|
||||
normal.cyan = "0x20a5ba";
|
||||
normal.white = "0xe0e0e0";
|
||||
|
||||
# Bright colors
|
||||
bright.black = "0x212121";
|
||||
bright.red = "0xfb007a";
|
||||
bright.green = "0x5fd7af";
|
||||
bright.yellow = "0xf3e430";
|
||||
bright.blue = "0x20bbfc";
|
||||
bright.magenta = "0x6855de";
|
||||
bright.cyan = "0x4fb8cc";
|
||||
bright.white = "0xf1f1f1";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
37
home/X11/default.nix
Normal file
37
home/X11/default.nix
Normal file
|
@ -0,0 +1,37 @@
|
|||
{ pkgs, config, lib, ... } :
|
||||
|
||||
{
|
||||
imports = [ ./packages.nix ];
|
||||
|
||||
home.sessionVariables = {
|
||||
# Set up Java font style
|
||||
_JAVA_OPTIONS = "-Dawt.useSystemAAFontSettings=lcd";
|
||||
};
|
||||
|
||||
# X Session settings
|
||||
xsession.enable = true;
|
||||
|
||||
# Wallpaper
|
||||
home.file.wallpaper = {
|
||||
source = ./. + "/wallpaper.jpg";
|
||||
target = "wallpaper.jpg";
|
||||
};
|
||||
|
||||
# Cursor
|
||||
xsession.pointerCursor = {
|
||||
package = pkgs.numix-cursor-theme;
|
||||
name = "Numix-Cursor-Light";
|
||||
size = 32;
|
||||
};
|
||||
|
||||
# MIME set ups
|
||||
xdg.enable = true;
|
||||
xdg.mimeApps.enable = true;
|
||||
xdg.mimeApps.defaultApplications = {
|
||||
"x-scheme-handler/http" = [ "firefox.desktop" ];
|
||||
"x-scheme-handler/https" = [ "firefox.desktop" ];
|
||||
"x-scheme-handler/ftp" = [ "firefox.desktop" ];
|
||||
"x-scheme-handler/ftps" = [ "firefox.desktop" ];
|
||||
"x-scheme-handler/mailspring" = [ "Mailspring.desktop" ];
|
||||
};
|
||||
}
|
23
home/X11/hidpi.nix
Normal file
23
home/X11/hidpi.nix
Normal file
|
@ -0,0 +1,23 @@
|
|||
{ pkgs, config, lib, ... } :
|
||||
|
||||
{
|
||||
# X resources for 4k monitor
|
||||
home.file."4k.Xresources" = {
|
||||
target = ".config/X11/.Xresources";
|
||||
text = ''
|
||||
Xft.dpi: 192
|
||||
! These might also be useful depending on your monitor and personal preference:
|
||||
Xft.autohint: 0
|
||||
Xft.lcdfilter: lcddefault
|
||||
Xft.hintstyle: hintfull
|
||||
Xft.hinting: 1
|
||||
Xft.antialias: 1
|
||||
Xft.rgba: rgb
|
||||
'';
|
||||
};
|
||||
# Load 4k Xresources
|
||||
xsession.initExtra = ''
|
||||
xrdb -merge ~/.config/X11/.Xresources
|
||||
feh --bg-fill ~/wallpaper.jpg
|
||||
'';
|
||||
}
|
137
home/X11/i3.nix
Normal file
137
home/X11/i3.nix
Normal file
|
@ -0,0 +1,137 @@
|
|||
{ pkgs, config, lib, ... } :
|
||||
|
||||
let
|
||||
mod = "Mod4";
|
||||
workspaces = [
|
||||
"1: web"
|
||||
"2: chat"
|
||||
"3: code"
|
||||
"4: music"
|
||||
"5: extra"
|
||||
"6: 6"
|
||||
"7: 7"
|
||||
"8: 8"
|
||||
"9: 9"
|
||||
"10: 10"
|
||||
];
|
||||
wsAttrs = builtins.listToAttrs (
|
||||
map
|
||||
(i: { name = toString (remainder i 10); value = builtins.elemAt workspaces (i - 1); })
|
||||
(range 1 11)
|
||||
);
|
||||
remainder = x: y: x - (builtins.div x y) * y;
|
||||
range = from: to:
|
||||
let
|
||||
f = cur: if cur == to then [] else [cur] ++ f (cur + 1);
|
||||
in f from;
|
||||
in
|
||||
{
|
||||
## i3 window manager
|
||||
xsession.windowManager.i3 = {
|
||||
enable = true;
|
||||
config.assigns = {
|
||||
"${wsAttrs."1"}" = [ { class = "^Firefox$"; } ];
|
||||
"${wsAttrs."2"}" = [ { class = "^Discord$"; } ];
|
||||
};
|
||||
config.bars = [ {
|
||||
command = "${pkgs.i3-gaps}/bin/i3bar -t";
|
||||
statusCommand = "${pkgs.i3status-rust}/bin/i3status-rs ~/.config/i3status-rust/config-default.toml";
|
||||
position = "top";
|
||||
colors = {
|
||||
background = "#00000080";
|
||||
statusline = "#ffffff";
|
||||
separator = "#666666";
|
||||
|
||||
focusedWorkspace = { background = "#4c7899"; border = "#285577"; text = "#ffffff"; };
|
||||
activeWorkspace = { background = "#333333"; border = "#5f676a"; text = "#ffffff"; };
|
||||
inactiveWorkspace = { background = "#333333"; border = "#222222"; text = "#888888"; };
|
||||
urgentWorkspace = { background = "#2f343a"; border = "#900000"; text = "#ffffff"; };
|
||||
bindingMode = { background = "#2f343a"; border = "#900000"; text = "#ffffff"; };
|
||||
};
|
||||
} ];
|
||||
config.fonts = { names = [ "FantasqueSansMono Nerd Font Mono" "monospace" ]; size = 11.0; };
|
||||
config.gaps.outer = 5;
|
||||
config.gaps.inner = 5;
|
||||
config.gaps.smartGaps = true;
|
||||
config.modifier = mod;
|
||||
config.terminal = "alacritty";
|
||||
config.window.titlebar = false;
|
||||
|
||||
# Keybindings
|
||||
config.keybindings = lib.mkOptionDefault ({
|
||||
## vim-style movements
|
||||
"${mod}+h" = "focus left";
|
||||
"${mod}+j" = "focus down";
|
||||
"${mod}+k" = "focus up";
|
||||
"${mod}+l" = "focus right";
|
||||
"${mod}+Shift+h" = "move left";
|
||||
"${mod}+Shift+j" = "move down";
|
||||
"${mod}+Shift+k" = "move up";
|
||||
"${mod}+Shift+l" = "move right";
|
||||
## Splits
|
||||
"${mod}+v" = "split v";
|
||||
"${mod}+Shift+v" = "split h";
|
||||
## Run
|
||||
"${mod}+r" = "exec ${pkgs.dmenu}/bin/dmenu_run";
|
||||
"${mod}+d" = "exec i3-dmenu-desktop --dmenu='${pkgs.dmenu}/bin/dmenu -i'";
|
||||
} // (
|
||||
builtins.listToAttrs (lib.flatten (map (key: [
|
||||
{
|
||||
name = "${mod}+${key}";
|
||||
value = "workspace ${builtins.getAttr key wsAttrs}";
|
||||
}
|
||||
{
|
||||
name = "${mod}+Shift+${key}";
|
||||
value = "move to workspace ${builtins.getAttr key wsAttrs}";
|
||||
}
|
||||
]) (builtins.attrNames wsAttrs))
|
||||
)));
|
||||
|
||||
# Workspace
|
||||
config.defaultWorkspace = "workspace ${builtins.getAttr "1" wsAttrs}";
|
||||
config.startup = [
|
||||
{ command = "firefox"; }
|
||||
{ command = "discord"; }
|
||||
{ command = "dex -ae i3"; }
|
||||
{ command = "ibus-daemon -drxR"; }
|
||||
];
|
||||
};
|
||||
|
||||
|
||||
# i3status
|
||||
programs.i3status-rust.enable = true;
|
||||
programs.i3status-rust.bars.default = {
|
||||
icons = "material-nf";
|
||||
theme = "native";
|
||||
settings = {
|
||||
icons_format = " <span font_family='FantasqueSansMono Nerd Font'>{icon}</span> ";
|
||||
};
|
||||
blocks = [
|
||||
{
|
||||
block = "bluetooth";
|
||||
mac = "5C:52:30:D8:E2:9D";
|
||||
format = "Airpods Pro {percentage}";
|
||||
format_unavailable = "Airpods Pro XX";
|
||||
}
|
||||
{
|
||||
block = "cpu";
|
||||
format = "{utilization}";
|
||||
}
|
||||
{
|
||||
block = "hueshift";
|
||||
}
|
||||
{
|
||||
block = "memory";
|
||||
}
|
||||
{
|
||||
block = "net";
|
||||
}
|
||||
{
|
||||
block = "sound";
|
||||
}
|
||||
{
|
||||
block = "time";
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
39
home/X11/packages.nix
Normal file
39
home/X11/packages.nix
Normal file
|
@ -0,0 +1,39 @@
|
|||
{ pkgs, config, lib, ... }:
|
||||
|
||||
let
|
||||
pkgsUnstable = import <nixpkgs-unstable> {};
|
||||
# Override nss to open links in Firefox (https://github.com/NixOS/nixpkgs/issues/78961)
|
||||
discordPkg = pkgsUnstable.discord.override { nss = pkgs.nss_latest; };
|
||||
in
|
||||
{
|
||||
imports = [ ./alacritty.nix ./i3.nix ];
|
||||
|
||||
home.packages = (with pkgs; [
|
||||
## GUI stuff
|
||||
gnome.cheese # Webcam check
|
||||
evince # PDF reader
|
||||
gparted
|
||||
vscode
|
||||
feh
|
||||
deluge # Torrent client
|
||||
mailspring
|
||||
discordPkg
|
||||
pavucontrol # PulseAudio control panel
|
||||
# CLI stuff
|
||||
xsel # Clipboard management
|
||||
dex # .desktop file management, startup
|
||||
sct # Display color temperature
|
||||
]);
|
||||
|
||||
# Gnome-keyring
|
||||
services.gnome-keyring.enable = true;
|
||||
|
||||
# Picom: X Compositor
|
||||
services.picom = {
|
||||
enable = true;
|
||||
blur = true;
|
||||
fade = true;
|
||||
fadeDelta = 3;
|
||||
shadow = true;
|
||||
};
|
||||
}
|
BIN
home/X11/wallpaper.jpg
Normal file
BIN
home/X11/wallpaper.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.1 MiB |
Loading…
Add table
Add a link
Reference in a new issue