mirror of
https://github.com/kmein/niveum
synced 2026-03-18 02:51:08 +01:00
modularize colorscheming and more
This commit is contained in:
16
configs/chromium.nix
Normal file
16
configs/chromium.nix
Normal file
@@ -0,0 +1,16 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
programs.chromium = {
|
||||
enable = true;
|
||||
extensions = [
|
||||
"gighmmpiobklfepjocnamgkkbiglidom" # AdBlock
|
||||
"hdokiejnpimakedhajhdlcegeplioahd" # LastPass
|
||||
"jldhpllghnbhlbpcmnajkpdmadaolakh" # Todoist
|
||||
"dbepggeogbaibhgnhhndojpepiihcmeb" # Vimium
|
||||
];
|
||||
};
|
||||
|
||||
environment.systemPackages = [ pkgs.chromium ];
|
||||
|
||||
niveum.applications.browser = "chromium";
|
||||
}
|
||||
@@ -1,17 +1,19 @@
|
||||
{ pkgs, lib, config, ... }:
|
||||
let
|
||||
theme = import <dot/theme.nix>;
|
||||
unstable = import <nixos-unstable> {};
|
||||
in {
|
||||
{
|
||||
imports = [
|
||||
<modules/constants.nix>
|
||||
{
|
||||
services.dbus.packages = [ pkgs.gnome3.dconf ];
|
||||
}
|
||||
<home-manager/nixos>
|
||||
<configs/sudo.nix>
|
||||
<configs/chromium.nix>
|
||||
<configs/fonts.nix>
|
||||
<configs/sncli.nix>
|
||||
<configs/bash.nix>
|
||||
<configs/cloud.nix>
|
||||
<configs/compton.nix>
|
||||
<configs/random-background.nix>
|
||||
<configs/docker.nix>
|
||||
<configs/vscode.nix>
|
||||
<configs/htop.nix>
|
||||
@@ -33,12 +35,15 @@ in {
|
||||
<configs/ssh.nix>
|
||||
<configs/unclutter.nix>
|
||||
<configs/urxvt.nix>
|
||||
<configs/todoist.nix>
|
||||
<configs/xautolock.nix>
|
||||
<configs/xresources.nix>
|
||||
<configs/hledger.nix>
|
||||
<configs/zsh.nix>
|
||||
<configs/bluetooth.nix>
|
||||
<configs/theming.nix>
|
||||
<configs/tmux.nix>
|
||||
<configs/themes/owickstrom-dark.nix>
|
||||
{
|
||||
niveum.user = {
|
||||
github = "kmein";
|
||||
@@ -47,9 +52,7 @@ in {
|
||||
};
|
||||
|
||||
niveum.applications = rec {
|
||||
terminal = "${pkgs.rxvt_unicode-with-plugins}/bin/urxvtc";
|
||||
browser = "${pkgs.chromium}/bin/chromium";
|
||||
fileManager = "${terminal} -e ${pkgs.ranger}/bin/ranger";
|
||||
fileManager = "${config.niveum.applications.terminal} -e ${pkgs.ranger}/bin/ranger";
|
||||
};
|
||||
|
||||
niveum.theme = {
|
||||
@@ -59,14 +62,13 @@ in {
|
||||
};
|
||||
}
|
||||
{
|
||||
nixpkgs.overlays = [ (import <nix-writers/pkgs>) ];
|
||||
nixpkgs.config = {
|
||||
allowUnfree = true;
|
||||
packageOverrides = pkgs: {
|
||||
autorenkalender = pkgs.callPackage <packages/autorenkalender.nix> {};
|
||||
bvg = pkgs.callPackage <packages/bvg.nix> {};
|
||||
daybook = pkgs.callPackage <packages/daybook.nix> {};
|
||||
font-size = pkgs.callPackage <packages/font-size.nix> { font = theme.terminalFont; };
|
||||
font-size = pkgs.callPackage <packages/font-size.nix> { font = config.niveum.fonts.terminal; };
|
||||
genius = pkgs.callPackage <packages/genius.nix> {};
|
||||
instaget = pkgs.callPackage <packages/instaget.nix> {};
|
||||
instaloader = pkgs.python3Packages.callPackage <packages/instaloader.nix> {};
|
||||
@@ -75,7 +77,7 @@ in {
|
||||
nix-git = pkgs.callPackage <packages/nix-git.nix> {};
|
||||
sncli = pkgs.python3Packages.callPackage <packages/sncli.nix> {};
|
||||
spotify-cli-linux = pkgs.python3Packages.callPackage <packages/spotify-cli-linux.nix> {};
|
||||
todoist = pkgs.callPackage <packages/todoist> {};
|
||||
todoist = pkgs.unstable.callPackage <packages/todoist.nix> {};
|
||||
wttr = pkgs.callPackage <packages/wttr.nix> {};
|
||||
n = pkgs.callPackage <packages/n.nix> {};
|
||||
|
||||
@@ -84,6 +86,10 @@ in {
|
||||
acronym = pkgs.callPackage <stockholm/lass/5pkgs/acronym> {};
|
||||
urban = pkgs.callPackage <stockholm/lass/5pkgs/urban> {};
|
||||
mpv-poll = pkgs.callPackage <stockholm/lass/5pkgs/mpv-poll> {};
|
||||
|
||||
unstable = import <nixos-unstable> {
|
||||
config = config.nixpkgs.config;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -95,23 +101,6 @@ in {
|
||||
{
|
||||
time.timeZone = "Europe/Berlin";
|
||||
}
|
||||
{
|
||||
security.sudo = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
Defaults pwfeedback
|
||||
'';
|
||||
};
|
||||
}
|
||||
{
|
||||
home-manager.users.me = {
|
||||
services.random-background = {
|
||||
enable = true;
|
||||
imageDirectory = toString <art>;
|
||||
interval = "2h";
|
||||
};
|
||||
};
|
||||
}
|
||||
{
|
||||
home-manager.users.me = {
|
||||
programs.zathura = {
|
||||
@@ -129,7 +118,6 @@ in {
|
||||
home = "/home/kfm";
|
||||
createHome = true;
|
||||
group = "users";
|
||||
extraGroups = [ "wheel" ];
|
||||
hashedPassword = "$6$w9hXyGFl/.IZBXk$5OiWzS1G.5hImhh1YQmZiCXYNAJhi3X6Y3uSLupJNYYXPLMsQpx2fwF4Xr2uYzGMV8Foqh8TgUavx1APD9rcb/";
|
||||
shell = pkgs.zsh;
|
||||
};
|
||||
@@ -155,7 +143,6 @@ in {
|
||||
ip = "${pkgs.iproute}/bin/ip -c";
|
||||
ns = "nix-shell --run zsh";
|
||||
nixi = ''nix repl "<nixpkgs>"'';
|
||||
grep = "grep --color=auto";
|
||||
rm = "rm -i";
|
||||
cp = "cp -i";
|
||||
mv = "mv -i";
|
||||
@@ -206,12 +193,6 @@ in {
|
||||
desktopManager.xterm.enable = false;
|
||||
};
|
||||
}
|
||||
{
|
||||
fonts = {
|
||||
enableDefaultFonts = true;
|
||||
fonts = with pkgs; [ corefonts eb-garamond fira libertine lmodern noto-fonts roboto ubuntu_font_family ];
|
||||
};
|
||||
}
|
||||
{
|
||||
security.wrappers = {
|
||||
pmount.source = "${pkgs.pmount}/bin/pmount";
|
||||
@@ -227,27 +208,12 @@ in {
|
||||
package = pkgs.openjdk;
|
||||
};
|
||||
}
|
||||
{
|
||||
home-manager.users.me = {
|
||||
programs.browserpass.enable = true;
|
||||
programs.chromium = {
|
||||
enable = true;
|
||||
extensions = [
|
||||
"gighmmpiobklfepjocnamgkkbiglidom" # AdBlock
|
||||
"hdokiejnpimakedhajhdlcegeplioahd" # LastPass
|
||||
"jldhpllghnbhlbpcmnajkpdmadaolakh" # Todoist
|
||||
"dbepggeogbaibhgnhhndojpepiihcmeb" # Vimium
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
] ++ [ # office
|
||||
libreoffice
|
||||
] ++ [ # internet
|
||||
aria2
|
||||
chromium
|
||||
firefox
|
||||
tor-browser-bundle-bin
|
||||
thunderbird
|
||||
@@ -333,8 +299,7 @@ in {
|
||||
] ++ [ # math
|
||||
bc
|
||||
] ++ [ # shell
|
||||
# todoist
|
||||
(aspellWithDicts (dict: [dict.de dict.en dict.la]))
|
||||
(aspellWithDicts (dict: [dict.de dict.en dict.la dict.en-computers dict.ru]))
|
||||
bvg
|
||||
autorenkalender
|
||||
literature-quote
|
||||
@@ -350,10 +315,7 @@ in {
|
||||
fzf
|
||||
(pass.withExtensions (ext: [ext.pass-otp]))
|
||||
qrencode
|
||||
sncli
|
||||
tmuxp
|
||||
unstable.hledger
|
||||
unstable.hledger-web
|
||||
unstable.zola
|
||||
wordnet
|
||||
xsv
|
||||
|
||||
@@ -1,15 +1,14 @@
|
||||
{ config, pkgs, ... }:
|
||||
let theme = import <dot/theme.nix>;
|
||||
in {
|
||||
with config.niveum; {
|
||||
home-manager.users.me.services.dunst = {
|
||||
enable = true;
|
||||
iconTheme = config.niveum.theme.icon;
|
||||
iconTheme = theme.icon;
|
||||
settings = {
|
||||
global = {
|
||||
transparency = 10;
|
||||
font = "${theme.terminalFont.name} ${toString theme.terminalFont.size}";
|
||||
font = "${fonts.terminal.name} ${toString fonts.terminal.size}";
|
||||
geometry = "200x5-30+20";
|
||||
frame_color = theme.invertedColorScheme.background;
|
||||
frame_color = colours.foreground;
|
||||
follow = "mouse";
|
||||
indicate_hidden = true;
|
||||
notification_height = 0;
|
||||
@@ -32,29 +31,29 @@ in {
|
||||
sticky_history = true;
|
||||
history_length = 20;
|
||||
dmenu = "${pkgs.rofi}/bin/rofi -display-run dunst -show run";
|
||||
browser = config.niveum.applications.browser;
|
||||
browser = applications.browser;
|
||||
verbosity = "mesg";
|
||||
corner_radius = 0;
|
||||
mouse_left_click = "do_action";
|
||||
mouse_right_click = "close_current";
|
||||
mouse_middle_click = "close_all";
|
||||
};
|
||||
urgency_low = {
|
||||
frame_color = theme.invertedColorScheme.background;
|
||||
background = theme.invertedColorScheme.background;
|
||||
foreground = theme.invertedColorScheme.foreground;
|
||||
urgency_low = rec {
|
||||
frame_color = background;
|
||||
background = colours.foreground;
|
||||
foreground = colours.background;
|
||||
timeout = 5;
|
||||
};
|
||||
urgency_normal = {
|
||||
frame_color = theme.invertedColorScheme.background;
|
||||
background = theme.invertedColorScheme.background;
|
||||
foreground = theme.invertedColorScheme.foreground;
|
||||
urgency_normal = rec {
|
||||
frame_color = background;
|
||||
background = colours.foreground;
|
||||
foreground = colours.background;
|
||||
timeout = 10;
|
||||
};
|
||||
urgency_critical = {
|
||||
frame_color = theme.invertedColorScheme.red.dark;
|
||||
background = theme.invertedColorScheme.red.dark;
|
||||
foreground = theme.invertedColorScheme.foreground;
|
||||
urgency_critical = rec {
|
||||
frame_color = background;
|
||||
background = colours.red.dark;
|
||||
foreground = colours.background;
|
||||
timeout = 0;
|
||||
};
|
||||
};
|
||||
|
||||
18
configs/fonts.nix
Normal file
18
configs/fonts.nix
Normal file
@@ -0,0 +1,18 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
niveum.fonts = {
|
||||
ui = {
|
||||
name = "Sans";
|
||||
size = 9;
|
||||
};
|
||||
terminal = {
|
||||
name = "Monospace";
|
||||
size = 9;
|
||||
};
|
||||
};
|
||||
|
||||
fonts = {
|
||||
enableDefaultFonts = true;
|
||||
fonts = with pkgs; [ corefonts eb-garamond fira libertine lmodern noto-fonts roboto ubuntu_font_family ];
|
||||
};
|
||||
}
|
||||
13
configs/hledger.nix
Normal file
13
configs/hledger.nix
Normal file
@@ -0,0 +1,13 @@
|
||||
{ config, ... }:
|
||||
{
|
||||
imports = [ <modules/hledger.nix> ];
|
||||
|
||||
niveum.hledger = {
|
||||
enable = true;
|
||||
server = {
|
||||
enable = true;
|
||||
user = config.users.users.me;
|
||||
capabilities = [ "view" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,14 +1,13 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
let
|
||||
theme = import <dot/theme.nix>;
|
||||
new-workspace = pkgs.writeDash "new-workspace" ''
|
||||
new-workspace = pkgs.unstable.writers.writeDash "new-workspace" ''
|
||||
i3-msg workspace $(($(i3-msg -t get_workspaces | tr , '\n' | grep '"num":' | cut -d : -f 2 | sort -rn | head -1) + 1))
|
||||
'';
|
||||
move-to-new-workspace = pkgs.writeDash "new-workspace" ''
|
||||
move-to-new-workspace = pkgs.unstable.writers.writeDash "new-workspace" ''
|
||||
i3-msg move container to workspace $(($(i3-msg -t get_workspaces | tr , '\n' | grep '"num":' | cut -d : -f 2 | sort -rn | head -1) + 1))
|
||||
'';
|
||||
wifi-interface = { scardanelli = "wlp2s0"; homeros = "wlp3s0"; }.${config.networking.hostName};
|
||||
in {
|
||||
in with config.niveum; {
|
||||
services.xserver = {
|
||||
windowManager.default = "i3";
|
||||
windowManager.i3.enable = true;
|
||||
@@ -17,7 +16,7 @@ in {
|
||||
home-manager.users.me.xsession.windowManager.i3 = {
|
||||
enable = true;
|
||||
config = rec {
|
||||
fonts = [ "${theme.uiFont.name} ${toString theme.uiFont.size}" ];
|
||||
fonts = [ "${config.niveum.fonts.ui.name} ${toString config.niveum.fonts.ui.size}" ];
|
||||
modifier = "Mod4";
|
||||
window = {
|
||||
titlebar = false;
|
||||
@@ -29,54 +28,46 @@ in {
|
||||
border = 1;
|
||||
};
|
||||
colors =
|
||||
let scheme = { background = theme.colorScheme.background; text = theme.colorScheme.foreground; };
|
||||
in {
|
||||
let scheme = { background = colours.background; text = colours.foreground; };
|
||||
in rec {
|
||||
focused = scheme // {
|
||||
border = theme.colorScheme.background;
|
||||
indicator = theme.colorScheme.background;
|
||||
childBorder = theme.colorScheme.background;
|
||||
};
|
||||
focusedInactive = scheme // {
|
||||
border = theme.colorScheme.background;
|
||||
indicator = theme.colorScheme.background;
|
||||
childBorder = theme.colorScheme.background;
|
||||
};
|
||||
unfocused = scheme // {
|
||||
border = theme.colorScheme.background;
|
||||
indicator = theme.colorScheme.background;
|
||||
childBorder = theme.colorScheme.background;
|
||||
border = colours.background;
|
||||
indicator = colours.background;
|
||||
childBorder = colours.background;
|
||||
};
|
||||
focusedInactive = focused;
|
||||
unfocused = focused;
|
||||
urgent = scheme // {
|
||||
border = theme.colorScheme.red.light;
|
||||
indicator = theme.colorScheme.red.light;
|
||||
childBorder = theme.colorScheme.red.light;
|
||||
border = colours.red.bright;
|
||||
indicator = colours.red.bright;
|
||||
childBorder = colours.red.bright;
|
||||
};
|
||||
placeholder = scheme // {
|
||||
border = theme.colorScheme.green.light;
|
||||
indicator = theme.colorScheme.green.light;
|
||||
childBorder = theme.colorScheme.green.light;
|
||||
border = colours.green.bright;
|
||||
indicator = colours.green.bright;
|
||||
childBorder = colours.green.bright;
|
||||
};
|
||||
};
|
||||
bars = [{
|
||||
workspaceButtons = false;
|
||||
fonts = [ "${theme.terminalFont.name} ${toString theme.terminalFont.size}" ];
|
||||
fonts = [ "${config.niveum.fonts.terminal.name} ${toString config.niveum.fonts.terminal.size}" ];
|
||||
mode = "hide";
|
||||
colors = {
|
||||
background = theme.colorScheme.background;
|
||||
separator = theme.colorScheme.background;
|
||||
statusline = theme.colorScheme.foreground;
|
||||
colors = rec {
|
||||
background = colours.background;
|
||||
separator = background;
|
||||
statusline = colours.foreground;
|
||||
bindingMode = {
|
||||
background = theme.colorScheme.red.light;
|
||||
border = theme.colorScheme.background;
|
||||
text = theme.colorScheme.foreground;
|
||||
background = colours.red.bright;
|
||||
border = colours.background;
|
||||
text = colours.foreground;
|
||||
};
|
||||
};
|
||||
statusCommand = "${pkgs.i3status}/bin/i3status -c ${pkgs.writeText "i3status.conf" ''
|
||||
general {
|
||||
colors = true
|
||||
color_good = "${theme.colorScheme.green.dark}"
|
||||
color_bad = "${theme.colorScheme.red.dark}"
|
||||
color_degraded = "${theme.colorScheme.black.light}"
|
||||
color_good = "${colours.green.dark}"
|
||||
color_bad = "${colours.red.dark}"
|
||||
color_degraded = "${colours.white.dark}"
|
||||
interval = 5
|
||||
separator = " "
|
||||
}
|
||||
@@ -136,7 +127,7 @@ in {
|
||||
keybindings = {
|
||||
"${modifier}+Down" = "focus down";
|
||||
"${modifier}+Left" = "focus left";
|
||||
"${modifier}+Return" = "exec ${config.niveum.applications.terminal}";
|
||||
"${modifier}+Return" = "exec ${applications.terminal}";
|
||||
"${modifier}+Right" = "focus right";
|
||||
"${modifier}+Shift+Down" = "move down";
|
||||
"${modifier}+Shift+Left" = "move left";
|
||||
@@ -161,14 +152,14 @@ in {
|
||||
"${modifier}+p" = "exec ${pkgs.rofi-pass}/bin/rofi-pass";
|
||||
"${modifier}+r" = "mode resize";
|
||||
"${modifier}+s" = "layout stacking";
|
||||
"${modifier}+t" = "exec ${config.niveum.applications.fileManager}";
|
||||
"${modifier}+t" = "exec ${applications.fileManager}";
|
||||
"${modifier}+v" = "split v";
|
||||
"${modifier}+w" = "layout tabbed";
|
||||
"${modifier}+x" = "exec --no-startup-id ${new-workspace}";
|
||||
"${modifier}+y" = "exec ${config.niveum.applications.browser}";
|
||||
"XF86AudioLowerVolume" = "exec --no-startup-id ${pkgs.pamixer}/bin/pamixer -d 5 && pkill -RTMIN+3 i3blocks";
|
||||
"XF86AudioMute" = "exec --no-startup-id ${pkgs.pamixer}/bin/pamixer -t && pkill -RTMIN+3 i3blocks";
|
||||
"XF86AudioRaiseVolume" = "exec --no-startup-id ${pkgs.pamixer}/bin/pamixer -i 5 && pkill -RTMIN+3 i3blocks";
|
||||
"${modifier}+y" = "exec ${applications.browser}";
|
||||
"XF86AudioLowerVolume" = "exec --no-startup-id ${pkgs.pamixer}/bin/pamixer -d 5";
|
||||
"XF86AudioMute" = "exec --no-startup-id ${pkgs.pamixer}/bin/pamixer -t";
|
||||
"XF86AudioRaiseVolume" = "exec --no-startup-id ${pkgs.pamixer}/bin/pamixer -i 5";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
9
configs/random-background.nix
Normal file
9
configs/random-background.nix
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
home-manager.users.me = {
|
||||
services.random-background = {
|
||||
enable = true;
|
||||
imageDirectory = toString <art>;
|
||||
interval = "2h";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,38 +1,37 @@
|
||||
{ config, ... }:
|
||||
let theme = import <dot/theme.nix>;
|
||||
in {
|
||||
with config.niveum; {
|
||||
home-manager.users.me.programs.rofi = {
|
||||
enable = true;
|
||||
separator = "solid";
|
||||
scrollbar = false;
|
||||
terminal = config.niveum.applications.terminal;
|
||||
terminal = applications.terminal;
|
||||
borderWidth = 0;
|
||||
lines = 5;
|
||||
font = "${theme.terminalFont.name} ${toString (theme.terminalFont.size + 1)}";
|
||||
font = "${fonts.terminal.name} ${toString (fonts.terminal.size + 1)}";
|
||||
colors = rec {
|
||||
window = {
|
||||
background = theme.invertedColorScheme.background;
|
||||
border = theme.invertedColorScheme.background;
|
||||
separator = theme.invertedColorScheme.black.light;
|
||||
window = rec {
|
||||
background = colours.foreground;
|
||||
border = background;
|
||||
separator = colours.black.bright;
|
||||
};
|
||||
rows = {
|
||||
normal = {
|
||||
background = window.background;
|
||||
backgroundAlt = window.background;
|
||||
foreground = theme.invertedColorScheme.foreground;
|
||||
highlight = { foreground = theme.invertedColorScheme.cyan.dark; inherit (window) background; };
|
||||
foreground = colours.background;
|
||||
highlight = { foreground = colours.cyan.dark; inherit (window) background; };
|
||||
};
|
||||
active = {
|
||||
background = window.background;
|
||||
backgroundAlt = window.background;
|
||||
foreground = theme.invertedColorScheme.yellow.dark;
|
||||
highlight = { foreground = theme.invertedColorScheme.green.dark; inherit (window) background; };
|
||||
foreground = colours.yellow.dark;
|
||||
highlight = { foreground = colours.green.dark; inherit (window) background; };
|
||||
};
|
||||
urgent = {
|
||||
background = window.background;
|
||||
backgroundAlt = window.background;
|
||||
foreground = theme.invertedColorScheme.red.dark;
|
||||
highlight = { foreground = theme.invertedColorScheme.magenta.dark; inherit (window) background; };
|
||||
foreground = colours.red.dark;
|
||||
highlight = { foreground = colours.magenta.dark; inherit (window) background; };
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
13
configs/sncli.nix
Normal file
13
configs/sncli.nix
Normal file
@@ -0,0 +1,13 @@
|
||||
{ pkgs, ... }:
|
||||
let secrets = import <dot/secrets.nix>;
|
||||
in {
|
||||
environment.systemPackages = [ pkgs.sncli ];
|
||||
|
||||
home-manager.users.me = {
|
||||
home.file.".snclirc".text = ''
|
||||
[sncli]
|
||||
cfg_sn_username = ${secrets.simplenote.username}
|
||||
cfg_sn_password = ${secrets.simplenote.password}
|
||||
'';
|
||||
};
|
||||
}
|
||||
10
configs/sudo.nix
Normal file
10
configs/sudo.nix
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
security.sudo = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
Defaults pwfeedback
|
||||
'';
|
||||
};
|
||||
|
||||
users.users.me.extraGroups = [ "wheel" ];
|
||||
}
|
||||
15
configs/themes/antares.nix
Normal file
15
configs/themes/antares.nix
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
niveum.colours = rec {
|
||||
black = { bright = "#151515"; dark = "#000000"; };
|
||||
red = { bright = "#de575c"; dark = "#de575c"; };
|
||||
yellow = { bright = "#ebe971"; dark = "#ebe971"; };
|
||||
green = { bright = "#00b853"; dark = "#00b853"; };
|
||||
blue = { bright = "#90d0f0"; dark = "#7fc6f0"; };
|
||||
magenta = { bright = "#cf9ffa"; dark = "#cf9ffa"; };
|
||||
cyan = { bright = "#4ae5e8"; dark = "#4ae5e8"; };
|
||||
white = { bright = "#ffffff"; dark = "#bbbbbb"; };
|
||||
background = black.dark;
|
||||
foreground = white.dark;
|
||||
cursor = green.bright;
|
||||
};
|
||||
}
|
||||
15
configs/themes/apprentice.nix
Normal file
15
configs/themes/apprentice.nix
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
niveum.colours = {
|
||||
black = { bright = "#444444"; dark = "#1c1c1c"; };
|
||||
red = { bright = "#ff8700"; dark = "#af5f5f"; };
|
||||
green = { bright = "#87af87"; dark = "#5f875f"; };
|
||||
yellow = { bright = "#ffffaf"; dark = "#87875f"; };
|
||||
blue = { bright = "#8fafd7"; dark = "#5f87af"; };
|
||||
magenta = { bright = "#8787af"; dark = "#5f5f87"; };
|
||||
cyan = { bright = "#5fafaf"; dark = "#5f8787"; };
|
||||
white = { bright = "#999999"; dark = "#6c6c6c"; };
|
||||
background = "#262626";
|
||||
foreground = "#bcbcbc";
|
||||
cursor = "#bcbcbc";
|
||||
};
|
||||
}
|
||||
15
configs/themes/connermcd.nix
Normal file
15
configs/themes/connermcd.nix
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
niveum.colours = rec {
|
||||
black = { bright = "#454545"; dark = "#222222"; };
|
||||
red = { bright = "#FA8072"; dark = "#B22222"; };
|
||||
green = { bright = "#779A3E"; dark = "#556B2F"; };
|
||||
yellow = { bright = "#DAA520"; dark = "#B8860B"; };
|
||||
blue = { bright = "#6495ED"; dark = "#4682B4"; };
|
||||
magenta = { bright = "#DA70D6"; dark = "#9932CC"; };
|
||||
cyan = { bright = "#B0E0E6"; dark = "#87CEEB"; };
|
||||
white = { bright = "#FFFFFF"; dark = "#C0C0C0"; };
|
||||
background = "#000000";
|
||||
foreground = "#AAAAAA";
|
||||
cursor = green.bright;
|
||||
};
|
||||
}
|
||||
15
configs/themes/mac-os.nix
Normal file
15
configs/themes/mac-os.nix
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
niveum.colours = rec {
|
||||
black = { bright = "#818383"; dark = "#000000"; };
|
||||
red = { bright = "#fc391f"; dark = "#c23621"; };
|
||||
yellow = { bright = "#eaec23"; dark = "#adad27"; };
|
||||
green = { bright = "#31e722"; dark = "#25bc24"; };
|
||||
blue = { bright = "#5833ff"; dark = "#492ee1"; };
|
||||
magenta = { bright = "#f935f8"; dark = "#d338d3"; };
|
||||
cyan = { bright = "#14f0f0"; dark = "#33bbc8"; };
|
||||
white = { bright = "#e9ebeb"; dark = "#cbcccd"; };
|
||||
background = black.dark;
|
||||
foreground = white.dark;
|
||||
cursor = green.bright;
|
||||
};
|
||||
}
|
||||
15
configs/themes/owickstrom-dark.nix
Normal file
15
configs/themes/owickstrom-dark.nix
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
niveum.colours = rec {
|
||||
black = { bright = "#4b4b4b"; dark = "#242424"; };
|
||||
red = { bright = "#fc1c18"; dark = "#d71c15"; };
|
||||
green = { bright = "#6bc219"; dark = "#5aa513"; };
|
||||
yellow = { bright = "#fec80e"; dark = "#fdb40c"; };
|
||||
blue = { bright = "#0955ff"; dark = "#063b8c"; };
|
||||
magenta = { bright = "#fb0050"; dark = "#e40038"; };
|
||||
cyan = { bright = "#3ea8fc"; dark = "#2595e1"; };
|
||||
white = { bright = "#8c00ec"; dark = "#efefef"; };
|
||||
background = "#181818";
|
||||
foreground = white.dark;
|
||||
cursor = "#bbbbbb";
|
||||
};
|
||||
}
|
||||
15
configs/themes/owickstrom.nix
Normal file
15
configs/themes/owickstrom.nix
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
niveum.colours = rec {
|
||||
black = { bright = "#282c34"; dark = "#282c34"; };
|
||||
red = { bright = "#e06c75"; dark = "#e06c75"; };
|
||||
green = { bright = "#98c379"; dark = "#98c379"; };
|
||||
yellow = { bright = "#e5c07b"; dark = "#e5c07b"; };
|
||||
blue = { bright = "#61afef"; dark = "#61afef"; };
|
||||
magenta = { bright = "#c678dd"; dark = "#c678dd"; };
|
||||
cyan = { bright = "#56b6c2"; dark = "#56b6c2"; };
|
||||
white = { bright = "#dcdfe4"; dark = "#dcdfe4"; };
|
||||
background = black.dark;
|
||||
foreground = white.bright;
|
||||
cursor = "#a3b3cc";
|
||||
};
|
||||
}
|
||||
15
configs/themes/solarized-dark.nix
Normal file
15
configs/themes/solarized-dark.nix
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
niveum.colours = rec {
|
||||
black = { dark = "#073642"; bright = "#002b36"; };
|
||||
red = { dark = "#dc322f"; bright = "#cb4b16"; };
|
||||
yellow = { dark = "#b58900"; bright = "#657b83"; };
|
||||
green = { dark = "#859900"; bright = "#586e75"; };
|
||||
blue = { dark = "#268bd2"; bright = "#839496"; };
|
||||
magenta = { dark = "#d33682"; bright = "#6c71c4"; };
|
||||
cyan = { dark = "#2aa198"; bright = "#93a1a1"; };
|
||||
white = { dark = "#eee8d5"; bright = "#fdf6e3"; };
|
||||
background = black.bright;
|
||||
foreground = blue.bright;
|
||||
cursor = cyan.bright;
|
||||
};
|
||||
}
|
||||
15
configs/themes/solarized-light.nix
Normal file
15
configs/themes/solarized-light.nix
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
niveum.colours = rec {
|
||||
black = { dark = "#073642"; bright = "#002b36"; };
|
||||
red = { dark = "#dc322f"; bright = "#cb4b16"; };
|
||||
yellow = { dark = "#b58900"; bright = "#657b83"; };
|
||||
green = { dark = "#859900"; bright = "#586e75"; };
|
||||
blue = { dark = "#268bd2"; bright = "#839496"; };
|
||||
magenta = { dark = "#d33682"; bright = "#6c71c4"; };
|
||||
cyan = { dark = "#2aa198"; bright = "#93a1a1"; };
|
||||
white = { dark = "#eee8d5"; bright = "#fdf6e3"; };
|
||||
background = white.bright;
|
||||
foreground = yellow.bright;
|
||||
cursor = green.bright;
|
||||
};
|
||||
}
|
||||
@@ -1,35 +1,34 @@
|
||||
{ lib, config, ... }:
|
||||
{
|
||||
i18n.consoleColors = with import <dot/theme.nix>; map (c: lib.strings.removePrefix "#" c) colorPalette;
|
||||
with config.niveum; {
|
||||
i18n.consoleColors = map (c: lib.strings.removePrefix "#" c) colourPalette;
|
||||
|
||||
environment.systemPackages = [
|
||||
config.niveum.theme.gtk.package
|
||||
config.niveum.theme.icon.package
|
||||
config.niveum.theme.cursor.package
|
||||
theme.gtk.package
|
||||
theme.icon.package
|
||||
theme.cursor.package
|
||||
];
|
||||
|
||||
|
||||
services.xserver.displayManager.lightdm.greeters.gtk = {
|
||||
theme = {
|
||||
name = config.niveum.theme.gtk.name;
|
||||
package = config.niveum.theme.gtk.package;
|
||||
name = theme.gtk.name;
|
||||
package = theme.gtk.package;
|
||||
};
|
||||
iconTheme = {
|
||||
name = config.niveum.theme.icon.name;
|
||||
package = config.niveum.theme.icon.package;
|
||||
name = theme.icon.name;
|
||||
package = theme.icon.package;
|
||||
};
|
||||
};
|
||||
|
||||
home-manager.users.me = {
|
||||
gtk = {
|
||||
enable = true;
|
||||
iconTheme = config.niveum.theme.icon;
|
||||
theme = config.niveum.theme.gtk;
|
||||
iconTheme = theme.icon;
|
||||
theme = theme.gtk;
|
||||
};
|
||||
qt = {
|
||||
enable = true;
|
||||
useGtkTheme = true;
|
||||
};
|
||||
xsession.pointerCursor = config.niveum.theme.cursor // { size = 16; };
|
||||
xsession.pointerCursor = theme.cursor // { size = 16; };
|
||||
};
|
||||
}
|
||||
|
||||
15
configs/todoist.nix
Normal file
15
configs/todoist.nix
Normal file
@@ -0,0 +1,15 @@
|
||||
{ pkgs, ... }:
|
||||
let secrets = import <dot/secrets.nix>;
|
||||
in {
|
||||
environment.systemPackages = [
|
||||
(pkgs.unstable.writers.writeDashBin "todoist" ''
|
||||
${pkgs.todoist}/bin/todoist --color $@
|
||||
'')
|
||||
];
|
||||
|
||||
home-manager.users.me.home.file.".todoist.config.json".text = ''
|
||||
{
|
||||
"token": "${secrets.todoist.token}"
|
||||
}
|
||||
'';
|
||||
}
|
||||
@@ -1,8 +1,9 @@
|
||||
{ pkgs, config, ... }:
|
||||
let theme = import <dot/theme.nix>;
|
||||
in {
|
||||
{
|
||||
services.urxvtd.enable = true;
|
||||
|
||||
niveum.applications.terminal = "urxvtc";
|
||||
|
||||
home-manager.users.me.programs.urxvt = {
|
||||
enable = true;
|
||||
package = pkgs.rxvt_unicode-with-plugins;
|
||||
@@ -15,7 +16,7 @@ in {
|
||||
perl-ext = "default,url-select";
|
||||
"url-select.launcher" = "/usr/bin/env chromium";
|
||||
"url-select.underline" = true;
|
||||
"colorUL" = theme.colorScheme.blue.light;
|
||||
"colorUL" = config.niveum.colours.blue.bright;
|
||||
"perl-lib" = "${pkgs.urxvt_perls}/lib/urxvt/perl";
|
||||
urlLauncher = "/usr/bin/env chromium";
|
||||
fading = 20;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
{ lib, ... }:
|
||||
let theme = import <dot/theme.nix>;
|
||||
in {
|
||||
home-manager.users.me.xresources.properties = {
|
||||
"*background" = theme.colorScheme.background;
|
||||
"*foreground" = theme.colorScheme.foreground;
|
||||
"*fadeColor" = theme.colorScheme.background;
|
||||
"*cursorColor" = theme.colorScheme.cursorColor;
|
||||
"*.font" = "xft:${theme.terminalFont.name}:size=${toString theme.terminalFont.size}";
|
||||
"*.boldFont" = "xft:${theme.terminalFont.name}:style=Bold:size=${toString theme.terminalFont.size}";
|
||||
"*.italicFont" = "xft:${theme.terminalFont.name}:style=Italic:size=${toString theme.terminalFont.size}";
|
||||
} // lib.lists.foldr (i: cs: cs // { "*color${toString i}" = builtins.elemAt theme.colorPalette i; }) {} (lib.lists.range 0 15);
|
||||
{ config, lib, ... }:
|
||||
{
|
||||
home-manager.users.me.xresources.properties = with config.niveum; {
|
||||
"*background" = colours.background;
|
||||
"*foreground" = colours.foreground;
|
||||
"*fadeColor" = colours.background;
|
||||
"*cursorColor" = colours.cursor;
|
||||
"*.font" = "xft:${fonts.terminal.name}:size=${toString fonts.terminal.size}";
|
||||
"*.boldFont" = "xft:${fonts.terminal.name}:style=Bold:size=${toString fonts.terminal.size}";
|
||||
"*.italicFont" = "xft:${fonts.terminal.name}:style=Italic:size=${toString fonts.terminal.size}";
|
||||
} // lib.lists.foldr (i: cs: cs // { "*color${toString i}" = builtins.elemAt colourPalette i; }) {} (lib.lists.range 0 15);
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
|
||||
niveum-deploy() {
|
||||
for system in "$@"; do
|
||||
eval $(nix-build ~niveum/deploy.nix -A "$system") &
|
||||
eval $(nix-build --no-out-link ~niveum/deploy.nix -A "$system") &
|
||||
done
|
||||
wait
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user