trantor changes
parent
83bccd8c3f
commit
d77f800e89
19
capibara.nix
19
capibara.nix
|
@ -8,13 +8,19 @@ let
|
||||||
impermanence = builtins.fetchTarball {
|
impermanence = builtins.fetchTarball {
|
||||||
url = "https://github.com/nix-community/impermanence/archive/master.tar.gz";
|
url = "https://github.com/nix-community/impermanence/archive/master.tar.gz";
|
||||||
};
|
};
|
||||||
|
home-manager = builtins.fetchTarball {
|
||||||
|
url = "https://github.com/nix-community/home-manager/archive/release-21.11.tar.gz";
|
||||||
|
};
|
||||||
in {
|
in {
|
||||||
imports = [ # Include the results of the hardware scan.
|
imports = [ # Include the results of the hardware scan.
|
||||||
./nixos/hardware-configuration/capibara.nix
|
./nixos/hardware-configuration/capibara.nix
|
||||||
./nixos/common.nix
|
./nixos/common.nix
|
||||||
|
"${home-manager}/nixos"
|
||||||
"${impermanence}/nixos.nix"
|
"${impermanence}/nixos.nix"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
home-manager.users.rilla = import home/capibara.nix;
|
||||||
|
|
||||||
fileSystems = {
|
fileSystems = {
|
||||||
"/" = {
|
"/" = {
|
||||||
device = "tmpfs";
|
device = "tmpfs";
|
||||||
|
@ -132,19 +138,6 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services.udev.extraRules = ''
|
|
||||||
# UDEV rules for Teensy USB devices
|
|
||||||
ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", ENV{ID_MM_DEVICE_IGNORE}="1"
|
|
||||||
ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789A]?", ENV{MTP_NO_PROBE}="1"
|
|
||||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789ABCD]?", MODE:="0666"
|
|
||||||
KERNEL=="ttyACM*", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", MODE:="0666"
|
|
||||||
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE="664", GROUP="plugdev"
|
|
||||||
'';
|
|
||||||
|
|
||||||
hardware.opengl.enable = true;
|
|
||||||
hardware.bluetooth.enable = true;
|
|
||||||
services.blueman.enable = true;
|
|
||||||
|
|
||||||
# This value determines the NixOS release from which the default
|
# This value determines the NixOS release from which the default
|
||||||
# settings for stateful data, like file locations and database versions
|
# settings for stateful data, like file locations and database versions
|
||||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [ ./nixos.nix ];
|
||||||
|
programs.alacritty.settings.font.size = 9;
|
||||||
|
}
|
|
@ -9,8 +9,6 @@
|
||||||
x = 0;
|
x = 0;
|
||||||
y = 0;
|
y = 0;
|
||||||
};
|
};
|
||||||
# size = 7;
|
|
||||||
size = 9;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
|
@ -0,0 +1,6 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [ ./nixos.nix ];
|
||||||
|
programs.alacritty.settings.font.size = 7.5;
|
||||||
|
}
|
|
@ -22,7 +22,7 @@ in {
|
||||||
./barrier
|
./barrier
|
||||||
./browsers
|
./browsers
|
||||||
./dav
|
./dav
|
||||||
# ./desktop-xmonad
|
# ./desktop-xmonad/capibara.nix
|
||||||
./fonts
|
./fonts
|
||||||
./git
|
./git
|
||||||
./gotify
|
./gotify
|
|
@ -1,52 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
lvds_fingerprint = {
|
|
||||||
"LVDS-1" = "00ffffffffffff0030e4d8020000000000160103801c1078ea8855995b558f261d505400000001010101010101010101010101010101601d56d85000183030404700159c1000001b000000000000000000000000000000000000000000fe004c4720446973706c61790a2020000000fe004c503132355748322d534c42330059";
|
|
||||||
};
|
|
||||||
hdmi_fingerprint = {
|
|
||||||
"HDMI-2" = "00ffffffffffff0009d1e67845540000261d0103803c22782e4825a756529c270f5054a56b80d1c0b300a9c08180810081c001010101023a801871382d40582c450056502100001e000000ff004c394b30303333313031510a20000000fd00324c1e5311000a202020202020000000fc0042656e51204757323738300a200117020322f14f901f04130312021101140607151605230907078301000065030c001000023a801871382d40582c450056502100001f011d8018711c1620582c250056502100009f011d007251d01e206e28550056502100001e8c0ad08a20e02d10103e960056502100001800000000000000000000000000000000000000000047";
|
|
||||||
};
|
|
||||||
lvds_config = {
|
|
||||||
"LVDS-1" = {
|
|
||||||
enable = true;
|
|
||||||
crtc = 0;
|
|
||||||
mode = "1366x768";
|
|
||||||
position = "1920x0";
|
|
||||||
rate = "60.00";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
hdmi_config = {
|
|
||||||
"HDMI-2" = {
|
|
||||||
enable = true;
|
|
||||||
primary = true;
|
|
||||||
crtc = 0;
|
|
||||||
mode = "1920x1080";
|
|
||||||
position = "0x0";
|
|
||||||
rate = "60.00";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
programs.autorandr = {
|
|
||||||
enable = true;
|
|
||||||
hooks.postswitch = {
|
|
||||||
"change-background" = "/run/current-system/sw/bin/systemctl --user restart random-background.service";
|
|
||||||
"restart-xmonad" = "${pkgs.xmonad-with-packages}/bin/xmonad --restart";
|
|
||||||
};
|
|
||||||
profiles = {
|
|
||||||
"default" = {
|
|
||||||
fingerprint = lvds_fingerprint;
|
|
||||||
config = lvds_config;
|
|
||||||
};
|
|
||||||
"docked-open" = {
|
|
||||||
fingerprint = pkgs.lib.mkMerge [ hdmi_fingerprint lvds_fingerprint ];
|
|
||||||
config = pkgs.lib.mkMerge [ hdmi_config lvds_config ];
|
|
||||||
};
|
|
||||||
"docked-closed" = {
|
|
||||||
fingerprint = hdmi_fingerprint;
|
|
||||||
config = hdmi_config;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
ext_monitor_fingerprint =
|
||||||
|
"00ffffffffffff0009d1e67845540000261d0103803c22782e4825a756529c270f5054a56b80d1c0b300a9c08180810081c001010101023a801871382d40582c450056502100001e000000ff004c394b30303333313031510a20000000fd00324c1e5311000a202020202020000000fc0042656e51204757323738300a200117020322f14f901f04130312021101140607151605230907078301000065030c001000023a801871382d40582c450056502100001f011d8018711c1620582c250056502100009f011d007251d01e206e28550056502100001e8c0ad08a20e02d10103e960056502100001800000000000000000000000000000000000000000047";
|
||||||
|
lvds_fingerprint =
|
||||||
|
"00ffffffffffff0030e4d8020000000000160103801c1078ea8855995b558f261d505400000001010101010101010101010101010101601d56d85000183030404700159c1000001b000000000000000000000000000000000000000000fe004c4720446973706c61790a2020000000fe004c503132355748322d534c42330059";
|
||||||
|
lvds_config = {
|
||||||
|
enable = true;
|
||||||
|
crtc = 0;
|
||||||
|
mode = "1366x768";
|
||||||
|
position = "0x0";
|
||||||
|
rate = "60.00";
|
||||||
|
};
|
||||||
|
hdmi_config = {
|
||||||
|
enable = true;
|
||||||
|
primary = true;
|
||||||
|
crtc = 0;
|
||||||
|
mode = "1920x1080";
|
||||||
|
position = "0x0";
|
||||||
|
rate = "60.00";
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
imports = [ ./common.nix ];
|
||||||
|
programs.autorandr.profiles = {
|
||||||
|
|
||||||
|
default = {
|
||||||
|
fingerprint."LVDS-1" = lvds_fingerprint;
|
||||||
|
config."LVDS-1" = lvds_config;
|
||||||
|
};
|
||||||
|
|
||||||
|
docked = {
|
||||||
|
fingerprint = {
|
||||||
|
"HDMI-2" = ext_monitor_fingerprint;
|
||||||
|
"LVDS-1" = lvds_fingerprint;
|
||||||
|
};
|
||||||
|
config = {
|
||||||
|
"LVDS-1" = lvds_config // { position = "1920x0"; };
|
||||||
|
"HDMI-2" = hdmi_config;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
docked_closed = {
|
||||||
|
fingerprint."HDMI-2" = ext_monitor_fingerprint;
|
||||||
|
config."HDMI-2" = hdmi_config;
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.autorandr = {
|
||||||
|
enable = true;
|
||||||
|
hooks.postswitch = {
|
||||||
|
"change-background" =
|
||||||
|
"/run/current-system/sw/bin/systemctl --user restart random-background.service";
|
||||||
|
"restart-xmonad" = "${pkgs.xmonad-with-packages}/bin/xmonad --restart";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,67 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
ext_monitor_fingerprint =
|
||||||
|
"00ffffffffffff0009d1e67845540000261d0103803c22782e4825a756529c270f5054a56b80d1c0b300a9c08180810081c001010101023a801871382d40582c450056502100001e000000ff004c394b30303333313031510a20000000fd00324c1e5311000a202020202020000000fc0042656e51204757323738300a200117020322f14f901f04130312021101140607151605230907078301000065030c001000023a801871382d40582c450056502100001f011d8018711c1620582c250056502100009f011d007251d01e206e28550056502100001e8c0ad08a20e02d10103e960056502100001800000000000000000000000000000000000000000047";
|
||||||
|
edp_fingerprint =
|
||||||
|
"00ffffffffffff0030e46e040000000000180104a52615780a0bb5a35955a0270c5054000000010101010101010101010101010101012e3680a070381f40302035007ed71000001b1f2480a070381f40302035007ed71000001b00000000000000000000000000000000000000000002000a30ff0a3c96191d4896000000003f";
|
||||||
|
edp_config = {
|
||||||
|
enable = true;
|
||||||
|
crtc = 0;
|
||||||
|
mode = "1368x768";
|
||||||
|
position = "1920x0";
|
||||||
|
rate = "60.00";
|
||||||
|
rotate = "left";
|
||||||
|
};
|
||||||
|
hdmi_config = {
|
||||||
|
enable = true;
|
||||||
|
primary = true;
|
||||||
|
crtc = 0;
|
||||||
|
mode = "1920x1080";
|
||||||
|
position = "0x0";
|
||||||
|
rate = "60.00";
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
imports = [ ./common.nix ];
|
||||||
|
programs.autorandr.profiles = {
|
||||||
|
|
||||||
|
default = {
|
||||||
|
fingerprint = {
|
||||||
|
"HDMI-1-1" = ext_monitor_fingerprint;
|
||||||
|
"eDP-1-1" = edp_fingerprint;
|
||||||
|
};
|
||||||
|
config = {
|
||||||
|
"HDMI-1-1" = hdmi_config;
|
||||||
|
"eDP-1-1" = edp_config;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
default_intel = {
|
||||||
|
fingerprint = {
|
||||||
|
"HDMI-1" = ext_monitor_fingerprint;
|
||||||
|
"eDP-1" = edp_fingerprint;
|
||||||
|
};
|
||||||
|
config = {
|
||||||
|
"HDMI-1" = hdmi_config;
|
||||||
|
"eDP-1" = edp_config;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
nomonitor_intel = {
|
||||||
|
fingerprint."eDP-1" = edp_fingerprint;
|
||||||
|
config."eDP-1" = edp_config // { position = "0x0"; };
|
||||||
|
};
|
||||||
|
onlymonitor_intel = {
|
||||||
|
fingerprint = { "HDMI-1" = ext_monitor_fingerprint; };
|
||||||
|
config = { "HDMI-1" = hdmi_config; };
|
||||||
|
};
|
||||||
|
nomonitor_nvidia = {
|
||||||
|
fingerprint."eDP-1-1" = edp_fingerprint;
|
||||||
|
config."eDP-1-1" = edp_config // { position = "0x0"; };
|
||||||
|
};
|
||||||
|
onlymonitor_nvidia = {
|
||||||
|
fingerprint = { "HDMI-1-1" = ext_monitor_fingerprint; };
|
||||||
|
config = { "HDMI-1-1" = hdmi_config; };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,13 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
desktopConfig = import ./desktop_config.nix {
|
||||||
|
config = config;
|
||||||
|
pkgs = pkgs;
|
||||||
|
};
|
||||||
|
in desktopConfig // {
|
||||||
|
imports = [ ./common.nix ./autorandr/capibara.nix ];
|
||||||
|
home.file.".xinitrc".text = ''
|
||||||
|
exec ${config.home.homeDirectory}/.xsession
|
||||||
|
'';
|
||||||
|
}
|
|
@ -0,0 +1,51 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
obtoxmd = pkgs.callPackage ./obtoxmd.nix { inherit config pkgs; };
|
||||||
|
in {
|
||||||
|
imports = [ ./rofi.nix ./misc.nix ];
|
||||||
|
home = {
|
||||||
|
keyboard = {
|
||||||
|
layout = "us";
|
||||||
|
options = [ "caps:escape" ];
|
||||||
|
variant = "altgr-intl";
|
||||||
|
};
|
||||||
|
packages = [ obtoxmd pkgs.openbox ];
|
||||||
|
file = {
|
||||||
|
".xmonad/icons/3cols.xpm".source = ./icons/3cols.xpm;
|
||||||
|
".xmonad/icons/float.xpm".source = ./icons/float.xpm;
|
||||||
|
".xmonad/icons/full.xpm".source = ./icons/full.xpm;
|
||||||
|
".xmonad/icons/grid.xpm".source = ./icons/grid.xpm;
|
||||||
|
".xmonad/icons/mtall.xpm".source = ./icons/mtall.xpm;
|
||||||
|
".xmonad/icons/tabs.xpm".source = ./icons/tabs.xpm;
|
||||||
|
".xmonad/icons/tall.xpm".source = ./icons/tall.xpm;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
xsession = {
|
||||||
|
enable = true;
|
||||||
|
initExtra = ''
|
||||||
|
xset s off -dpms
|
||||||
|
${pkgs.autorandr}/bin/autorandr --change --default default
|
||||||
|
export WINIT_X11_SCALE_FACTOR=1.33
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
services.stalonetray = {
|
||||||
|
enable = true;
|
||||||
|
config = {
|
||||||
|
icon_size = 20;
|
||||||
|
background = "#282828"; # todo
|
||||||
|
sticky = true;
|
||||||
|
geometry = "3x1-350+0";
|
||||||
|
icon_gravity = "E";
|
||||||
|
grow_gravity = "E";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.zsh.loginExtra = ''
|
||||||
|
[[ -z "''${DISPLAY}" ]] && [[ "$(tty)" = "/dev/tty1" ]] && \
|
||||||
|
exec "${pkgs.xorg.xinit}/bin/startx" 1> "${config.home.homeDirectory}/.xsession-errors" 2>&1
|
||||||
|
'';
|
||||||
|
|
||||||
|
}
|
|
@ -1,294 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
gruvbox-dark = {
|
|
||||||
bg = "#282828";
|
|
||||||
bg1 = "#3c3836";
|
|
||||||
bg2 = "#504945";
|
|
||||||
|
|
||||||
fg = "#ebdbb2";
|
|
||||||
fg0 = "#fbf1c7";
|
|
||||||
fg3 = "#bdae93";
|
|
||||||
|
|
||||||
red = "#cc241d";
|
|
||||||
green = "#98971a";
|
|
||||||
yellow = "#d79921";
|
|
||||||
blue = "#458588";
|
|
||||||
purple = "#b16286";
|
|
||||||
aqua = "#689d6a";
|
|
||||||
gray = "#a89984";
|
|
||||||
|
|
||||||
gray2 = "#928374";
|
|
||||||
red-light = "#fb4934";
|
|
||||||
green-light = "#b8bb26";
|
|
||||||
yellow-light = "#fabd2f";
|
|
||||||
blue-light = "#83a598";
|
|
||||||
purple-light = "#d3869b";
|
|
||||||
aqua-light = "#8ec07c";
|
|
||||||
|
|
||||||
};
|
|
||||||
colors = {
|
|
||||||
fg = gruvbox-dark.fg;
|
|
||||||
selFg = gruvbox-dark.fg0;
|
|
||||||
bg = gruvbox-dark.bg;
|
|
||||||
sel = gruvbox-dark.blue;
|
|
||||||
inactive = gruvbox-dark.gray;
|
|
||||||
inactiveBorder = gruvbox-dark.bg2;
|
|
||||||
urgent = gruvbox-dark.red;
|
|
||||||
};
|
|
||||||
rofiTransparency = "96";
|
|
||||||
font = {
|
|
||||||
name = "Inter";
|
|
||||||
size = "10";
|
|
||||||
};
|
|
||||||
monoFont = {
|
|
||||||
name = "Hack";
|
|
||||||
size = "9";
|
|
||||||
};
|
|
||||||
hmonitors = pkgs.haskellPackages.callPackage ./hmonitors.nix {};
|
|
||||||
obtoxmd = pkgs.callPackage ./obtoxmd.nix { inherit config pkgs; };
|
|
||||||
|
|
||||||
hmonitorsQuery = "${hmonitors}/bin/hmonitors-query";
|
|
||||||
acpi = "${pkgs.acpi}/bin/acpi";
|
|
||||||
nmcli = "${pkgs.networkmanager}/bin/nmcli";
|
|
||||||
pamixer = "${pkgs.pamixer}/bin/pamixer";
|
|
||||||
|
|
||||||
in
|
|
||||||
{
|
|
||||||
imports = [ ./autorandr.nix ./rofi.nix ./misc.nix ];
|
|
||||||
home = {
|
|
||||||
keyboard = {
|
|
||||||
layout = "us";
|
|
||||||
options = ["caps:escape"];
|
|
||||||
variant = "altgr-intl";
|
|
||||||
};
|
|
||||||
packages = [hmonitors obtoxmd pkgs.acpi pkgs.pamixer pkgs.openbox];
|
|
||||||
file = {
|
|
||||||
".xinitrc".text = "exec ${config.home.homeDirectory}/.xsession";
|
|
||||||
".xmonad/icons/3cols.xpm".source = ./icons/3cols.xpm;
|
|
||||||
".xmonad/icons/float.xpm".source = ./icons/float.xpm;
|
|
||||||
".xmonad/icons/full.xpm".source = ./icons/full.xpm;
|
|
||||||
".xmonad/icons/grid.xpm".source = ./icons/grid.xpm;
|
|
||||||
".xmonad/icons/mtall.xpm".source = ./icons/mtall.xpm;
|
|
||||||
".xmonad/icons/tabs.xpm".source = ./icons/tabs.xpm;
|
|
||||||
".xmonad/icons/tall.xpm".source = ./icons/tall.xpm;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
xsession = {
|
|
||||||
enable = true;
|
|
||||||
initExtra = ''
|
|
||||||
xset s off -dpms
|
|
||||||
${pkgs.autorandr}/bin/autorandr --change --default default
|
|
||||||
export WINIT_X11_SCALE_FACTOR=1.33
|
|
||||||
'';
|
|
||||||
windowManager.xmonad = {
|
|
||||||
enable = true;
|
|
||||||
enableContribAndExtras = true;
|
|
||||||
extraPackages = haskellPackages : [
|
|
||||||
haskellPackages.monad-logger
|
|
||||||
haskellPackages.dbus
|
|
||||||
];
|
|
||||||
config = ./xmonad/xmonad.hs;
|
|
||||||
libFiles = {
|
|
||||||
"Bindings.hs" = ./xmonad/lib/Bindings.hs;
|
|
||||||
"DefaultConfig.hs" = ./xmonad/lib/DefaultConfig.hs;
|
|
||||||
"Layouts.hs" = ./xmonad/lib/Layouts.hs;
|
|
||||||
"ManageHook.hs" = ./xmonad/lib/ManageHook.hs;
|
|
||||||
"Prompts.hs" = ./xmonad/lib/Prompts.hs;
|
|
||||||
"Utils.hs" = ./xmonad/lib/Utils.hs;
|
|
||||||
"Xmobar.hs" = ./xmonad/lib/Xmobar.hs;
|
|
||||||
"HostConfig.hs" = pkgs.writeText "HostConfig.hs" ''
|
|
||||||
module HostConfig
|
|
||||||
( fontConfig
|
|
||||||
, colorConfig
|
|
||||||
, FontConfig (FontConfig)
|
|
||||||
, fontSize
|
|
||||||
, fontName
|
|
||||||
, ColorConfig (ColorConfig)
|
|
||||||
, fgColor
|
|
||||||
, selFgColor
|
|
||||||
, bgColor
|
|
||||||
, selColor
|
|
||||||
, inactiveColor
|
|
||||||
, inactiveBorderColor
|
|
||||||
, urgentColor
|
|
||||||
) where
|
|
||||||
|
|
||||||
fontConfig :: FontConfig
|
|
||||||
fontConfig = FontConfig
|
|
||||||
{ fontSize = ${font.size}
|
|
||||||
, fontName = "${font.name}"
|
|
||||||
}
|
|
||||||
|
|
||||||
colorConfig :: ColorConfig
|
|
||||||
colorConfig = ColorConfig
|
|
||||||
{ fgColor = "${colors.fg}"
|
|
||||||
, selFgColor = "${colors.selFg}"
|
|
||||||
, bgColor = "${colors.bg}"
|
|
||||||
, selColor = "${colors.sel}"
|
|
||||||
, inactiveColor = "${colors.inactive}"
|
|
||||||
, inactiveBorderColor = "${colors.inactiveBorder}"
|
|
||||||
, urgentColor = "${colors.urgent}"
|
|
||||||
}
|
|
||||||
|
|
||||||
data FontConfig = FontConfig
|
|
||||||
{ fontSize :: Int
|
|
||||||
, fontName :: String
|
|
||||||
} deriving Show
|
|
||||||
|
|
||||||
data ColorConfig = ColorConfig
|
|
||||||
{ fgColor :: String
|
|
||||||
, selFgColor :: String
|
|
||||||
, bgColor :: String
|
|
||||||
, selColor :: String
|
|
||||||
, inactiveColor :: String
|
|
||||||
, inactiveBorderColor :: String
|
|
||||||
, urgentColor :: String
|
|
||||||
} deriving Show
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.xmobar = {
|
|
||||||
enable = true;
|
|
||||||
extraConfig = ''
|
|
||||||
Config
|
|
||||||
{ font = "xft:${font.name}:style=Regular:size=${font.size}"
|
|
||||||
, additionalFonts = ["xft:mplus Nerd Font:size=12"]
|
|
||||||
, bgColor = "${colors.bg}"
|
|
||||||
, fgColor = "${colors.fg}"
|
|
||||||
, alignSep = "}{"
|
|
||||||
, sepChar = "%"
|
|
||||||
, template = "%StdinReader% }{ %vol%%bat%%net%%date%"
|
|
||||||
, lowerOnStart = True
|
|
||||||
, hideOnStart = False
|
|
||||||
, persistent = True
|
|
||||||
, allDesktops = True
|
|
||||||
, position = TopW L 100
|
|
||||||
, commands =
|
|
||||||
[ Run Com "${hmonitorsQuery}" ["date" ] "date" 10
|
|
||||||
, Run Com "${hmonitorsQuery}" ["bat", "${acpi}" ] "bat" 10
|
|
||||||
, Run Com "${hmonitorsQuery}" ["net", "${nmcli}" ] "net" 20
|
|
||||||
, Run Com "${hmonitorsQuery}" ["vol", "${pamixer}"] "vol" 5
|
|
||||||
, Run StdinReader
|
|
||||||
]
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
services.dunst = {
|
|
||||||
enable = true;
|
|
||||||
iconTheme = {
|
|
||||||
name = "Papirus-Dark";
|
|
||||||
package = pkgs.papirus-icon-theme;
|
|
||||||
};
|
|
||||||
settings = {
|
|
||||||
global = {
|
|
||||||
font = "${font.name} ${font.size}";
|
|
||||||
format = ''<b>%s</b>\n%b'';
|
|
||||||
sort = "yes";
|
|
||||||
indicate_hidden = "yes";
|
|
||||||
alignment = "left";
|
|
||||||
bounce_freq = 0;
|
|
||||||
show_age_threshold = 60;
|
|
||||||
word_wrap = "yes";
|
|
||||||
ignore_newline = "no";
|
|
||||||
geometry = "300x5-30+20";
|
|
||||||
shrink = "yes";
|
|
||||||
transparency = 0;
|
|
||||||
idle_threshold = 10;
|
|
||||||
monitor = 0;
|
|
||||||
follow = "mouse";
|
|
||||||
sticky_history = "yes";
|
|
||||||
history_length = 20;
|
|
||||||
show_indicators = "yes";
|
|
||||||
line_height = 0;
|
|
||||||
separator_height = 2;
|
|
||||||
padding = 8;
|
|
||||||
horizontal_padding = 8;
|
|
||||||
separator_color = "frame";
|
|
||||||
startup_notification = false;
|
|
||||||
dmenu = "${pkgs.rofi}/bin/rofi -dmenu -p dunst:";
|
|
||||||
browser = "${pkgs.firefox}/bin/firefox";
|
|
||||||
icon_position = "left";
|
|
||||||
frame_width = 0;
|
|
||||||
frame_color = colors.inactive;
|
|
||||||
};
|
|
||||||
shortcuts = {
|
|
||||||
close = "ctrl+space";
|
|
||||||
close_all = "ctrl+shift+space";
|
|
||||||
context = "ctrl+shift+period";
|
|
||||||
};
|
|
||||||
urgency_low = {
|
|
||||||
background = "${colors.bg}${rofiTransparency}";
|
|
||||||
foreground = colors.fg;
|
|
||||||
timeout = 10;
|
|
||||||
};
|
|
||||||
urgency_normal = {
|
|
||||||
background = "${colors.sel}${rofiTransparency}";
|
|
||||||
foreground = colors.selFg;
|
|
||||||
timeout = 10;
|
|
||||||
};
|
|
||||||
urgency_critical = {
|
|
||||||
background = "${colors.urgent}${rofiTransparency}";
|
|
||||||
foreground = colors.selFg;
|
|
||||||
timeout = 10;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services.stalonetray = {
|
|
||||||
enable = true;
|
|
||||||
config = {
|
|
||||||
icon_size = 20;
|
|
||||||
background = colors.bg;
|
|
||||||
sticky = true;
|
|
||||||
geometry = "3x1-350+0";
|
|
||||||
icon_gravity = "E";
|
|
||||||
grow_gravity = "E";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
xresources.properties = {
|
|
||||||
"Sxiv.foreground" = colors.fg;
|
|
||||||
"Sxiv.background" = colors.bg;
|
|
||||||
"Sxiv.font" = "${monoFont.name}:size=${monoFont.size}";
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.zathura = {
|
|
||||||
enable = true;
|
|
||||||
options = {
|
|
||||||
font = "${monoFont.name} ${monoFont.size}";
|
|
||||||
default-bg = colors.bg;
|
|
||||||
default-fg = gruvbox-dark.bg1;
|
|
||||||
statusbar-fg = gruvbox-dark.fg3;
|
|
||||||
statusbar-bg = gruvbox-dark.bg2;
|
|
||||||
inputbar-bg = colors.bg;
|
|
||||||
inputbar-fg = colors.sel;
|
|
||||||
notification-bg = colors.bg;
|
|
||||||
notification-fg = colors.sel;
|
|
||||||
notification-error-bg = colors.bg;
|
|
||||||
notification-error-fg = gruvbox-dark.red-light;
|
|
||||||
notification-warning-bg = colors.bg;
|
|
||||||
notification-warning-fg = gruvbox-dark.red-light;
|
|
||||||
highlight-color = gruvbox-dark.yellow-light;
|
|
||||||
highlight-active-color = gruvbox-dark.blue-light;
|
|
||||||
completion-bg = gruvbox-dark.bg1;
|
|
||||||
completion-fg = gruvbox-dark.blue-light;
|
|
||||||
completion-highlight-fg = colors.selFg;
|
|
||||||
completion-highlight-bg = gruvbox-dark.blue-light;
|
|
||||||
recolor-lightcolor = colors.bg;
|
|
||||||
recolor-darkcolor = colors.fg;
|
|
||||||
recolor = false;
|
|
||||||
recolor-keephue = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.zsh.loginExtra = ''
|
|
||||||
[[ -z "''${DISPLAY}" ]] && [[ "$(tty)" = "/dev/tty1" ]] && \
|
|
||||||
exec "${pkgs.xorg.xinit}/bin/startx" 1> "${config.home.homeDirectory}/.xsession-errors" 2>&1
|
|
||||||
'';
|
|
||||||
|
|
||||||
}
|
|
|
@ -0,0 +1,247 @@
|
||||||
|
{ config, pkgs, fontSize ? "10", monoFontSize ? "9", ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
gruvbox-dark = {
|
||||||
|
bg = "#282828";
|
||||||
|
bg1 = "#3c3836";
|
||||||
|
bg2 = "#504945";
|
||||||
|
|
||||||
|
fg = "#ebdbb2";
|
||||||
|
fg0 = "#fbf1c7";
|
||||||
|
fg3 = "#bdae93";
|
||||||
|
|
||||||
|
red = "#cc241d";
|
||||||
|
green = "#98971a";
|
||||||
|
yellow = "#d79921";
|
||||||
|
blue = "#458588";
|
||||||
|
purple = "#b16286";
|
||||||
|
aqua = "#689d6a";
|
||||||
|
gray = "#a89984";
|
||||||
|
|
||||||
|
gray2 = "#928374";
|
||||||
|
red-light = "#fb4934";
|
||||||
|
green-light = "#b8bb26";
|
||||||
|
yellow-light = "#fabd2f";
|
||||||
|
blue-light = "#83a598";
|
||||||
|
purple-light = "#d3869b";
|
||||||
|
aqua-light = "#8ec07c";
|
||||||
|
|
||||||
|
};
|
||||||
|
colors = {
|
||||||
|
fg = gruvbox-dark.fg;
|
||||||
|
selFg = gruvbox-dark.fg0;
|
||||||
|
bg = gruvbox-dark.bg;
|
||||||
|
sel = gruvbox-dark.blue;
|
||||||
|
inactive = gruvbox-dark.gray;
|
||||||
|
inactiveBorder = gruvbox-dark.bg2;
|
||||||
|
urgent = gruvbox-dark.red;
|
||||||
|
};
|
||||||
|
rofiTransparency = "96";
|
||||||
|
font = {
|
||||||
|
name = "Inter";
|
||||||
|
size = fontSize;
|
||||||
|
};
|
||||||
|
monoFont = {
|
||||||
|
name = "Hack";
|
||||||
|
size = monoFontSize;
|
||||||
|
};
|
||||||
|
|
||||||
|
hmonitors = pkgs.haskellPackages.callPackage ./hmonitors.nix { };
|
||||||
|
|
||||||
|
hmonitorsQuery = "${hmonitors}/bin/hmonitors-query";
|
||||||
|
acpi = "${pkgs.acpi}/bin/acpi";
|
||||||
|
nmcli = "${pkgs.networkmanager}/bin/nmcli";
|
||||||
|
pamixer = "${pkgs.pamixer}/bin/pamixer";
|
||||||
|
|
||||||
|
in {
|
||||||
|
xsession.windowManager.xmonad = {
|
||||||
|
enable = true;
|
||||||
|
enableContribAndExtras = true;
|
||||||
|
extraPackages = haskellPackages: [
|
||||||
|
haskellPackages.monad-logger
|
||||||
|
haskellPackages.dbus
|
||||||
|
];
|
||||||
|
config = ./xmonad/xmonad.hs;
|
||||||
|
libFiles = {
|
||||||
|
"Bindings.hs" = ./xmonad/lib/Bindings.hs;
|
||||||
|
"DefaultConfig.hs" = ./xmonad/lib/DefaultConfig.hs;
|
||||||
|
"Layouts.hs" = ./xmonad/lib/Layouts.hs;
|
||||||
|
"ManageHook.hs" = ./xmonad/lib/ManageHook.hs;
|
||||||
|
"Prompts.hs" = ./xmonad/lib/Prompts.hs;
|
||||||
|
"Utils.hs" = ./xmonad/lib/Utils.hs;
|
||||||
|
"Xmobar.hs" = ./xmonad/lib/Xmobar.hs;
|
||||||
|
"HostConfig.hs" = pkgs.writeText "HostConfig.hs" ''
|
||||||
|
module HostConfig
|
||||||
|
( fontConfig
|
||||||
|
, colorConfig
|
||||||
|
, FontConfig (FontConfig)
|
||||||
|
, fontSize
|
||||||
|
, fontName
|
||||||
|
, ColorConfig (ColorConfig)
|
||||||
|
, fgColor
|
||||||
|
, selFgColor
|
||||||
|
, bgColor
|
||||||
|
, selColor
|
||||||
|
, inactiveColor
|
||||||
|
, inactiveBorderColor
|
||||||
|
, urgentColor
|
||||||
|
) where
|
||||||
|
|
||||||
|
fontConfig :: FontConfig
|
||||||
|
fontConfig = FontConfig
|
||||||
|
{ fontSize = ${font.size}
|
||||||
|
, fontName = "${font.name}"
|
||||||
|
}
|
||||||
|
|
||||||
|
colorConfig :: ColorConfig
|
||||||
|
colorConfig = ColorConfig
|
||||||
|
{ fgColor = "${colors.fg}"
|
||||||
|
, selFgColor = "${colors.selFg}"
|
||||||
|
, bgColor = "${colors.bg}"
|
||||||
|
, selColor = "${colors.sel}"
|
||||||
|
, inactiveColor = "${colors.inactive}"
|
||||||
|
, inactiveBorderColor = "${colors.inactiveBorder}"
|
||||||
|
, urgentColor = "${colors.urgent}"
|
||||||
|
}
|
||||||
|
|
||||||
|
data FontConfig = FontConfig
|
||||||
|
{ fontSize :: Int
|
||||||
|
, fontName :: String
|
||||||
|
} deriving Show
|
||||||
|
|
||||||
|
data ColorConfig = ColorConfig
|
||||||
|
{ fgColor :: String
|
||||||
|
, selFgColor :: String
|
||||||
|
, bgColor :: String
|
||||||
|
, selColor :: String
|
||||||
|
, inactiveColor :: String
|
||||||
|
, inactiveBorderColor :: String
|
||||||
|
, urgentColor :: String
|
||||||
|
} deriving Show
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.xmobar = {
|
||||||
|
enable = true;
|
||||||
|
extraConfig = ''
|
||||||
|
Config
|
||||||
|
{ font = "xft:${font.name}:style=Regular:size=${font.size}"
|
||||||
|
, additionalFonts = ["xft:mplus Nerd Font:size=12"]
|
||||||
|
, bgColor = "${colors.bg}"
|
||||||
|
, fgColor = "${colors.fg}"
|
||||||
|
, alignSep = "}{"
|
||||||
|
, sepChar = "%"
|
||||||
|
, template = "%StdinReader% }{ %vol%%bat%%net%%date%"
|
||||||
|
, lowerOnStart = True
|
||||||
|
, hideOnStart = False
|
||||||
|
, persistent = True
|
||||||
|
, allDesktops = True
|
||||||
|
, position = TopW L 100
|
||||||
|
, commands =
|
||||||
|
[ Run Com "${hmonitorsQuery}" ["date" ] "date" 10
|
||||||
|
, Run Com "${hmonitorsQuery}" ["bat", "${acpi}" ] "bat" 10
|
||||||
|
, Run Com "${hmonitorsQuery}" ["net", "${nmcli}" ] "net" 20
|
||||||
|
, Run Com "${hmonitorsQuery}" ["vol", "${pamixer}"] "vol" 5
|
||||||
|
, Run StdinReader
|
||||||
|
]
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
services.dunst = {
|
||||||
|
enable = true;
|
||||||
|
iconTheme = {
|
||||||
|
name = "Papirus-Dark";
|
||||||
|
package = pkgs.papirus-icon-theme;
|
||||||
|
};
|
||||||
|
settings = {
|
||||||
|
global = {
|
||||||
|
font = "${font.name} ${font.size}";
|
||||||
|
format = "<b>%s</b>\\n%b";
|
||||||
|
sort = "yes";
|
||||||
|
indicate_hidden = "yes";
|
||||||
|
alignment = "left";
|
||||||
|
bounce_freq = 0;
|
||||||
|
show_age_threshold = 60;
|
||||||
|
word_wrap = "yes";
|
||||||
|
ignore_newline = "no";
|
||||||
|
geometry = "300x5-30+20";
|
||||||
|
shrink = "yes";
|
||||||
|
transparency = 0;
|
||||||
|
idle_threshold = 10;
|
||||||
|
monitor = 0;
|
||||||
|
follow = "mouse";
|
||||||
|
sticky_history = "yes";
|
||||||
|
history_length = 20;
|
||||||
|
show_indicators = "yes";
|
||||||
|
line_height = 0;
|
||||||
|
separator_height = 2;
|
||||||
|
padding = 8;
|
||||||
|
horizontal_padding = 8;
|
||||||
|
separator_color = "frame";
|
||||||
|
startup_notification = false;
|
||||||
|
dmenu = "${pkgs.rofi}/bin/rofi -dmenu -p dunst:";
|
||||||
|
browser = "${pkgs.firefox}/bin/firefox";
|
||||||
|
icon_position = "left";
|
||||||
|
frame_width = 0;
|
||||||
|
frame_color = colors.inactive;
|
||||||
|
};
|
||||||
|
shortcuts = {
|
||||||
|
close = "ctrl+space";
|
||||||
|
close_all = "ctrl+shift+space";
|
||||||
|
context = "ctrl+shift+period";
|
||||||
|
};
|
||||||
|
urgency_low = {
|
||||||
|
background = "${colors.bg}${rofiTransparency}";
|
||||||
|
foreground = colors.fg;
|
||||||
|
timeout = 10;
|
||||||
|
};
|
||||||
|
urgency_normal = {
|
||||||
|
background = "${colors.sel}${rofiTransparency}";
|
||||||
|
foreground = colors.selFg;
|
||||||
|
timeout = 10;
|
||||||
|
};
|
||||||
|
urgency_critical = {
|
||||||
|
background = "${colors.urgent}${rofiTransparency}";
|
||||||
|
foreground = colors.selFg;
|
||||||
|
timeout = 10;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
xresources.properties = {
|
||||||
|
"Sxiv.foreground" = colors.fg;
|
||||||
|
"Sxiv.background" = colors.bg;
|
||||||
|
"Sxiv.font" = "${monoFont.name}:size=${monoFont.size}";
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.zathura = {
|
||||||
|
enable = true;
|
||||||
|
options = {
|
||||||
|
font = "${monoFont.name} ${monoFont.size}";
|
||||||
|
default-bg = colors.bg;
|
||||||
|
default-fg = gruvbox-dark.bg1;
|
||||||
|
statusbar-fg = gruvbox-dark.fg3;
|
||||||
|
statusbar-bg = gruvbox-dark.bg2;
|
||||||
|
inputbar-bg = colors.bg;
|
||||||
|
inputbar-fg = colors.sel;
|
||||||
|
notification-bg = colors.bg;
|
||||||
|
notification-fg = colors.sel;
|
||||||
|
notification-error-bg = colors.bg;
|
||||||
|
notification-error-fg = gruvbox-dark.red-light;
|
||||||
|
notification-warning-bg = colors.bg;
|
||||||
|
notification-warning-fg = gruvbox-dark.red-light;
|
||||||
|
highlight-color = gruvbox-dark.yellow-light;
|
||||||
|
highlight-active-color = gruvbox-dark.blue-light;
|
||||||
|
completion-bg = gruvbox-dark.bg1;
|
||||||
|
completion-fg = gruvbox-dark.blue-light;
|
||||||
|
completion-highlight-fg = colors.selFg;
|
||||||
|
completion-highlight-bg = gruvbox-dark.blue-light;
|
||||||
|
recolor-lightcolor = colors.bg;
|
||||||
|
recolor-darkcolor = colors.fg;
|
||||||
|
recolor = false;
|
||||||
|
recolor-keephue = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,9 +1,7 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
let
|
let wallpapers = "${config.home.homeDirectory}/Images/wallpapers/enabled";
|
||||||
wallpapers = "${config.home.homeDirectory}/Images/wallpapers/enabled";
|
in {
|
||||||
in
|
|
||||||
{
|
|
||||||
services.picom = {
|
services.picom = {
|
||||||
enable = true;
|
enable = true;
|
||||||
blur = true;
|
blur = true;
|
||||||
|
@ -28,9 +26,6 @@ in
|
||||||
Type = "simple";
|
Type = "simple";
|
||||||
ExecStart = "${pkgs.xbanish}/bin/xbanish";
|
ExecStart = "${pkgs.xbanish}/bin/xbanish";
|
||||||
};
|
};
|
||||||
Install = {
|
Install = { WantedBy = [ "graphical-session.target" ]; };
|
||||||
WantedBy = [ "graphical-session.target" ];
|
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
desktopConfig = import ./desktop_config.nix {
|
||||||
|
config = config;
|
||||||
|
pkgs = pkgs;
|
||||||
|
fontSize = "12";
|
||||||
|
monoFontSize = "13";
|
||||||
|
};
|
||||||
|
in desktopConfig // {
|
||||||
|
imports = [ ./common.nix ./autorandr/trantor.nix ];
|
||||||
|
|
||||||
|
home.file.".xinitrc".text = ''
|
||||||
|
${pkgs.xorg.xrandr}/bin/xrandr --setprovideroutputsource modesetting NVIDIA-0
|
||||||
|
${pkgs.xorg.xrandr}/bin/xrandr --auto
|
||||||
|
exec ${config.home.homeDirectory}/.xsession
|
||||||
|
'';
|
||||||
|
|
||||||
|
services.picom = {
|
||||||
|
backend = "glx";
|
||||||
|
vSync = true;
|
||||||
|
extraOptions = ''
|
||||||
|
unredir-if-possible=false;
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,33 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
home.packages = [
|
||||||
|
pkgs.gruvbox-dark-gtk
|
||||||
|
pkgs.papirus-icon-theme
|
||||||
|
pkgs.lxappearance
|
||||||
|
pkgs.qt5ct
|
||||||
|
pkgs.gtk-engine-murrine
|
||||||
|
pkgs.gtk_engines
|
||||||
|
];
|
||||||
|
|
||||||
|
gtk = {
|
||||||
|
enable = true;
|
||||||
|
font = {
|
||||||
|
name = "Inter";
|
||||||
|
package = pkgs.inter;
|
||||||
|
};
|
||||||
|
theme = {
|
||||||
|
name = "gruvbox-dark";
|
||||||
|
package = pkgs.gruvbox-dark-gtk;
|
||||||
|
};
|
||||||
|
iconTheme = {
|
||||||
|
name = "Papirus-Dark";
|
||||||
|
package = pkgs.papirus-icon-theme;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
qt = {
|
||||||
|
enable = true;
|
||||||
|
platformTheme = "gtk";
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,34 +1,6 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
home.packages = [
|
imports = [ ./common.nix ];
|
||||||
pkgs.gruvbox-dark-gtk
|
gtk.font.size = 10;
|
||||||
pkgs.papirus-icon-theme
|
|
||||||
pkgs.lxappearance
|
|
||||||
pkgs.qt5ct
|
|
||||||
pkgs.gtk-engine-murrine
|
|
||||||
pkgs.gtk_engines
|
|
||||||
];
|
|
||||||
|
|
||||||
gtk = {
|
|
||||||
enable = true;
|
|
||||||
font = {
|
|
||||||
name = "Inter";
|
|
||||||
size = 10;
|
|
||||||
package = pkgs.inter;
|
|
||||||
};
|
|
||||||
theme = {
|
|
||||||
name = "gruvbox-dark";
|
|
||||||
package = pkgs.gruvbox-dark-gtk;
|
|
||||||
};
|
|
||||||
iconTheme = {
|
|
||||||
name = "Papirus-Dark";
|
|
||||||
package = pkgs.papirus-icon-theme;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
qt = {
|
|
||||||
enable = true;
|
|
||||||
platformTheme = "gtk";
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [ ./common.nix ];
|
||||||
|
gtk.font.size = 12;
|
||||||
|
}
|
|
@ -0,0 +1,160 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
impermanence = builtins.fetchTarball {
|
||||||
|
url = "https://github.com/nix-community/impermanence/archive/master.tar.gz";
|
||||||
|
};
|
||||||
|
|
||||||
|
in {
|
||||||
|
# Let Home Manager install and manage itself.
|
||||||
|
# programs.home-manager.enable = true;
|
||||||
|
|
||||||
|
# Home Manager needs a bit of information about you and the
|
||||||
|
# paths it should manage.
|
||||||
|
home.username = "rilla";
|
||||||
|
home.homeDirectory = "/home/rilla";
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
"${impermanence}/home-manager.nix"
|
||||||
|
# ./desktop-sway
|
||||||
|
./alacritty/trantor.nix
|
||||||
|
./arduino
|
||||||
|
./barrier
|
||||||
|
./browsers
|
||||||
|
./dav
|
||||||
|
./desktop-xmonad/trantor.nix
|
||||||
|
./fonts
|
||||||
|
./git
|
||||||
|
./gotify
|
||||||
|
./gpg
|
||||||
|
./idasen
|
||||||
|
./mail
|
||||||
|
./minidisc
|
||||||
|
./mpd
|
||||||
|
./msg
|
||||||
|
./music
|
||||||
|
./neovim
|
||||||
|
./pass
|
||||||
|
./rss
|
||||||
|
./snapcast
|
||||||
|
./sound
|
||||||
|
./ssh
|
||||||
|
./theming/trantor.nix
|
||||||
|
./tmux
|
||||||
|
./vitetris
|
||||||
|
./wallets
|
||||||
|
./zsh
|
||||||
|
];
|
||||||
|
|
||||||
|
home.sessionVariables = {
|
||||||
|
EDITOR = "${pkgs.neovim}/bin/nvim";
|
||||||
|
VISUAL = "${pkgs.neovim}/bin/nvim";
|
||||||
|
BROWSER = "${pkgs.firefox}/bin/firefox";
|
||||||
|
# OPENER = "todo"; # todo
|
||||||
|
TERMINAL = "${pkgs.alacritty}/bin/alacritty";
|
||||||
|
CM_LAUNCHER = "rofi"; # for clipmenu
|
||||||
|
LEDGER_FILE = "${config.home.homeDirectory}/finance/2021.journal";
|
||||||
|
QT_QPA_PLATFORMTHEME = "qt5ct";
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
R
|
||||||
|
acpi
|
||||||
|
android-tools
|
||||||
|
ansible
|
||||||
|
bind.dnsutils
|
||||||
|
calibre
|
||||||
|
docker-compose
|
||||||
|
file
|
||||||
|
gimp
|
||||||
|
gnumake
|
||||||
|
htop
|
||||||
|
jq
|
||||||
|
killall
|
||||||
|
libnotify
|
||||||
|
libreoffice
|
||||||
|
lxqt.pcmanfm-qt
|
||||||
|
mosh
|
||||||
|
mpv
|
||||||
|
neofetch
|
||||||
|
networkmanagerapplet
|
||||||
|
nextcloud-client
|
||||||
|
pandoc
|
||||||
|
pv
|
||||||
|
ripgrep
|
||||||
|
signify
|
||||||
|
sxiv
|
||||||
|
telnet
|
||||||
|
virt-manager
|
||||||
|
wget
|
||||||
|
];
|
||||||
|
|
||||||
|
services.syncthing.enable = true;
|
||||||
|
|
||||||
|
services.kdeconnect.enable = true;
|
||||||
|
|
||||||
|
programs.bat = {
|
||||||
|
enable = true;
|
||||||
|
config = { theme = "gruvbox-dark"; };
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.fzf = {
|
||||||
|
enable = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
# defaultOptions = [
|
||||||
|
# "--preview --preview 'bat --color=always --style=header,grid --line-range :300 {}'"
|
||||||
|
# ];
|
||||||
|
tmux.enableShellIntegration = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.gnome-keyring = {
|
||||||
|
enable = true;
|
||||||
|
components = [ "secrets" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
services.nextcloud-client = {
|
||||||
|
enable = true;
|
||||||
|
startInBackground = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.mimeApps = {
|
||||||
|
enable = true;
|
||||||
|
defaultApplications = {
|
||||||
|
"x-scheme-handler/http" = "firefox.desktop";
|
||||||
|
"x-scheme-handler/https" = " firefox.desktop";
|
||||||
|
"x-scheme-handler/chrome" = " firefox.desktop";
|
||||||
|
"text/html" = "firefox.desktop";
|
||||||
|
"application/x-extension-htm" = "firefox.desktop";
|
||||||
|
"application/x-extension-html" = "firefox.desktop";
|
||||||
|
"application/x-extension-shtml" = "firefox.desktop";
|
||||||
|
"application/xhtml+xml" = "firefox.desktop";
|
||||||
|
"application/x-extension-xhtml" = "firefox.desktop";
|
||||||
|
"application/x-extension-xht" = "firefox.desktop";
|
||||||
|
"x-scheme-handler/tg" = "userapp-Telegram Desktop.desktop";
|
||||||
|
};
|
||||||
|
associations.added = {
|
||||||
|
"x-scheme-handler/http" = "firefox.desktop";
|
||||||
|
"x-scheme-handler/https" = " firefox.desktop";
|
||||||
|
"x-scheme-handler/chrome" = " firefox.desktop";
|
||||||
|
"text/html" = "firefox.desktop";
|
||||||
|
"application/x-extension-htm" = "firefox.desktop";
|
||||||
|
"application/x-extension-html" = "firefox.desktop";
|
||||||
|
"application/x-extension-shtml" = "firefox.desktop";
|
||||||
|
"application/xhtml+xml" = "firefox.desktop";
|
||||||
|
"application/x-extension-xhtml" = "firefox.desktop";
|
||||||
|
"application/x-extension-xht" = "firefox.desktop";
|
||||||
|
"x-scheme-handler/tg" = "userapp-Telegram Desktop.desktop";
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
dconf.settings = {
|
||||||
|
"org/virt-manager/virt-manager/connections" = {
|
||||||
|
"autoconnect" = [ "qemu:///system" ];
|
||||||
|
"uris" = [ "qemu:///system" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home.stateVersion = "21.11";
|
||||||
|
}
|
|
@ -1,12 +1,6 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
let
|
{
|
||||||
home-manager = builtins.fetchTarball {
|
|
||||||
url = "https://github.com/nix-community/home-manager/archive/release-21.11.tar.gz";
|
|
||||||
};
|
|
||||||
in {
|
|
||||||
imports = [ "${home-manager}/nixos" ];
|
|
||||||
|
|
||||||
nixpkgs.config = {
|
nixpkgs.config = {
|
||||||
packageOverrides = pkgs: {
|
packageOverrides = pkgs: {
|
||||||
nur = import (builtins.fetchTarball
|
nur = import (builtins.fetchTarball
|
||||||
|
@ -76,6 +70,7 @@ in {
|
||||||
Option "AccelerationProfile" "0"
|
Option "AccelerationProfile" "0"
|
||||||
Option "AccelerationScheme" "predictable"
|
Option "AccelerationScheme" "predictable"
|
||||||
Option "AccelerationNumerator" "3"
|
Option "AccelerationNumerator" "3"
|
||||||
|
Option "AccelSpeed" "-0.5"
|
||||||
EndSection
|
EndSection
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
@ -170,8 +165,6 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager.users.rilla = import ../home;
|
|
||||||
|
|
||||||
# Some programs need SUID wrappers, can be configured further or are
|
# Some programs need SUID wrappers, can be configured further or are
|
||||||
# started in user sessions.
|
# started in user sessions.
|
||||||
# programs.mtr.enable = true;
|
# programs.mtr.enable = true;
|
||||||
|
@ -200,6 +193,19 @@ in {
|
||||||
};
|
};
|
||||||
programs.dconf.enable = true;
|
programs.dconf.enable = true;
|
||||||
|
|
||||||
|
services.udev.extraRules = ''
|
||||||
|
# UDEV rules for Teensy USB devices
|
||||||
|
ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||||||
|
ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789A]?", ENV{MTP_NO_PROBE}="1"
|
||||||
|
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789ABCD]?", MODE:="0666"
|
||||||
|
KERNEL=="ttyACM*", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", MODE:="0666"
|
||||||
|
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE="664", GROUP="plugdev"
|
||||||
|
'';
|
||||||
|
|
||||||
|
hardware.opengl.enable = true;
|
||||||
|
hardware.bluetooth.enable = true;
|
||||||
|
services.blueman.enable = true;
|
||||||
|
|
||||||
# Open ports in the firewall.
|
# Open ports in the firewall.
|
||||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||||
#
|
#
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "sd_mod" "rtsx_pci_sdmmc" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
||||||
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
77
trantor.nix
77
trantor.nix
|
@ -4,12 +4,24 @@
|
||||||
|
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
{
|
let
|
||||||
|
impermanence = builtins.fetchTarball {
|
||||||
|
url = "https://github.com/nix-community/impermanence/archive/master.tar.gz";
|
||||||
|
};
|
||||||
|
home-manager = builtins.fetchTarball {
|
||||||
|
url =
|
||||||
|
"https://github.com/nix-community/home-manager/archive/release-21.11.tar.gz";
|
||||||
|
};
|
||||||
|
in {
|
||||||
imports = [ # Include the results of the hardware scan.
|
imports = [ # Include the results of the hardware scan.
|
||||||
./hardware-configuration.nix
|
./nixos/hardware-configuration/trantor.nix
|
||||||
./common.nix
|
./nixos/common.nix
|
||||||
|
"${home-manager}/nixos"
|
||||||
|
"${impermanence}/nixos.nix"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
home-manager.users.rilla = import home/trantor.nix;
|
||||||
|
|
||||||
fileSystems = {
|
fileSystems = {
|
||||||
"/" = {
|
"/" = {
|
||||||
device = "/dev/mapper/cryptroot";
|
device = "/dev/mapper/cryptroot";
|
||||||
|
@ -30,15 +42,20 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
"/home" = {
|
"/home" = {
|
||||||
device = "/dev/mapper/cryptroot";
|
device = "/dev/mapper/crypthome";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
options = [ "subvol=home" "compress-force=zstd" ];
|
options = [ "subvol=home" "compress-force=zstd" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
"/boot" = {
|
"/boot/efi" = {
|
||||||
device = "/dev/mapper/cryptroot";
|
device = "/dev/disk/by-uuid/0BFA-9A66";
|
||||||
|
fsType = "vfat";
|
||||||
|
};
|
||||||
|
|
||||||
|
"/home/rilla/Maildir" = {
|
||||||
|
device = "/dev/mapper/crypthome";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
options = [ "subvol=boot" "compress-force=zstd" ];
|
options = [ "subvol=mail" "compress-force=zstd" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
"/swap" = {
|
"/swap" = {
|
||||||
|
@ -47,15 +64,40 @@
|
||||||
options = [ "subvol=swap" ];
|
options = [ "subvol=swap" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
"/boot/efi" = {
|
# "/home/rilla/music" = {
|
||||||
device = "/dev/disk/by-uuid/0BFA-9A66";
|
# device = "narwhal:/music";
|
||||||
fsType = "vfat";
|
# fsType = "nfs";
|
||||||
};
|
# options = [
|
||||||
|
# "nfsvers=4"
|
||||||
|
# "noauto"
|
||||||
|
# "x-systemd.automount"
|
||||||
|
# "x-systemd.idle-timeout=1min"
|
||||||
|
# ];
|
||||||
|
# };
|
||||||
|
|
||||||
|
# "/home/rilla/calibre" = {
|
||||||
|
# device = "narwhal:/calibre";
|
||||||
|
# fsType = "nfs";
|
||||||
|
# options = [
|
||||||
|
# "nfsvers=4"
|
||||||
|
# "noauto"
|
||||||
|
# "x-systemd.automount"
|
||||||
|
# "x-systemd.idle-timeout=1min"
|
||||||
|
# ];
|
||||||
|
# };
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [{ device = "/swap/swapfile"; }];
|
swapDevices = [{ device = "/swap/swapfile"; }];
|
||||||
|
|
||||||
|
environment.variables = {
|
||||||
|
NIXOS_CONFIG = "/home/rilla/configs/nix-config/trantor.nix";
|
||||||
|
WINT_HDPI_FACTOR = "1";
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.networkmanager.wifi.macAddress = "80:FA:5B:41:12:0F";
|
||||||
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
programs.steam.enable = true;
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
loader = {
|
loader = {
|
||||||
|
@ -68,8 +110,8 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
version = 2;
|
version = 2;
|
||||||
device = "nodev";
|
device = "nodev";
|
||||||
efiSupport = true;
|
|
||||||
enableCryptodisk = true;
|
enableCryptodisk = true;
|
||||||
|
efiSupport = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
initrd = {
|
initrd = {
|
||||||
|
@ -98,6 +140,17 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.xserver = { videoDrivers = [ "nvidia" ]; };
|
||||||
|
hardware.nvidia = {
|
||||||
|
nvidiaPersistenced = true;
|
||||||
|
modesetting.enable = true;
|
||||||
|
prime = {
|
||||||
|
sync.enable = true;
|
||||||
|
nvidiaBusId = "PCI:1:0:0";
|
||||||
|
intelBusId = "PCI:0:2:0";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
# This value determines the NixOS release from which the default
|
# This value determines the NixOS release from which the default
|
||||||
# settings for stateful data, like file locations and database versions
|
# settings for stateful data, like file locations and database versions
|
||||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||||
|
|
Loading…
Reference in New Issue