home: create 'modules/home' folder
Consolidating all modules under the same path, to clear out the top-level directory.
This commit is contained in:
parent
c856933803
commit
65a8f7c481
119 changed files with 2 additions and 2 deletions
52
modules/home/terminal/alacritty/default.nix
Normal file
52
modules/home/terminal/alacritty/default.nix
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
cfg = config.my.home.terminal;
|
||||
in
|
||||
{
|
||||
config = lib.mkIf (cfg.program == "alacritty") {
|
||||
programs.alacritty = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
font = {
|
||||
size = 5.5;
|
||||
};
|
||||
|
||||
colors = {
|
||||
primary = {
|
||||
background = cfg.colors.background;
|
||||
foreground = cfg.colors.foreground;
|
||||
|
||||
bright_foreground = cfg.colors.foregroundBold;
|
||||
};
|
||||
|
||||
cursor = {
|
||||
cursor = cfg.colors.cursor;
|
||||
};
|
||||
|
||||
normal = {
|
||||
black = cfg.colors.black;
|
||||
red = cfg.colors.red;
|
||||
green = cfg.colors.green;
|
||||
yellow = cfg.colors.yellow;
|
||||
blue = cfg.colors.blue;
|
||||
magenta = cfg.colors.magenta;
|
||||
cyan = cfg.colors.cyan;
|
||||
white = cfg.colors.white;
|
||||
};
|
||||
|
||||
bright = {
|
||||
black = cfg.colors.blackBold;
|
||||
red = cfg.colors.redBold;
|
||||
green = cfg.colors.greenBold;
|
||||
yellow = cfg.colors.yellowBold;
|
||||
blue = cfg.colors.blueBold;
|
||||
magenta = cfg.colors.magentaBold;
|
||||
cyan = cfg.colors.cyanBold;
|
||||
white = cfg.colors.whiteBold;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
62
modules/home/terminal/default.nix
Normal file
62
modules/home/terminal/default.nix
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
mkColorOption = with lib; description: default: mkOption {
|
||||
inherit description default;
|
||||
example = "#abcdef";
|
||||
type = types.strMatching "#[0-9a-f]{6}";
|
||||
};
|
||||
|
||||
cfg = config.my.home.terminal;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./alacritty
|
||||
./termite
|
||||
];
|
||||
|
||||
options.my.home = with lib; {
|
||||
terminal = {
|
||||
program = mkOption {
|
||||
type = with types; nullOr (enum [ "alacritty" "termite" ]);
|
||||
default = null;
|
||||
example = "termite";
|
||||
description = "Which terminal to use for home session";
|
||||
};
|
||||
|
||||
colors = {
|
||||
background = mkColorOption "Background color" "#161616";
|
||||
foreground = mkColorOption "Foreground color" "#ffffff";
|
||||
foregroundBold = mkColorOption "Foreground bold color" "#ffffff";
|
||||
cursor = mkColorOption "Cursor color" "#ffffff";
|
||||
|
||||
black = mkColorOption "Black" "#222222";
|
||||
blackBold = mkColorOption "Black bold" "#666666";
|
||||
|
||||
red = mkColorOption "Red" "#e84f4f";
|
||||
redBold = mkColorOption "Red bold" "#d23d3d";
|
||||
|
||||
green = mkColorOption "Green" "#b7ce42";
|
||||
greenBold = mkColorOption "Green bold" "#bde077";
|
||||
|
||||
yellow = mkColorOption "Yellow" "#fea63c";
|
||||
yellowBold = mkColorOption "Yellow bold" "#ffe863";
|
||||
|
||||
blue = mkColorOption "Blue" "#66aabb";
|
||||
blueBold = mkColorOption "Blue bold" "#aaccbb";
|
||||
|
||||
magenta = mkColorOption "Magenta" "#b7416e";
|
||||
magentaBold = mkColorOption "Magenta bold" "#e16a98";
|
||||
|
||||
cyan = mkColorOption "Cyan" "#6d878d";
|
||||
cyanBold = mkColorOption "Cyan bold" "#42717b";
|
||||
|
||||
white = mkColorOption "White" "#dddddd";
|
||||
whiteBold = mkColorOption "White bold" "#cccccc";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config.home.sessionVariables = lib.mkIf (cfg.program != null) {
|
||||
TERMINAL = cfg.program;
|
||||
};
|
||||
}
|
||||
53
modules/home/terminal/termite/default.nix
Normal file
53
modules/home/terminal/termite/default.nix
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
let
|
||||
cfg = config.my.home.terminal;
|
||||
in
|
||||
{
|
||||
config = lib.mkIf (cfg.program == "termite") {
|
||||
programs.termite = {
|
||||
enable = true;
|
||||
|
||||
# Niceties
|
||||
browser = "${pkgs.xdg-utils}/bin/xdg-open";
|
||||
clickableUrl = true;
|
||||
dynamicTitle = true;
|
||||
fullscreen = false;
|
||||
mouseAutohide = true;
|
||||
urgentOnBell = true;
|
||||
|
||||
# Look and feel
|
||||
allowBold = true;
|
||||
audibleBell = false;
|
||||
cursorBlink = "system";
|
||||
font = "Monospace 9";
|
||||
scrollbar = "off";
|
||||
|
||||
|
||||
# Colors
|
||||
backgroundColor = cfg.colors.background;
|
||||
cursorColor = cfg.colors.cursor;
|
||||
foregroundColor = cfg.colors.foreground;
|
||||
foregroundBoldColor = cfg.colors.foregroundBold;
|
||||
colorsExtra = with cfg.colors; ''
|
||||
# Normal colors
|
||||
color0 = ${black}
|
||||
color1 = ${red}
|
||||
color2 = ${green}
|
||||
color3 = ${yellow}
|
||||
color4 = ${blue}
|
||||
color5 = ${magenta}
|
||||
color6 = ${cyan}
|
||||
color7 = ${white}
|
||||
# Bold colors
|
||||
color8 = ${blackBold}
|
||||
color9 = ${redBold}
|
||||
color10 = ${greenBold}
|
||||
color11 = ${yellowBold}
|
||||
color12 = ${blueBold}
|
||||
color13 = ${magentaBold}
|
||||
color14 = ${cyanBold}
|
||||
color15 = ${whiteBold}
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue