merging some changes

This commit is contained in:
Glen Goodwin 2023-09-14 23:00:03 -04:00
parent 3e16e02840
commit a0ca5540e7
14 changed files with 359 additions and 27 deletions

51
flake.lock generated
View file

@ -1,5 +1,21 @@
{ {
"nodes": { "nodes": {
"base16-schemes": {
"flake": false,
"locked": {
"lastModified": 1680729003,
"narHash": "sha256-M9LHTL24/W4oqgbYRkz0B2qpNrkefTs98pfj3MxIXnU=",
"owner": "tinted-theming",
"repo": "base16-schemes",
"rev": "dc048afa066287a719ddbab62b3e19e4b5110cf0",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-schemes",
"type": "github"
}
},
"devenv": { "devenv": {
"inputs": { "inputs": {
"flake-compat": "flake-compat", "flake-compat": "flake-compat",
@ -189,6 +205,25 @@
"type": "github" "type": "github"
} }
}, },
"nix-colors": {
"inputs": {
"base16-schemes": "base16-schemes",
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1682108218,
"narHash": "sha256-tMr7BbxualFQlN+XopS8rMMgf2XR9ZfRuwIZtjsWmfI=",
"owner": "misterio77",
"repo": "nix-colors",
"rev": "b92df8f5eb1fa20d8e09810c03c9dc0d94ef2820",
"type": "github"
},
"original": {
"owner": "misterio77",
"repo": "nix-colors",
"type": "github"
}
},
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1693663421, "lastModified": 1693663421,
@ -205,6 +240,21 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-lib": {
"locked": {
"lastModified": 1680397293,
"narHash": "sha256-wBpJ73+tJ8fZSWb4tzNbAVahC4HSo2QG3nICDy4ExBQ=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "b18d328214ca3c627d3cc3f51fd9d1397fdbcd7a",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs.lib",
"type": "github"
}
},
"nixpkgs-regression": { "nixpkgs-regression": {
"locked": { "locked": {
"lastModified": 1643052045, "lastModified": 1643052045,
@ -286,6 +336,7 @@
"devenv": "devenv", "devenv": "devenv",
"home-manager": "home-manager", "home-manager": "home-manager",
"hyprland": "hyprland", "hyprland": "hyprland",
"nix-colors": "nix-colors",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nixpkgs-unstable": "nixpkgs-unstable" "nixpkgs-unstable": "nixpkgs-unstable"
} }

View file

@ -19,10 +19,10 @@
url = "github:cachix/devenv/main"; url = "github:cachix/devenv/main";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nix-colors.url = "github:misterio77/nix-colors";
}; };
outputs = inputs @ { self, nixpkgs, home-manager, hyprland, devenv, ... }: outputs = { self, nixpkgs, home-manager, hyprland, devenv, ... }@inputs:
let let
system = "x86_64-linux"; system = "x86_64-linux";
@ -40,6 +40,7 @@
nixosConfigurations = ( nixosConfigurations = (
import ./hosts { import ./hosts {
inherit (nixpkgs) lib; inherit (nixpkgs) lib;
specialArgs = { inherit inputs; };
inherit inputs user system home-manager hyprland devenv; inherit inputs user system home-manager hyprland devenv;
} }
); );

View file

@ -58,7 +58,7 @@
environment = { environment = {
variables = { variables = {
TERMINAL = "kitty"; TERMINAL = "alacritty";
EDITOR = "nvim"; EDITOR = "nvim";
VISUAL = "nvim"; VISUAL = "nvim";
}; };

View file

@ -20,9 +20,10 @@
{ {
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = { inherit user devenv; }; home-manager.extraSpecialArgs = { inherit user devenv inputs; };
home-manager.users.${user} = { home-manager.users.${user} = {
imports = [ (import ./home.nix) ] ++ [ (import ./thinkpad/home.nix) ]; imports = [ (import ./home.nix) ] ++ [ (import ./thinkpad/home.nix) ];
}; };
} }
]; ];

View file

@ -1,4 +1,4 @@
{ config, lib, pkgs, stable, user, devenv, ... }: { config, lib, pkgs, stable, user, devenv, inputs, ... }:
{ {
imports = # Home Manager Modules imports = # Home Manager Modules
@ -6,8 +6,12 @@
[ (import ../modules/programs/wofi.nix) ] ++ [ (import ../modules/programs/wofi.nix) ] ++
[ (import ../modules/editors/nvim/home.nix) ] ++ [ (import ../modules/editors/nvim/home.nix) ] ++
[ (import ../modules/programs/devenv/home.nix) ] ++ [ (import ../modules/programs/devenv/home.nix) ] ++
[ (import ../modules/programs/kitty.nix) ] ++
[ (import ../modules/shell/tmux/home.nix) ] ++ [ (import ../modules/shell/tmux/home.nix) ] ++
[ (import ../modules/editors/lvim/home.nix) ] ++ [ (import ../modules/editors/lvim/home.nix) ] ++
[ (import ../modules/themes/home.nix) ] ++
[ (import ../modules/programs/mako.nix) ] ++
[ (import ../modules/programs/alacritty.nix) ] ++
[ (import ../modules/shell/zsh/home.nix) ]; [ (import ../modules/shell/zsh/home.nix) ];
@ -21,6 +25,7 @@
homeDirectory = "/home/${user}"; homeDirectory = "/home/${user}";
packages = with pkgs; [ packages = with pkgs; [
libnotify
jetbrains.datagrip jetbrains.datagrip
kubernetes-helm kubernetes-helm
argocd argocd

View file

@ -1,4 +1,4 @@
{ config, lib, pkgs, system, hyprland, ... }: { config, lib, pkgs, system, inputs, ... }:
let let
exec = "exec Hyprland"; exec = "exec Hyprland";
in in
@ -48,7 +48,7 @@ in
programs = { programs = {
hyprland = { hyprland = {
enable = true; enable = true;
package = hyprland.packages.${pkgs.system}.hyprland; package = inputs.hyprland.packages.${pkgs.system}.hyprland;
}; };
}; };

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { pkgs, config, ... }:
let let
hyprlandConf = '' hyprlandConf = ''
@ -16,7 +16,7 @@ let
border_size=3 border_size=3
gaps_in=5 gaps_in=5
gaps_out=7 gaps_out=7
col.active_border=rgba(33ccffee) rgba(00ff99ee) 45deg col.active_border=rgba(${config.colorScheme.colors.base05}ee) rgba(${config.colorScheme.colors.base08}ee) 45deg
col.inactive_border=0x66333333 col.inactive_border=0x66333333
layout=dwindle layout=dwindle
} }

View file

@ -0,0 +1,57 @@
{ pkgs, config, ... }:
{
programs.alacritty.enable = true;
programs.alacritty.settings = {
colors = with config.colorScheme.colors; {
bright = {
black = "0x${base03}";
blue = "0x${base0D}";
cyan = "0x${base0C}";
green = "0x${base0B}";
magenta = "0x${base0E}";
red = "0x${base08}";
white = "0x${base07}";
yellow = "0x${base0A}";
};
cursor = {
cursor = "0x${base06}";
text = "0x${base05}";
};
normal = {
black = "0x${base00}";
blue = "0x${base0D}";
cyan = "0x${base0C}";
green = "0x${base0B}";
magenta = "0x${base0E}";
red = "0x${base08}";
white = "0x${base05}";
yellow = "0x${base0A}";
};
primary = {
background = "0x${base00}";
foreground = "0x${base05}";
};
};
font = {
normal = {
family = "MonoLisa";
style = "Regular";
};
bold = {
family = "MonoLisa";
style = "Bold";
};
italic = {
family = "MonoLisa";
style = "Italic";
};
bold_italic = {
family = "MonoLisa";
style = "Bold Italic";
};
size = 14;
#bold_italic = {};
};
};
}

View file

@ -1,8 +1,8 @@
{ config, lib, pkgs, user, devenv, ... }: { { config, lib, pkgs, user, devenv, inputs, ... }: {
home.packages = with pkgs; [ home.packages = with pkgs; [
cachix cachix
devenv.packages.${system}.devenv inputs.devenv.packages.${system}.devenv
]; ];
programs.direnv.enable = true; programs.direnv.enable = true;

View file

@ -0,0 +1,77 @@
{ config, lib, pkgs, ... }:
{
home = {
packages = with pkgs; [
kitty
];
};
home.file = {
".config/kitty/kitty.conf" = {
text = ''
include ./theme.conf
font_family SauceCodePro Nerd Font
font_size 14.0
background_opacity 1.0
show_hyperlink_targets yes
allow_hyperlinks yes
#term xterm-kitty
term xterm-256color
confirm_os_window_close 0
'';
};
};
home.file = {
".config/kitty/theme.conf" = {
text = ''
# Kitty window border colors
active_border_color #${config.colorScheme.colors.base07}
inactive_border_color #${config.colorScheme.colors.base02}
bell_border_color #${config.colorScheme.colors.base0A}
# URL underline color when hovering with mouse
url_color #${config.colorScheme.colors.base06}
# Colors for marks (marked text in the terminal)
mark1_foreground #${config.colorScheme.colors.base00}
mark1_background #${config.colorScheme.colors.base07}
mark2_foreground #${config.colorScheme.colors.base00}
mark2_background #${config.colorScheme.colors.base0E}
mark3_foreground #${config.colorScheme.colors.base00}
mark3_background #${config.colorScheme.colors.base0D}
background #${config.colorScheme.colors.base00}
foreground #${config.colorScheme.colors.base05}
cursor #${config.colorScheme.colors.base06}
cursor_text_color #${config.colorScheme.colors.base00}
color0 #${config.colorScheme.colors.base03}
color1 #${config.colorScheme.colors.base08}
color2 #${config.colorScheme.colors.base0B}
color3 #${config.colorScheme.colors.base0A}
color4 #${config.colorScheme.colors.base0D}
color5 #${config.colorScheme.colors.base0F}
color6 #${config.colorScheme.colors.base0C}
color7 #${config.colorScheme.colors.base03}
color8 #${config.colorScheme.colors.base04}
color9 #${config.colorScheme.colors.base08}
color10 #${config.colorScheme.colors.base0B}
color11 #${config.colorScheme.colors.base0A}
color12 #${config.colorScheme.colors.base0D}
color13 #${config.colorScheme.colors.base0F}
color14 #${config.colorScheme.colors.base0C}
color15 #${config.colorScheme.colors.base04}
selection_foreground #${config.colorScheme.colors.base00}
selection_background #${config.colorScheme.colors.base06}
'';
};
};
}

15
modules/programs/mako.nix Normal file
View file

@ -0,0 +1,15 @@
{ pkgs, config, ... }:
{
services.mako = with config.colorScheme.colors; {
enable = true;
backgroundColor = "#${base01}";
borderColor = "#${base0E}";
borderRadius = 5;
borderSize = 2;
textColor = "#${base04}";
layer = "overlay";
};
}

View file

@ -32,11 +32,11 @@ in
hide_scroll=true hide_scroll=true
''; '';
}; };
".config/wofi/style.css" = with colors.scheme.doom; { ".config/wofi/style.css" = {
text = '' text = ''
window { window {
margin: 0px; margin: 0px;
background-color: #${bg}; background-color: #${config.colorScheme.colors.base00};
} }
#input { #input {
@ -45,10 +45,10 @@ in
padding: 4px 10px; padding: 4px 10px;
margin: 4px; margin: 4px;
border: none; border: none;
color: #dfdfdf; color: #${config.colorScheme.colors.base08};
font-weight: bold; font-weight: bold;
background-color: #${bg}; background-color: #${config.colorScheme.colors.base00};
outline: #dfdfdf; outline: #fff;
} }
#inner-box { #inner-box {
@ -61,20 +61,24 @@ in
padding: 3px; padding: 3px;
border: none; border: none;
border-radius: 10px; border-radius: 10px;
border: 3px solid #${text}; border: 3px solid #${config.colorScheme.colors.base05};
} }
#text {
color: #${config.colorScheme.colors.base09};
}
#text:selected { #text:selected {
color: #282c34; color: #${config.colorScheme.colors.base08};
background-color: transparent; background-color: transparent;
} }
#entry:selected { #entry:selected {
background-color: #${text}; background-color: #${config.colorScheme.colors.base05};
} }
''; '';
}; };
".config/wofi/power.sh" = with colors.scheme.doom; { ".config/wofi/power.sh" = {
executable = true; executable = true;
text = '' text = ''
#!/bin/sh #!/bin/sh

View file

@ -1,4 +1,4 @@
{ pkgs, config, ... }: { pkgs, config, user, ... }:
{ {
programs.tmux = { programs.tmux = {
enable = true; enable = true;
@ -6,12 +6,12 @@
plugins = with pkgs.tmuxPlugins; [ plugins = with pkgs.tmuxPlugins; [
sensible sensible
yank yank
{ # {
plugin = power-theme; # plugin = power-theme;
extraConfig = '' # extraConfig = ''
set -g @tmux_power_theme 'sky' # set -g @tmux_power_theme 'sky'
''; # '';
} # }
resurrect resurrect
continuum continuum
]; ];
@ -107,8 +107,118 @@
fzf --reverse --header jump-to-session --preview 'tmux capture-pane -pt {}' |\ fzf --reverse --header jump-to-session --preview 'tmux capture-pane -pt {}' |\
xargs tmux switch-client -t" xargs tmux switch-client -t"
# THEME
right_arrow_icon=''
left_arrow_icon=''
upload_speed_icon=''
download_speed_icon=''
session_icon=''
user_icon=''
time_icon=''
date_icon=''
time_format='%T'
date_format='%F'
# short for Theme-Colour
TC="#${config.colorScheme.colors.base09}"
G01=#080808 #232
G02=#121212 #233
G03=#1c1c1c #234
#G04=#262626 #235
G04=#${config.colorScheme.colors.base00} #235
G05=#303030 #236
#G06=#3a3a3a #237
G06=#${config.colorScheme.colors.base02} #237
G07=#444444 #238
G08=#4e4e4e #239
G09=#585858 #240
G10=#626262 #241
G11=#6c6c6c #242
G12=#767676 #243
FG="#${config.colorScheme.colors.base03}"
BG="#${config.colorScheme.colors.base00}"
# Status options
set-option -gq status-interval 1
set-option -gq status on
# Basic status bar colors
set-option -gq status-fg "$FG"
set-option -gq status-bg "$BG"
set-option -gq status-attr none
# tmux-prefix-highlight
set-option -gq @prefix_highlight_fg "$BG"
set-option -gq @prefix_highlight_bg "$FG"
set-option -gq @prefix_highlight_show_copy_mode 'on'
set-option -gq @prefix_highlight_copy_mode_attr "fg=$TC,bg=$BG,bold"
set-option -gq @prefix_highlight_output_prefix "#[fg=$TC]#[bg=$BG]$left_arrow_icon#[bg=$TC]#[fg=$BG]"
set-option -gq @prefix_highlight_output_suffix "#[fg=$TC]#[bg=$BG]$right_arrow_icon"
#     
# Left side of status bar
set-option -gq status-left-bg "$G04"
set-option -gq status-left-fg "G12"
set-option -gq status-left-length 150
user=${user}
LS="#[fg=$G04,bg=$TC,bold] $user_icon $user@#h #[fg=$TC,bg=$G06,nobold]$right_arrow_icon#[fg=$TC,bg=$G06] $session_icon #S "
LS="$LS#[fg=$G06,bg=$BG]$right_arrow_icon"
LS="$LS#{prefix_highlight}"
set-option -gq status-left "$LS"
# Right side of status bar
set-option -gq status-right-bg "$BG"
set-option -gq status-right-fg "G12"
set-option -gq status-right-length 150
RS="#[fg=$G06]$left_arrow_icon#[fg=$TC,bg=$G06] $time_icon $time_format #[fg=$TC,bg=$G06]$left_arrow_icon#[fg=$G04,bg=$TC] $date_icon $date_format "
set-option -gq status-right "$RS"
# Window status
set-option -gq window-status-format " #I:#W#F "
set-option -gq window-status-current-format "#[fg=$BG,bg=$G06]$right_arrow_icon#[fg=$TC,bold] #I:#W#F #[fg=$G06,bg=$BG,nobold]$right_arrow_icon"
# Window separator
set-option -gq window-status-separator ""
# Window status alignment
set-option -gq status-justify centre
# Current window status
set-option -gq window-status-current-statys "fg=$TC,bg=$BG"
# Pane border
set-option -gq pane-border-style "fg=$G07,bg=default"
# Active pane border
set-option -gq pane-active-border-style "fg=$TC,bg=$BG"
# Pane number indicator
set-option -gq display-panes-colour "$G07"
set-option -gq display-panes-active-colour "$TC"
# Clock mode
set-option -gq clock-mode-colour "$TC"
set-option -gq clock-mode-style 24
# Message
set-option -gq message-style "fg=$TC,bg=$BG"
# Command message
set-option -gq message-command-style "fg=$TC,bg=$BG"
# Copy mode highlight
set-option -gq mode-style "bg=$TC,fg=$FG"
# vim: set ft=tmux tw=0 nowrap:
''; '';
}; };
programs.tmate = { programs.tmate = {
enable = true; enable = true;
}; };

11
modules/themes/home.nix Normal file
View file

@ -0,0 +1,11 @@
{ pkgs, inputs, ... }:
{
imports = [ inputs.nix-colors.homeManagerModules.default ];
# choose a theme from here https://github.com/tinted-theming/base16-schemes/tree/main
#colorScheme = inputs.nix-colors.colorSchemes.gruvbox-dark-medium;
colorScheme = inputs.nix-colors.colorSchemes.everforest;
}