formatted all files with nixfmt, added env variable to hold secrets
This commit is contained in:
@@ -1,17 +1,3 @@
|
||||
{
|
||||
inputs,
|
||||
nixpkgs,
|
||||
config,
|
||||
self,
|
||||
username,
|
||||
host,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./programs
|
||||
./environment
|
||||
./scripts
|
||||
./files.nix
|
||||
];
|
||||
{ env, inputs, nixpkgs, config, self, username, host, lib, ... }: {
|
||||
imports = [ ./programs ./environment ./scripts ./files.nix ];
|
||||
}
|
||||
|
||||
@@ -1,14 +1,4 @@
|
||||
{
|
||||
host,
|
||||
nur,
|
||||
nixvim,
|
||||
self,
|
||||
inputs,
|
||||
username,
|
||||
config,
|
||||
home-manager,
|
||||
...
|
||||
}: {
|
||||
{ host, nur, nixvim, self, inputs, username, config, home-manager, ... }: {
|
||||
imports = [
|
||||
./gtk.nix
|
||||
./spicetify.nix
|
||||
|
||||
@@ -1,26 +1,22 @@
|
||||
{lib, config, pkgs, ... }: {
|
||||
{ lib, config, pkgs, ... }: {
|
||||
options = {
|
||||
movOpts.envConfig.gtkConfig.enable = lib.mkEnableOption "enable my gtk options";
|
||||
movOpts.envConfig.gtkConfig.enable =
|
||||
lib.mkEnableOption "enable my gtk options";
|
||||
};
|
||||
config = lib.mkIf config.movOpts.envConfig.gtkConfig.enable {
|
||||
fonts.fontconfig.enable = true;
|
||||
home.packages = with pkgs; [
|
||||
(nerdfonts.override {
|
||||
fonts = [
|
||||
"JetBrainsMono"
|
||||
"CascadiaCode"
|
||||
"NerdFontsSymbolsOnly"
|
||||
];
|
||||
})
|
||||
];
|
||||
home.packages = with pkgs;
|
||||
[
|
||||
(nerdfonts.override {
|
||||
fonts = [ "JetBrainsMono" "CascadiaCode" "NerdFontsSymbolsOnly" ];
|
||||
})
|
||||
];
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
iconTheme = {
|
||||
name = "Papirus-Dark";
|
||||
package = pkgs.papirus-nord.override {
|
||||
accent = "frostblue4";
|
||||
};
|
||||
package = pkgs.papirus-nord.override { accent = "frostblue4"; };
|
||||
};
|
||||
#cursorTheme = {
|
||||
# name = "Bibata-Modern-Ice";
|
||||
|
||||
@@ -68,27 +68,30 @@ in {
|
||||
"aplay ${self}/assets/sound/login.wav &"
|
||||
];
|
||||
|
||||
workspace =
|
||||
if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout == "dualmonitor") then [
|
||||
workspace = if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout
|
||||
== "dualmonitor") then [
|
||||
"1,persistent=true,monitor:${builtins.elemAt mons 0}"
|
||||
"2,persistent=true,monitor:${builtins.elemAt mons 0}"
|
||||
"3,persistent=true,monitor:${builtins.elemAt mons 0}"
|
||||
"4,persistent=true,monitor:${builtins.elemAt mons 1}"
|
||||
"5,persistent=true,monitor:${builtins.elemAt mons 1}"
|
||||
"6,persistent=true,monitor:${builtins.elemAt mons 1}"
|
||||
] else if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout == "singlemonitor") then [
|
||||
"1,persistent=true,monitor:${builtins.elemAt mons 0} "
|
||||
"2,persistent=true,monitor:${builtins.elemAt mons 0}"
|
||||
"3,persistent=true,monitor:${builtins.elemAt mons 0}"
|
||||
"4,persistent=true,monitor:${builtins.elemAt mons 0}"
|
||||
] else if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout == "trimonitor") then [
|
||||
"1,persistent=true,monitor:${builtins.elemAt mons 2}"
|
||||
"2,persistent=true,monitor:${builtins.elemAt mons 2}"
|
||||
"3,persistent=true,monitor:${builtins.elemAt mons 1}"
|
||||
"4,persistent=true,monitor:${builtins.elemAt mons 1}"
|
||||
"5,persistent=true,monitor:${builtins.elemAt mons 0}"
|
||||
"6,persistent=true,monitor:${builtins.elemAt mons 0}"
|
||||
] else [];
|
||||
] else if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout
|
||||
== "singlemonitor") then [
|
||||
"1,persistent=true,monitor:${builtins.elemAt mons 0} "
|
||||
"2,persistent=true,monitor:${builtins.elemAt mons 0}"
|
||||
"3,persistent=true,monitor:${builtins.elemAt mons 0}"
|
||||
"4,persistent=true,monitor:${builtins.elemAt mons 0}"
|
||||
] else if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout
|
||||
== "trimonitor") then [
|
||||
"1,persistent=true,monitor:${builtins.elemAt mons 2}"
|
||||
"2,persistent=true,monitor:${builtins.elemAt mons 2}"
|
||||
"3,persistent=true,monitor:${builtins.elemAt mons 1}"
|
||||
"4,persistent=true,monitor:${builtins.elemAt mons 1}"
|
||||
"5,persistent=true,monitor:${builtins.elemAt mons 0}"
|
||||
"6,persistent=true,monitor:${builtins.elemAt mons 0}"
|
||||
] else
|
||||
[ ];
|
||||
|
||||
env = [
|
||||
"XDG_CONFIG_HOME,$HOME/.config"
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
{lib, config, pkgs, inputs, ... }: let
|
||||
{ lib, config, pkgs, inputs, ... }:
|
||||
let
|
||||
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
|
||||
scheme = config.lib.stylix.colors;
|
||||
in {
|
||||
imports = [inputs.spicetify-nix.homeManagerModules.default];
|
||||
imports = [ inputs.spicetify-nix.homeManagerModules.default ];
|
||||
options = {
|
||||
movOpts.envConfig.spicetifyConfig.enable = lib.mkEnableOption "enable my spicetify options";
|
||||
movOpts.envConfig.spicetifyConfig.enable =
|
||||
lib.mkEnableOption "enable my spicetify options";
|
||||
};
|
||||
config = lib.mkIf config.movOpts.envConfig.spicetifyConfig.enable {
|
||||
nixpkgs.config.allowUnfreePredicate = pkg:
|
||||
builtins.elem (lib.getName pkg) [
|
||||
"spotify"
|
||||
];
|
||||
builtins.elem (lib.getName pkg) [ "spotify" ];
|
||||
|
||||
programs.spicetify = {
|
||||
enable = true;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{config, lib, inputs, ... }: {
|
||||
{ config, lib, inputs, ... }: {
|
||||
options = {
|
||||
movOpts.envConfig.starshipConfig.enable = lib.mkEnableOption "enables my starship configuration";
|
||||
movOpts.envConfig.starshipConfig.enable =
|
||||
lib.mkEnableOption "enables my starship configuration";
|
||||
};
|
||||
config = lib.mkIf config.movOpts.envConfig.starshipConfig.enable {
|
||||
programs.starship = {
|
||||
@@ -23,7 +24,9 @@
|
||||
format = "[$user]($style)";
|
||||
};
|
||||
directory = {
|
||||
format = "\n[$path](bold cyan)[/](bold green) ";
|
||||
format = ''
|
||||
|
||||
[$path](bold cyan)[/](bold green) '';
|
||||
style = "bold #b4befe";
|
||||
};
|
||||
|
||||
@@ -42,7 +45,9 @@
|
||||
};
|
||||
|
||||
git_branch = {
|
||||
format = "\non [$symbol$branch](bold purple)";
|
||||
format = ''
|
||||
|
||||
on [$symbol$branch](bold purple)'';
|
||||
symbol = " ";
|
||||
truncation_length = 15;
|
||||
style = "bold purple";
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{lib, self, config, pkgs, ... }:
|
||||
{ lib, self, config, pkgs, ... }:
|
||||
|
||||
let
|
||||
scheme = "tokyo-night-dark";
|
||||
wallpaper = "${self}/assets/wallpapers/dark-waves.jpg";
|
||||
in
|
||||
{
|
||||
in {
|
||||
options = {
|
||||
movOpts.envConfig.stylixHomeConfig.enable = lib.mkEnableOption "enables my stylix Home-Manager options";
|
||||
movOpts.envConfig.stylixHomeConfig.enable =
|
||||
lib.mkEnableOption "enables my stylix Home-Manager options";
|
||||
};
|
||||
config = lib.mkIf config.movOpts.envConfig.stylixHomeConfig.enable {
|
||||
stylix = {
|
||||
@@ -15,7 +15,7 @@ in
|
||||
image = wallpaper;
|
||||
polarity = "dark";
|
||||
autoEnable = true;
|
||||
opacity.terminal = 0.50;
|
||||
opacity.terminal = 0.5;
|
||||
targets = {
|
||||
waybar.enable = false;
|
||||
btop.enable = false;
|
||||
@@ -26,15 +26,15 @@ in
|
||||
};
|
||||
fonts = {
|
||||
monospace = {
|
||||
package = pkgs.nerdfonts.override {fonts = ["JetBrainsMono"];};
|
||||
package = pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; };
|
||||
name = "JetBrains Mono Nerd Font";
|
||||
};
|
||||
sansSerif = {
|
||||
package = pkgs.nerdfonts.override {fonts = ["JetBrainsMono"];};
|
||||
package = pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; };
|
||||
name = "JetBrains Mono Nerd Font";
|
||||
};
|
||||
serif = {
|
||||
package = pkgs.nerdfonts.override {fonts = ["JetBrainsMono"];};
|
||||
package = pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; };
|
||||
name = "JetBrains Mono Nerd Font";
|
||||
};
|
||||
sizes = {
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
{lib, config, pkgs, ...}: {
|
||||
{ lib, config, pkgs, ... }: {
|
||||
options = {
|
||||
movOpts.envConfig.swayncConfig.enable = lib.mkEnableOption "enables my swaync configuration";
|
||||
movOpts.envConfig.swayncConfig.enable =
|
||||
lib.mkEnableOption "enables my swaync configuration";
|
||||
};
|
||||
config = lib.mkIf config.movOpts.envConfig.swayncConfig.enable {
|
||||
home.packages = with pkgs; [swaynotificationcenter];
|
||||
home.packages = with pkgs; [ swaynotificationcenter ];
|
||||
xdg.configFile."swaync/style.css".text = ''
|
||||
@define-color shadow rgba(0, 0, 0, 0.25);
|
||||
/*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{lib, config, pkgs, self, ... }:
|
||||
{ lib, config, pkgs, self, ... }:
|
||||
|
||||
let
|
||||
extraFigletFonts = pkgs.fetchFromGitHub {
|
||||
@@ -8,7 +8,7 @@ let
|
||||
sha256 = "sha256-dAs7N66D2Fpy4/UB5Za1r2qb1iSAJR6TMmau1asxgtY=";
|
||||
};
|
||||
toilet-extrafonts = pkgs.toilet.overrideAttrs (oldAttrs: {
|
||||
buildInputs = oldAttrs.buildInputs or [] ++ [extraFigletFonts];
|
||||
buildInputs = oldAttrs.buildInputs or [ ] ++ [ extraFigletFonts ];
|
||||
|
||||
installPhase = ''
|
||||
make install PREFIX=$out
|
||||
@@ -16,36 +16,35 @@ let
|
||||
cp -r ${extraFigletFonts}/* $out/share/figlet
|
||||
'';
|
||||
});
|
||||
in
|
||||
{
|
||||
in {
|
||||
options = {
|
||||
movOpts.envConfig.userPkgs.enable = lib.mkEnableOption "enables my default user packages";
|
||||
movOpts.envConfig.userPkgs.enable =
|
||||
lib.mkEnableOption "enables my default user packages";
|
||||
};
|
||||
config = lib.mkIf config.movOpts.envConfig.userPkgs.enable {
|
||||
home.packages = with pkgs;
|
||||
[
|
||||
nemo
|
||||
gtk3
|
||||
sqlite
|
||||
gimp
|
||||
imagemagick
|
||||
vlc
|
||||
lolcat
|
||||
vesktop
|
||||
qbittorrent
|
||||
neovide
|
||||
zsh
|
||||
zsh-syntax-highlighting
|
||||
zsh-history-substring-search
|
||||
zsh-autosuggestions
|
||||
audacity
|
||||
rustup
|
||||
libreoffice
|
||||
gtrash
|
||||
ripgrep
|
||||
toilet-extrafonts
|
||||
python3
|
||||
chafa
|
||||
];
|
||||
};
|
||||
home.packages = with pkgs; [
|
||||
nemo
|
||||
gtk3
|
||||
sqlite
|
||||
gimp
|
||||
imagemagick
|
||||
vlc
|
||||
lolcat
|
||||
vesktop
|
||||
qbittorrent
|
||||
neovide
|
||||
zsh
|
||||
zsh-syntax-highlighting
|
||||
zsh-history-substring-search
|
||||
zsh-autosuggestions
|
||||
audacity
|
||||
rustup
|
||||
libreoffice
|
||||
gtrash
|
||||
ripgrep
|
||||
toilet-extrafonts
|
||||
python3
|
||||
chafa
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{pkgs, host, lib, config, ...}:
|
||||
{ pkgs, host, lib, config, ... }:
|
||||
|
||||
let
|
||||
desktop = host == "oganesson";
|
||||
@@ -13,16 +13,20 @@ let
|
||||
"6" = "六";
|
||||
};
|
||||
persistent-workspaces =
|
||||
if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout == "singlemonitor") then {
|
||||
"${builtins.elemAt monitors 0}" = [ 1 2 3 4 ];
|
||||
} else if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout == "dualmonitor") then {
|
||||
"${builtins.elemAt monitors 0}" = [ 1 2 3 ];
|
||||
"${builtins.elemAt monitors 1}" = [ 4 5 6 ];
|
||||
} else if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout == "trimonitor") then {
|
||||
"${builtins.elemAt monitors 2}" = [ 1 2 ];
|
||||
"${builtins.elemAt monitors 1}" = [ 3 4 ];
|
||||
"${builtins.elemAt monitors 0}" = [ 5 6 ];
|
||||
} else {};
|
||||
if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout
|
||||
== "singlemonitor") then {
|
||||
"${builtins.elemAt monitors 0}" = [ 1 2 3 4 ];
|
||||
} else if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout
|
||||
== "dualmonitor") then {
|
||||
"${builtins.elemAt monitors 0}" = [ 1 2 3 ];
|
||||
"${builtins.elemAt monitors 1}" = [ 4 5 6 ];
|
||||
} else if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout
|
||||
== "trimonitor") then {
|
||||
"${builtins.elemAt monitors 2}" = [ 1 2 ];
|
||||
"${builtins.elemAt monitors 1}" = [ 3 4 ];
|
||||
"${builtins.elemAt monitors 0}" = [ 5 6 ];
|
||||
} else
|
||||
{ };
|
||||
|
||||
};
|
||||
|
||||
@@ -52,14 +56,15 @@ let
|
||||
monitors = config.movOpts.envConfig.hyprlandConfig.monitorNames;
|
||||
in {
|
||||
options = {
|
||||
movOpts.envConfig.waybarConfig.enable = lib.mkEnableOption "enables my waybar configuration";
|
||||
movOpts.envConfig.waybarConfig.enable =
|
||||
lib.mkEnableOption "enables my waybar configuration";
|
||||
};
|
||||
config = {
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
package = pkgs.waybar.overrideAttrs (oa: {
|
||||
mesonFlags = (oa.mesonFlags or []) ++ ["-Dexperimental=true"];
|
||||
});
|
||||
mesonFlags = (oa.mesonFlags or [ ]) ++ [ "-Dexperimental=true" ];
|
||||
});
|
||||
settings = {
|
||||
mainBar = {
|
||||
layer = "bottom";
|
||||
@@ -68,25 +73,13 @@ in {
|
||||
name = "mainBar";
|
||||
margin-left = 8;
|
||||
margin-top = 5;
|
||||
margin-right =
|
||||
if desktop
|
||||
then 8
|
||||
else 5;
|
||||
margin-right = if desktop then 8 else 5;
|
||||
mode = "dock";
|
||||
"gtk-layer-shell" = true;
|
||||
|
||||
modules-left = [
|
||||
"hyprland/workspaces"
|
||||
"cava"
|
||||
];
|
||||
modules-center = [
|
||||
"hyprland/window"
|
||||
];
|
||||
modules-right = [
|
||||
"group/hardware"
|
||||
"clock"
|
||||
"group/powerbtns"
|
||||
];
|
||||
modules-left = [ "hyprland/workspaces" "cava" ];
|
||||
modules-center = [ "hyprland/window" ];
|
||||
modules-right = [ "group/hardware" "clock" "group/powerbtns" ];
|
||||
|
||||
"hyprland/workspaces" = workspaces;
|
||||
|
||||
@@ -107,16 +100,12 @@ in {
|
||||
waves = false;
|
||||
noise_reduction = 0.77;
|
||||
input_delay = 1;
|
||||
format-icons = ["▁" "▂" "▃" "▄" "▅" "▆" "▇" "█"];
|
||||
format-icons = [ "▁" "▂" "▃" "▄" "▅" "▆" "▇" "█" ];
|
||||
};
|
||||
|
||||
"group/hardware" = {
|
||||
orientation = "inherit";
|
||||
modules = [
|
||||
"custom/disk-icon"
|
||||
"memory"
|
||||
"cpu"
|
||||
];
|
||||
modules = [ "custom/disk-icon" "memory" "cpu" ];
|
||||
};
|
||||
|
||||
"custom/disk-icon" = {
|
||||
@@ -146,34 +135,14 @@ in {
|
||||
return-type = "json";
|
||||
rotate = 270;
|
||||
format = "{icon}";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
format-icons = [ "" "" "" "" "" "" "" "" "" ];
|
||||
};
|
||||
|
||||
memory = {
|
||||
interval = 1;
|
||||
rotate = 270;
|
||||
format = "{icon}";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
format-icons = [ "" "" "" "" "" "" "" "" "" ];
|
||||
max-length = 10;
|
||||
tooltip-format = "RAM: {used:0.1f} GB / {total:0.1f} GB";
|
||||
};
|
||||
@@ -182,17 +151,7 @@ in {
|
||||
interval = 1;
|
||||
rotate = 270;
|
||||
format = "{icon}";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
format-icons = [ "" "" "" "" "" "" "" "" "" ];
|
||||
tooltip-format = "CPU: {usage:0.1f}%";
|
||||
};
|
||||
|
||||
@@ -221,11 +180,7 @@ in {
|
||||
children-class = "power-drawer";
|
||||
transition-left-to-right = false;
|
||||
};
|
||||
modules = [
|
||||
"custom/power"
|
||||
"custom/logout"
|
||||
"custom/reboot"
|
||||
];
|
||||
modules = [ "custom/power" "custom/logout" "custom/reboot" ];
|
||||
};
|
||||
|
||||
clock = {
|
||||
@@ -234,292 +189,268 @@ in {
|
||||
};
|
||||
};
|
||||
sideBar = {
|
||||
layer = "bottom";
|
||||
output =
|
||||
if desktop
|
||||
then builtins.elemAt monitors 0
|
||||
else builtins.elemAt monitors 1;
|
||||
position = "right";
|
||||
margin-top = 8;
|
||||
margin-right = 5;
|
||||
margin-bottom = 8;
|
||||
name = "sideBar";
|
||||
mode = "dock";
|
||||
"gtk-layer-shell" = true;
|
||||
layer = "bottom";
|
||||
output = if desktop then
|
||||
builtins.elemAt monitors 0
|
||||
else
|
||||
builtins.elemAt monitors 1;
|
||||
position = "right";
|
||||
margin-top = 8;
|
||||
margin-right = 5;
|
||||
margin-bottom = 8;
|
||||
name = "sideBar";
|
||||
mode = "dock";
|
||||
"gtk-layer-shell" = true;
|
||||
|
||||
modules-left =
|
||||
if desktop
|
||||
then [
|
||||
"hyprland/workspaces"
|
||||
]
|
||||
else [
|
||||
"group/brightness"
|
||||
"battery"
|
||||
];
|
||||
modules-center = [
|
||||
];
|
||||
modules-right = [
|
||||
"network"
|
||||
"group/audio"
|
||||
];
|
||||
modules-left = if desktop then
|
||||
[ "hyprland/workspaces" ]
|
||||
else [
|
||||
"group/brightness"
|
||||
"battery"
|
||||
];
|
||||
modules-center = [ ];
|
||||
modules-right = [ "network" "group/audio" ];
|
||||
|
||||
"hyprland/workspaces" = workspaces;
|
||||
"hyprland/workspaces" = workspaces;
|
||||
|
||||
"pulseaudio/slider" = {
|
||||
orientation = "vertical";
|
||||
};
|
||||
"pulseaudio/slider" = { orientation = "vertical"; };
|
||||
|
||||
"group/audio" = {
|
||||
orientation = "vertical";
|
||||
modules = [
|
||||
"pulseaudio/slider"
|
||||
"pulseaudio"
|
||||
];
|
||||
};
|
||||
"group/audio" = {
|
||||
orientation = "vertical";
|
||||
modules = [ "pulseaudio/slider" "pulseaudio" ];
|
||||
};
|
||||
|
||||
pulseaudio = {
|
||||
format = "{icon}";
|
||||
format-muted = " ";
|
||||
format-icons = {
|
||||
default = [
|
||||
" "
|
||||
" "
|
||||
];
|
||||
};
|
||||
on-click = "pactl set-sink-mute @DEFAULT_SINK@ toggle";
|
||||
on-click-right = "hyprctl dispatch exec '[float;size 40% 55%] pavucontrol'";
|
||||
};
|
||||
pulseaudio = {
|
||||
format = "{icon}";
|
||||
format-muted = " ";
|
||||
format-icons = { default = [ " " " " ]; };
|
||||
on-click = "pactl set-sink-mute @DEFAULT_SINK@ toggle";
|
||||
on-click-right =
|
||||
"hyprctl dispatch exec '[float;size 40% 55%] pavucontrol'";
|
||||
};
|
||||
|
||||
network = {
|
||||
interval = 30;
|
||||
format-wifi = " ";
|
||||
tooltip-format-wifi = "{essid} ({signalStrength}%)";
|
||||
format-ethernet = " ";
|
||||
tooltip-format-ethernet = "{ifname}";
|
||||
format-disconnected = " ";
|
||||
tooltip-format-disconnected = "Disconnected";
|
||||
on-click = "hyprctl dispatch exec '[float;size 40% 55%] kitty nmtui'";
|
||||
};
|
||||
network = {
|
||||
interval = 30;
|
||||
format-wifi = " ";
|
||||
tooltip-format-wifi = "{essid} ({signalStrength}%)";
|
||||
format-ethernet = " ";
|
||||
tooltip-format-ethernet = "{ifname}";
|
||||
format-disconnected = " ";
|
||||
tooltip-format-disconnected = "Disconnected";
|
||||
on-click =
|
||||
"hyprctl dispatch exec '[float;size 40% 55%] kitty nmtui'";
|
||||
};
|
||||
|
||||
battery = {
|
||||
bat = "BAT1";
|
||||
interval = 1;
|
||||
tooltip-format = "{capacity}%\nTil empty: {time}";
|
||||
tooltip-format-charging = "{capacity}%\nTil full: {time}";
|
||||
format = "{icon}";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
format-charging = "";
|
||||
};
|
||||
battery = {
|
||||
bat = "BAT1";
|
||||
interval = 1;
|
||||
tooltip-format = ''
|
||||
{capacity}%
|
||||
Til empty: {time}'';
|
||||
tooltip-format-charging = ''
|
||||
{capacity}%
|
||||
Til full: {time}'';
|
||||
format = "{icon}";
|
||||
format-icons = [ "" "" "" "" "" "" "" "" "" ];
|
||||
format-charging = "";
|
||||
};
|
||||
|
||||
"group/brightness" = {
|
||||
orientation = "vertical";
|
||||
modules = [
|
||||
"backlight"
|
||||
"backlight/slider"
|
||||
];
|
||||
};
|
||||
backlight = {
|
||||
format = "";
|
||||
tooltip = "{percentage}%";
|
||||
};
|
||||
"backlight/slider" = {
|
||||
min = 10;
|
||||
max = 100;
|
||||
orientation = "vertical";
|
||||
rotate = 180;
|
||||
};
|
||||
"group/brightness" = {
|
||||
orientation = "vertical";
|
||||
modules = [ "backlight" "backlight/slider" ];
|
||||
};
|
||||
backlight = {
|
||||
format = "";
|
||||
tooltip = "{percentage}%";
|
||||
};
|
||||
"backlight/slider" = {
|
||||
min = 10;
|
||||
max = 100;
|
||||
orientation = "vertical";
|
||||
rotate = 180;
|
||||
};
|
||||
};
|
||||
};
|
||||
style = ''
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
font-size: 16px;
|
||||
font-family: "JetBrains Mono Nerd Font";
|
||||
}
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
font-size: 16px;
|
||||
font-family: "JetBrains Mono Nerd Font";
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
border-radius: 10px;
|
||||
border: 3px solid #${fg.light};
|
||||
background: rgba(23,29,35,0.50);
|
||||
margin: 20px;
|
||||
}
|
||||
window#waybar.empty #window {
|
||||
background: none;
|
||||
border: none;
|
||||
}
|
||||
window#waybar {
|
||||
border-radius: 10px;
|
||||
border: 3px solid #${fg.light};
|
||||
background: rgba(23,29,35,0.50);
|
||||
margin: 20px;
|
||||
}
|
||||
window#waybar.empty #window {
|
||||
background: none;
|
||||
border: none;
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
margin: 3px;
|
||||
background: #${bg.darker};
|
||||
border: 3px solid #${bg.dark};
|
||||
border-radius: 8px;
|
||||
}
|
||||
#workspaces {
|
||||
margin: 3px;
|
||||
background: #${bg.darker};
|
||||
border: 3px solid #${bg.dark};
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
border-radius: 8px;
|
||||
}
|
||||
#workspaces button:hover {
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
background: #${fg.lightester};
|
||||
border-radius: 8px;
|
||||
color: #${bg.darkest};
|
||||
}
|
||||
#workspaces button.active {
|
||||
background: #${fg.lightester};
|
||||
border-radius: 8px;
|
||||
color: #${bg.darkest};
|
||||
}
|
||||
|
||||
#cava {
|
||||
background: #${bg.darker};
|
||||
border-radius: 8px;
|
||||
border: 3px solid #${bg.dark};
|
||||
margin: 3px 3px 3px 6px;
|
||||
padding: 0px 15px 0px 15px;
|
||||
color: #${colors.color6};
|
||||
}
|
||||
#cava {
|
||||
background: #${bg.darker};
|
||||
border-radius: 8px;
|
||||
border: 3px solid #${bg.dark};
|
||||
margin: 3px 3px 3px 6px;
|
||||
padding: 0px 15px 0px 15px;
|
||||
color: #${colors.color6};
|
||||
}
|
||||
|
||||
#window {
|
||||
margin: 3px;
|
||||
background: #${bg.darker};
|
||||
border-radius: 8px;
|
||||
border: 3px solid #${bg.dark};
|
||||
padding: 0 15px 0 15px;
|
||||
font-weight: bold;
|
||||
}
|
||||
#window {
|
||||
margin: 3px;
|
||||
background: #${bg.darker};
|
||||
border-radius: 8px;
|
||||
border: 3px solid #${bg.dark};
|
||||
padding: 0 15px 0 15px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#hardware {
|
||||
margin: 3px;
|
||||
padding: 0 10px 0 10px;
|
||||
background: #${bg.darker};
|
||||
border-radius: 8px;
|
||||
border: 3px solid #${bg.dark};
|
||||
}
|
||||
#hardware {
|
||||
margin: 3px;
|
||||
padding: 0 10px 0 10px;
|
||||
background: #${bg.darker};
|
||||
border-radius: 8px;
|
||||
border: 3px solid #${bg.dark};
|
||||
}
|
||||
|
||||
#custom-disk-icon, #cpu, #memory {
|
||||
margin-bottom: 4px;
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
}
|
||||
#custom-disk-icon, #cpu, #memory {
|
||||
margin-bottom: 4px;
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#custom-disk-icon {
|
||||
color: #${colors.color4};
|
||||
}
|
||||
#custom-disk-icon {
|
||||
color: #${colors.color4};
|
||||
}
|
||||
|
||||
#memory {
|
||||
color: #${colors.color1};
|
||||
}
|
||||
#memory {
|
||||
color: #${colors.color1};
|
||||
}
|
||||
|
||||
#cpu {
|
||||
color: #${colors.color3};
|
||||
}
|
||||
#cpu {
|
||||
color: #${colors.color3};
|
||||
}
|
||||
|
||||
#clock {
|
||||
font-weight: bold;
|
||||
background: #${bg.darker};
|
||||
border-radius: 8px;
|
||||
border: 3px solid #${bg.dark};
|
||||
margin: 3px;
|
||||
padding: 0 10px 0 10px;
|
||||
font-size: 18px;
|
||||
}
|
||||
#clock {
|
||||
font-weight: bold;
|
||||
background: #${bg.darker};
|
||||
border-radius: 8px;
|
||||
border: 3px solid #${bg.dark};
|
||||
margin: 3px;
|
||||
padding: 0 10px 0 10px;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
#powerbtns {
|
||||
background: #${bg.darker};
|
||||
border-radius: 8px;
|
||||
border: 3px solid #${bg.dark};
|
||||
margin: 3px;
|
||||
padding: 0 5px 0 10px;
|
||||
}
|
||||
#powerbtns {
|
||||
background: #${bg.darker};
|
||||
border-radius: 8px;
|
||||
border: 3px solid #${bg.dark};
|
||||
margin: 3px;
|
||||
padding: 0 5px 0 10px;
|
||||
}
|
||||
|
||||
#custom-power {
|
||||
color: #${colors.color2};
|
||||
font-size: 18px;
|
||||
}
|
||||
#custom-power {
|
||||
color: #${colors.color2};
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
#custom-logout {
|
||||
color: #${colors.color4};
|
||||
font-size: 18px;
|
||||
}
|
||||
#custom-logout {
|
||||
color: #${colors.color4};
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
#custom-reboot {
|
||||
color: #${colors.color0};
|
||||
font-size: 18px;
|
||||
}
|
||||
#custom-reboot {
|
||||
color: #${colors.color0};
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
#audio {
|
||||
background: #${bg.darker};
|
||||
border-radius: 8px;
|
||||
border: 3px solid #${bg.dark};
|
||||
margin: 3px;
|
||||
padding: 5px 0 10px 0;
|
||||
}
|
||||
#audio {
|
||||
background: #${bg.darker};
|
||||
border-radius: 8px;
|
||||
border: 3px solid #${bg.dark};
|
||||
margin: 3px;
|
||||
padding: 5px 0 10px 0;
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
color: #${colors.color1};
|
||||
font-size: 18px;
|
||||
}
|
||||
#pulseaudio {
|
||||
color: #${colors.color1};
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
#backlight-slider slider,
|
||||
#pulseaudio-slider slider {
|
||||
background: #${colors.color4};
|
||||
background-color: transparent;
|
||||
box-shadow: none;
|
||||
}
|
||||
#backlight-slider slider,
|
||||
#pulseaudio-slider slider {
|
||||
background: #${colors.color4};
|
||||
background-color: transparent;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
#backlight-slider trough,
|
||||
#pulseaudio-slider trough {
|
||||
min-width: 9px;
|
||||
min-height: 90px;
|
||||
border-radius: 8px;
|
||||
background: #121212;
|
||||
}
|
||||
#backlight-slider trough,
|
||||
#pulseaudio-slider trough {
|
||||
min-width: 9px;
|
||||
min-height: 90px;
|
||||
border-radius: 8px;
|
||||
background: #121212;
|
||||
}
|
||||
|
||||
#backlight-slider highlight,
|
||||
#pulseaudio-slider highlight {
|
||||
border-radius: 8px;
|
||||
background-color: #${colors.color4};
|
||||
}
|
||||
#backlight-slider highlight,
|
||||
#pulseaudio-slider highlight {
|
||||
border-radius: 8px;
|
||||
background-color: #${colors.color4};
|
||||
}
|
||||
|
||||
#network {
|
||||
color: #${colors.color1};
|
||||
font-size: 20px;
|
||||
background: #${bg.darker};
|
||||
border-radius: 8px;
|
||||
border: 3px solid #${bg.dark};
|
||||
margin: 3px;
|
||||
padding: 5px 0 5px 6px;
|
||||
}
|
||||
#network {
|
||||
color: #${colors.color1};
|
||||
font-size: 20px;
|
||||
background: #${bg.darker};
|
||||
border-radius: 8px;
|
||||
border: 3px solid #${bg.dark};
|
||||
margin: 3px;
|
||||
padding: 5px 0 5px 6px;
|
||||
}
|
||||
|
||||
#brightness {
|
||||
background: #${bg.darker};
|
||||
border-radius: 8px;
|
||||
border: 3px solid #${bg.dark};
|
||||
margin: 3px;
|
||||
padding: 10px 0px 5px 0;
|
||||
}
|
||||
#brightness {
|
||||
background: #${bg.darker};
|
||||
border-radius: 8px;
|
||||
border: 3px solid #${bg.dark};
|
||||
margin: 3px;
|
||||
padding: 10px 0px 5px 0;
|
||||
}
|
||||
|
||||
#backlight {
|
||||
color: #${colors.color4};
|
||||
font-size: 18px;
|
||||
padding: 0 4px 0 0;
|
||||
}
|
||||
#backlight {
|
||||
color: #${colors.color4};
|
||||
font-size: 18px;
|
||||
padding: 0 4px 0 0;
|
||||
}
|
||||
|
||||
#battery {
|
||||
color: #${colors.color4};
|
||||
font-size: 20px;
|
||||
background: #${bg.darker};
|
||||
border: 3px solid #${bg.dark};
|
||||
border-radius: 8px;
|
||||
margin: 3px;
|
||||
padding: 5px 0 5px 0px;
|
||||
}
|
||||
#battery {
|
||||
color: #${colors.color4};
|
||||
font-size: 20px;
|
||||
background: #${bg.darker};
|
||||
border: 3px solid #${bg.dark};
|
||||
border-radius: 8px;
|
||||
margin: 3px;
|
||||
padding: 5px 0 5px 0px;
|
||||
}
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{lib, config, self, ...}: {
|
||||
{ lib, config, self, ... }: {
|
||||
options = {
|
||||
movOpts.envConfig.zshConfig.enable = lib.mkEnableOption "enables my zsh configuration";
|
||||
movOpts.envConfig.zshConfig.enable =
|
||||
lib.mkEnableOption "enables my zsh configuration";
|
||||
};
|
||||
config = lib.mkIf config.movOpts.envConfig.zshConfig.enable {
|
||||
programs.zoxide = {
|
||||
@@ -28,7 +29,8 @@
|
||||
svc = "sudo systemctl";
|
||||
viflake = "nvim flake.nix";
|
||||
iv = "invoke";
|
||||
cfgfilecount = "find $FLAKEPATH -name \"*.nix\" | wc -l | toilet -f 3d | lolcat";
|
||||
cfgfilecount =
|
||||
''find $FLAKEPATH -name "*.nix" | wc -l | toilet -f 3d | lolcat'';
|
||||
|
||||
#git
|
||||
"ga" = "playshellsound ${self}/assets/sound/gitadd.wav; git add";
|
||||
@@ -52,7 +54,7 @@
|
||||
|
||||
oh-my-zsh = {
|
||||
enable = true;
|
||||
plugins = ["git" "fzf"];
|
||||
plugins = [ "git" "fzf" ];
|
||||
};
|
||||
|
||||
enableCompletion = true;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{pkgs, lib, self, config, ... }:
|
||||
{ pkgs, lib, self, config, ... }:
|
||||
|
||||
# This folder is for programs that do not have existing configuration modules in NixOS.
|
||||
# Basically a to-do list for stuff I need to write my own modules for.
|
||||
@@ -10,25 +10,25 @@ let
|
||||
scheme_path = "${pkgs.base16-schemes}/share/themes/${ssh_base16}.yaml";
|
||||
scheme_string = builtins.readFile scheme_path;
|
||||
scheme_list = lib.splitString "\n" "${scheme_string}";
|
||||
colors = lib.filter (line: builtins.match "^ *base[0-9A-F]{2}: .*" line != null) scheme_list;
|
||||
ssh_scheme =
|
||||
lib.lists.foldl' (
|
||||
acc: line: let
|
||||
splitLine = lib.splitString ": " line;
|
||||
key = builtins.elemAt splitLine 0;
|
||||
value = builtins.elemAt splitLine 1;
|
||||
trimmedKey = lib.trim key;
|
||||
cleanValue_step1 = lib.splitString " " value;
|
||||
cleanValue_step2 = builtins.elemAt cleanValue_step1 0;
|
||||
cleanValue_final = builtins.substring 1 (builtins.stringLength cleanValue_step2 - 2) cleanValue_step2;
|
||||
in
|
||||
acc // {"${trimmedKey}" = cleanValue_final;}
|
||||
) {}
|
||||
colors;
|
||||
in
|
||||
{
|
||||
colors =
|
||||
lib.filter (line: builtins.match "^ *base[0-9A-F]{2}: .*" line != null)
|
||||
scheme_list;
|
||||
ssh_scheme = lib.lists.foldl' (acc: line:
|
||||
let
|
||||
splitLine = lib.splitString ": " line;
|
||||
key = builtins.elemAt splitLine 0;
|
||||
value = builtins.elemAt splitLine 1;
|
||||
trimmedKey = lib.trim key;
|
||||
cleanValue_step1 = lib.splitString " " value;
|
||||
cleanValue_step2 = builtins.elemAt cleanValue_step1 0;
|
||||
cleanValue_final =
|
||||
builtins.substring 1 (builtins.stringLength cleanValue_step2 - 2)
|
||||
cleanValue_step2;
|
||||
in acc // { "${trimmedKey}" = cleanValue_final; }) { } colors;
|
||||
in {
|
||||
options = {
|
||||
movOpts.homeFiles.enable = lib.mkEnableOption "enables declared custom files";
|
||||
movOpts.homeFiles.enable =
|
||||
lib.mkEnableOption "enables declared custom files";
|
||||
};
|
||||
config = {
|
||||
home.file = {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{lib, config, ...}: {
|
||||
{ lib, config, ... }: {
|
||||
options = {
|
||||
movOpts.programConfigs.autojumpConfig.enable = lib.mkEnableOption "enables my autojump options";
|
||||
movOpts.programConfigs.autojumpConfig.enable =
|
||||
lib.mkEnableOption "enables my autojump options";
|
||||
};
|
||||
config = lib.mkIf config.movOpts.programConfigs.autojumpConfig.enable {
|
||||
programs.autojump = {
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
{lib, config, inputs, ...}: {
|
||||
{ lib, config, inputs, ... }: {
|
||||
options = {
|
||||
movOpts.programConfigs.batConfig.enable = lib.mkEnableOption "enables my bat options";
|
||||
movOpts.programConfigs.batConfig.enable =
|
||||
lib.mkEnableOption "enables my bat options";
|
||||
};
|
||||
config = lib.mkIf config.movOpts.programConfigs.batConfig.enable {
|
||||
programs.bat = {
|
||||
enable = true;
|
||||
config = {
|
||||
pager = "less -FR";
|
||||
};
|
||||
config = { pager = "less -FR"; };
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{lib, config, pkgs, ...}: {
|
||||
{ lib, config, pkgs, ... }: {
|
||||
options = {
|
||||
movOpts.programConfigs.btopConfig.enable = lib.mkEnableOption "enables my btop config";
|
||||
movOpts.programConfigs.btopConfig.enable =
|
||||
lib.mkEnableOption "enables my btop config";
|
||||
};
|
||||
config = lib.mkIf config.movOpts.programConfigs.btopConfig.enable {
|
||||
programs.btop = {
|
||||
@@ -19,6 +20,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [nvtopPackages.intel];
|
||||
home.packages = with pkgs; [ nvtopPackages.intel ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
{lib, config, inputs, pkgs, ... }: {
|
||||
{ lib, config, inputs, pkgs, ... }: {
|
||||
options = {
|
||||
movOpts.programConfigs.cavaConfig.enable = lib.mkEnableOption "enables my cava settings";
|
||||
movOpts.programConfigs.cavaConfig.enable =
|
||||
lib.mkEnableOption "enables my cava settings";
|
||||
};
|
||||
config = lib.mkIf config.movOpts.programConfigs.cavaConfig.enable {
|
||||
programs.cava = {
|
||||
enable = true;
|
||||
};
|
||||
programs.cava = { enable = true; };
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,27 +1,9 @@
|
||||
{
|
||||
host,
|
||||
nur,
|
||||
nixvim,
|
||||
self,
|
||||
inputs,
|
||||
username,
|
||||
config,
|
||||
home-manager,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports =
|
||||
[(import ./btop.nix)]
|
||||
++ [(import ./yazi.nix)]
|
||||
++ [(import ./kitty.nix)]
|
||||
++ [(import ./fuzzel.nix)]
|
||||
++ [(import ./eza.nix)]
|
||||
++ [(import ./cava.nix)]
|
||||
++ [(import ./bat.nix)]
|
||||
++ [(import ./fzf.nix)]
|
||||
++ [(import ./git.nix)]
|
||||
++ [(import ./password-store.nix)]
|
||||
++ [(import ./autojump.nix)]
|
||||
++ [(import ./firefox.nix)]
|
||||
++ [(import ./nixvim)];
|
||||
{ env, host, nur, nixvim, self, inputs, username, config, home-manager, ... }: {
|
||||
imports = [ (import ./btop.nix) ] ++ [ (import ./yazi.nix) ]
|
||||
++ [ (import ./kitty.nix) ] ++ [ (import ./fuzzel.nix) ]
|
||||
++ [ (import ./eza.nix) ] ++ [ (import ./cava.nix) ]
|
||||
++ [ (import ./bat.nix) ] ++ [ (import ./fzf.nix) ]
|
||||
++ [ (import ./git.nix) ] ++ [ (import ./password-store.nix) ]
|
||||
++ [ (import ./autojump.nix) ] ++ [ (import ./firefox.nix) ]
|
||||
++ [ (import ./nixvim) ];
|
||||
}
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
{lib, config, ...}: {
|
||||
{ lib, config, ... }: {
|
||||
options = {
|
||||
movOpts.programConfigs.ezaConfig.enable = lib.mkEnableOption "enables my eza options";
|
||||
movOpts.programConfigs.ezaConfig.enable =
|
||||
lib.mkEnableOption "enables my eza options";
|
||||
};
|
||||
config = lib.mkIf config.movOpts.programConfigs.ezaConfig.enable {
|
||||
programs.eza = {
|
||||
enable = true;
|
||||
enableZshIntegration = false;
|
||||
extraOptions = ["-1" "-h" "--group-directories-first"];
|
||||
extraOptions = [ "-1" "-h" "--group-directories-first" ];
|
||||
icons = "auto";
|
||||
git = true;
|
||||
};
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{lib, config, nur, username, self, pkgs, ... }: {
|
||||
{ lib, config, nur, username, self, pkgs, ... }: {
|
||||
options = {
|
||||
movOpts.programConfigs.firefoxConfig.enable = lib.mkEnableOption "enables my firefox configuration";
|
||||
movOpts.programConfigs.firefoxConfig.enable =
|
||||
lib.mkEnableOption "enables my firefox configuration";
|
||||
};
|
||||
config = lib.mkIf config.movOpts.programConfigs.firefoxConfig.enable {
|
||||
programs.firefox = {
|
||||
@@ -22,7 +23,8 @@
|
||||
OverridePostUpdatePage = "";
|
||||
DontCheckDefaultBrowser = true;
|
||||
DisplayBookmarksToolbar = "always"; # alternatives: "always" or "newtab"
|
||||
DisplayMenuBar = "default-off"; # alternatives: "always", "never" or "default-on"
|
||||
DisplayMenuBar =
|
||||
"default-off"; # alternatives: "always", "never" or "default-on"
|
||||
SearchBar = "unified"; # alternative: "separate" isDefault = true;
|
||||
};
|
||||
profiles.${username} = {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{config, lib, ...}: {
|
||||
{ config, lib, ... }: {
|
||||
options = {
|
||||
movOpts.programConfigs.fuzzelConfig.enable = lib.mkEnableOption "enables my fuzzel configuration";
|
||||
movOpts.programConfigs.fuzzelConfig.enable =
|
||||
lib.mkEnableOption "enables my fuzzel configuration";
|
||||
};
|
||||
config = lib.mkIf config.movOpts.programConfigs.fuzzelConfig.enable {
|
||||
programs.fuzzel = {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{lib, config, ...}: {
|
||||
{ lib, config, ... }: {
|
||||
options = {
|
||||
movOpts.programConfigs.fzfConfig.enable = lib.mkEnableOption "enables my fzf options";
|
||||
movOpts.programConfigs.fzfConfig.enable =
|
||||
lib.mkEnableOption "enables my fzf options";
|
||||
};
|
||||
config = lib.mkIf config.movOpts.programConfigs.fzfConfig.enable {
|
||||
programs.fzf = {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{lib, config, username, ...}: {
|
||||
{ lib, config, username, ... }: {
|
||||
options = {
|
||||
movOpts.programConfigs.gitConfig.enable = lib.mkEnableOption "enables my git configuration";
|
||||
movOpts.programConfigs.gitConfig.enable =
|
||||
lib.mkEnableOption "enables my git configuration";
|
||||
};
|
||||
config = lib.mkIf config.movOpts.programConfigs.gitConfig.enable {
|
||||
programs.git = {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{lib, config, pkgs, ... }: {
|
||||
{ lib, config, pkgs, ... }: {
|
||||
options = {
|
||||
movOpts.programConfigs.kittyConfig.enable = lib.mkEnableOption "enables my kitty configuration";
|
||||
movOpts.programConfigs.kittyConfig.enable =
|
||||
lib.mkEnableOption "enables my kitty configuration";
|
||||
};
|
||||
config = lib.mkIf config.movOpts.programConfigs.kittyConfig.enable {
|
||||
programs.kitty = {
|
||||
|
||||
@@ -1,34 +1,37 @@
|
||||
{...}: {
|
||||
{ ... }: {
|
||||
programs.nixvim = {
|
||||
autoCmd = [
|
||||
{
|
||||
command = "FloatermNew --wintype=float --name=shadeterm --position=topright --autoclose=0 --silent --cwd=<buffer> --titleposition=left zsh";
|
||||
event = ["VimEnter"];
|
||||
pattern = ["*"];
|
||||
command =
|
||||
"FloatermNew --wintype=float --name=shadeterm --position=topright --autoclose=0 --silent --cwd=<buffer> --titleposition=left zsh";
|
||||
event = [ "VimEnter" ];
|
||||
pattern = [ "*" ];
|
||||
desc = "Create a floating terminal, placed in the top right";
|
||||
}
|
||||
{
|
||||
command = "silent! mkview";
|
||||
event = ["BufWinLeave"];
|
||||
pattern = ["*"];
|
||||
desc = "Save session window settings to be loaded next time the file is opened";
|
||||
event = [ "BufWinLeave" ];
|
||||
pattern = [ "*" ];
|
||||
desc =
|
||||
"Save session window settings to be loaded next time the file is opened";
|
||||
}
|
||||
{
|
||||
command = "silent! !aplay ~/sound/sys/cd.wav > /dev/null 2>&1 &";
|
||||
event = ["BufWinLeave"];
|
||||
pattern = ["*"];
|
||||
event = [ "BufWinLeave" ];
|
||||
pattern = [ "*" ];
|
||||
desc = "Play a neat little sound effect when you close neovim";
|
||||
}
|
||||
{
|
||||
command = "silent! loadview";
|
||||
event = ["BufWinEnter"];
|
||||
pattern = ["*"];
|
||||
desc = "Load previous session window settings for the opened file (folds, cursor pos, etc)";
|
||||
event = [ "BufWinEnter" ];
|
||||
pattern = [ "*" ];
|
||||
desc =
|
||||
"Load previous session window settings for the opened file (folds, cursor pos, etc)";
|
||||
}
|
||||
{
|
||||
command = "setlocal textwidth=135";
|
||||
event = ["BufWinEnter" "BufEnter"];
|
||||
pattern = ["*.md" "*.wiki" "*.txt"];
|
||||
event = [ "BufWinEnter" "BufEnter" ];
|
||||
pattern = [ "*.md" "*.wiki" "*.txt" ];
|
||||
desc = "Set automatic linebreaks in plain text file formats";
|
||||
}
|
||||
];
|
||||
|
||||
@@ -1,14 +1,3 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
host,
|
||||
self,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./plugins
|
||||
./options.nix
|
||||
./keymaps.nix
|
||||
./autocmd.nix
|
||||
];
|
||||
{ env, config, pkgs, host, self, ... }: {
|
||||
imports = [ ./plugins ./options.nix ./keymaps.nix ./autocmd.nix ];
|
||||
}
|
||||
|
||||
@@ -1,12 +1,7 @@
|
||||
{
|
||||
config,
|
||||
...
|
||||
}:
|
||||
{ config, ... }:
|
||||
|
||||
let
|
||||
scheme = config.lib.stylix.colors;
|
||||
in
|
||||
{
|
||||
let scheme = config.lib.stylix.colors;
|
||||
in {
|
||||
programs.nixvim = {
|
||||
colorschemes.base16 = {
|
||||
enable = true;
|
||||
|
||||
@@ -2,9 +2,7 @@
|
||||
programs.nixvim = {
|
||||
plugins.barbar = {
|
||||
enable = false;
|
||||
settings = {
|
||||
auto_hide = 1;
|
||||
};
|
||||
settings = { auto_hide = 1; };
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,11 +2,8 @@
|
||||
programs.nixvim = {
|
||||
plugins.cmp = {
|
||||
autoEnableSources = true;
|
||||
settings.sources = [
|
||||
{name = "nvim_lsp";}
|
||||
{name = "path";}
|
||||
{name = "buffer";}
|
||||
];
|
||||
settings.sources =
|
||||
[ { name = "nvim_lsp"; } { name = "path"; } { name = "buffer"; } ];
|
||||
};
|
||||
plugins.cmp-nvim-lsp.enable = true;
|
||||
plugins.cmp-nvim-lsp-document-symbol.enable = true;
|
||||
|
||||
@@ -2,9 +2,7 @@
|
||||
programs.nixvim = {
|
||||
plugins.coq-nvim = {
|
||||
enable = true;
|
||||
settings = {
|
||||
auto_start = false;
|
||||
};
|
||||
settings = { auto_start = false; };
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ host, self, pkgs, ... }:
|
||||
{ host, self, pkgs, env, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{pkgs, ...}: {
|
||||
{ pkgs, ... }: {
|
||||
programs.nixvim = {
|
||||
extraPlugins = [
|
||||
(pkgs.vimUtils.buildVimPlugin {
|
||||
|
||||
@@ -3,9 +3,7 @@
|
||||
enable = true;
|
||||
notification = {
|
||||
overrideVimNotify = true;
|
||||
window = {
|
||||
border = "rounded";
|
||||
};
|
||||
window = { border = "rounded"; };
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{pkgs, ...}: {
|
||||
{ pkgs, ... }: {
|
||||
programs.nixvim = {
|
||||
extraPlugins = [
|
||||
(pkgs.vimUtils.buildVimPlugin {
|
||||
@@ -11,8 +11,6 @@
|
||||
};
|
||||
})
|
||||
];
|
||||
plugins = {
|
||||
haskell-scope-highlighting.enable = true;
|
||||
};
|
||||
plugins = { haskell-scope-highlighting.enable = true; };
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,81 +1,81 @@
|
||||
{
|
||||
programs.nixvim = {
|
||||
plugins = {
|
||||
cmp-snippy.enable = true;
|
||||
cmp = {
|
||||
enable = true;
|
||||
settings = {
|
||||
mapping = {
|
||||
__raw = ''
|
||||
cmp.mapping.preset.insert({
|
||||
['<C-o>'] = cmp.mapping.close_docs(),
|
||||
['<C-i>'] = cmp.mapping.open_docs(),
|
||||
['<C-j>'] = cmp.mapping.scroll_docs(-4),
|
||||
['<C-k>'] = cmp.mapping.scroll_docs(4),
|
||||
['<C-Space>'] = cmp.mapping.complete(),
|
||||
['<C-e>'] = cmp.mapping.abort(),
|
||||
['<CR>'] = function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.confirm()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, -- Added a comma here
|
||||
['<Tab>'] = function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, -- Added a comma here
|
||||
['<S-Tab>'] = function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end -- No comma needed for the last item
|
||||
})
|
||||
'';
|
||||
};
|
||||
window = {
|
||||
completion.border = "rounded";
|
||||
};
|
||||
{
|
||||
programs.nixvim = {
|
||||
plugins = {
|
||||
cmp-snippy.enable = true;
|
||||
cmp = {
|
||||
enable = true;
|
||||
settings = {
|
||||
mapping = {
|
||||
__raw = ''
|
||||
cmp.mapping.preset.insert({
|
||||
['<C-o>'] = cmp.mapping.close_docs(),
|
||||
['<C-i>'] = cmp.mapping.open_docs(),
|
||||
['<C-j>'] = cmp.mapping.scroll_docs(-4),
|
||||
['<C-k>'] = cmp.mapping.scroll_docs(4),
|
||||
['<C-Space>'] = cmp.mapping.complete(),
|
||||
['<C-e>'] = cmp.mapping.abort(),
|
||||
['<CR>'] = function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.confirm()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, -- Added a comma here
|
||||
['<Tab>'] = function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, -- Added a comma here
|
||||
['<S-Tab>'] = function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end -- No comma needed for the last item
|
||||
})
|
||||
'';
|
||||
};
|
||||
window = { completion.border = "rounded"; };
|
||||
};
|
||||
lsp = {
|
||||
enable = true;
|
||||
servers = {
|
||||
bashls.enable = true;
|
||||
ccls.enable = true;
|
||||
clangd.enable = true;
|
||||
cmake.enable = true;
|
||||
html.enable = true;
|
||||
jsonls.enable = true;
|
||||
lua_ls.enable = true;
|
||||
marksman.enable = true;
|
||||
nixd = {
|
||||
enable = true;
|
||||
settings = {
|
||||
nixd = {
|
||||
nixpkgs.expr = "import <nixpkgs> { }";
|
||||
formatting.command = "nixfmt";
|
||||
};
|
||||
options = {
|
||||
# uses Xenon config because it has every option exposed to it
|
||||
nixos.expr = "(builtins.getFlake \"github:pagedMov/nixos-config\").nixosConfigurations.xenon.options";
|
||||
home.expr = "(builtins.getFlake \"github:pagedMov/nixos-config\").homeConfigurations.xenonHome.options";
|
||||
};
|
||||
};
|
||||
lsp = {
|
||||
enable = true;
|
||||
servers = {
|
||||
bashls.enable = true;
|
||||
ccls.enable = true;
|
||||
clangd.enable = true;
|
||||
cmake.enable = true;
|
||||
html.enable = true;
|
||||
jsonls.enable = true;
|
||||
lua_ls.enable = true;
|
||||
marksman.enable = true;
|
||||
nixd = {
|
||||
enable = true;
|
||||
settings = {
|
||||
nixd = {
|
||||
nixpkgs.expr = "import <nixpkgs> { }";
|
||||
formatting.command = "nixfmt";
|
||||
};
|
||||
options = {
|
||||
# uses Xenon config because it has every option exposed to it
|
||||
nixos.expr = ''
|
||||
(builtins.getFlake "github:pagedMov/nixos-config").nixosConfigurations.xenon.options'';
|
||||
home.expr = ''
|
||||
(builtins.getFlake "github:pagedMov/nixos-config").homeConfigurations.xenonHome.options'';
|
||||
};
|
||||
};
|
||||
pyright.enable = true;
|
||||
sqls.enable = true;
|
||||
hls = {
|
||||
enable = true;
|
||||
installGhc = true;
|
||||
};
|
||||
};
|
||||
pyright.enable = true;
|
||||
sqls.enable = true;
|
||||
hls = {
|
||||
enable = true;
|
||||
installGhc = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -23,20 +23,20 @@
|
||||
};
|
||||
};
|
||||
sections = {
|
||||
lualine_a = ["mode"];
|
||||
lualine_b = ["buffers"];
|
||||
lualine_c = [];
|
||||
lualine_x = ["searchcount" "fileformat" "filetype"];
|
||||
lualine_y = ["branch" "diff" "diagnostics"];
|
||||
lualine_z = ["location"];
|
||||
lualine_a = [ "mode" ];
|
||||
lualine_b = [ "buffers" ];
|
||||
lualine_c = [ ];
|
||||
lualine_x = [ "searchcount" "fileformat" "filetype" ];
|
||||
lualine_y = [ "branch" "diff" "diagnostics" ];
|
||||
lualine_z = [ "location" ];
|
||||
};
|
||||
inactive_sections = {
|
||||
lualine_a = [];
|
||||
lualine_b = [];
|
||||
lualine_c = ["filename"];
|
||||
lualine_x = ["location"];
|
||||
lualine_y = [];
|
||||
lualine_z = [];
|
||||
lualine_a = [ ];
|
||||
lualine_b = [ ];
|
||||
lualine_c = [ "filename" ];
|
||||
lualine_x = [ "location" ];
|
||||
lualine_y = [ ];
|
||||
lualine_z = [ ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -2,7 +2,8 @@
|
||||
programs.nixvim.plugins.neocord = {
|
||||
enable = true;
|
||||
settings = {
|
||||
logo = "https://styles.redditmedia.com/t5_30kix/styles/communityIcon_n2hvyn96zwk81.png";
|
||||
logo =
|
||||
"https://styles.redditmedia.com/t5_30kix/styles/communityIcon_n2hvyn96zwk81.png";
|
||||
logo_tooltip = "Neovim";
|
||||
buttons = [
|
||||
{
|
||||
|
||||
@@ -2,9 +2,7 @@
|
||||
programs.nixvim.plugins.nvim-lightbulb = {
|
||||
enable = true;
|
||||
settings = {
|
||||
virtual_text = {
|
||||
enable = true;
|
||||
};
|
||||
virtual_text = { enable = true; };
|
||||
autocmd.enabled = true;
|
||||
};
|
||||
};
|
||||
|
||||
1
modules/home/programs/nixvim/plugins/scratch.nix
Normal file
1
modules/home/programs/nixvim/plugins/scratch.nix
Normal file
@@ -0,0 +1 @@
|
||||
{ programs.nixvim.plugins.chatgpt = { enable = true; }; }
|
||||
@@ -2,13 +2,7 @@
|
||||
programs.nixvim = {
|
||||
plugins.telescope = {
|
||||
enable = true;
|
||||
settings = {
|
||||
pickers = {
|
||||
find_files = {
|
||||
hidden = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
settings = { pickers = { find_files = { hidden = true; }; }; };
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -10,9 +10,7 @@
|
||||
};
|
||||
matchParen = {
|
||||
hiSurroundAlways = true;
|
||||
offscreen = {
|
||||
method = "popup";
|
||||
};
|
||||
offscreen = { method = "popup"; };
|
||||
};
|
||||
treesitterIntegration = {
|
||||
enable = true;
|
||||
|
||||
@@ -1,15 +1,14 @@
|
||||
{lib, config, username, ...}: let
|
||||
home = "/home/${username}";
|
||||
{ lib, config, username, ... }:
|
||||
let home = "/home/${username}";
|
||||
in {
|
||||
options = {
|
||||
movOpts.programConfigs.passConfig.enable = lib.mkEnableOption "enables my pass config";
|
||||
movOpts.programConfigs.passConfig.enable =
|
||||
lib.mkEnableOption "enables my pass config";
|
||||
};
|
||||
config = lib.mkIf config.movOpts.programConfigs.passConfig.enable {
|
||||
programs.password-store = {
|
||||
enable = true;
|
||||
settings = {
|
||||
PASSWORD_STORE_DIR = "${home}/.password-store";
|
||||
};
|
||||
settings = { PASSWORD_STORE_DIR = "${home}/.password-store"; };
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{lib, config, ...}: {
|
||||
{ lib, config, ... }: {
|
||||
options = {
|
||||
movOpts.programConfigs.yaziConfig.enable = lib.mkEnableOption "enables my yazi config";
|
||||
movOpts.programConfigs.yaziConfig.enable =
|
||||
lib.mkEnableOption "enables my yazi config";
|
||||
};
|
||||
config = lib.mkIf config.movOpts.programConfigs.yaziConfig.enable {
|
||||
programs.yazi = {
|
||||
|
||||
@@ -2,12 +2,7 @@
|
||||
|
||||
pkgs.writeShellApplication {
|
||||
name = "icanhazip";
|
||||
runtimeInputs = with pkgs; [
|
||||
iproute2
|
||||
curl
|
||||
gawk
|
||||
coreutils
|
||||
];
|
||||
runtimeInputs = with pkgs; [ iproute2 curl gawk coreutils ];
|
||||
text = ''
|
||||
if [ $# -eq 0 ]; then
|
||||
echo "Public IP: $(curl -s icanhazip.com -4)"
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
{
|
||||
pkgs
|
||||
}:
|
||||
{ pkgs }:
|
||||
pkgs.writeShellApplication {
|
||||
name = "invoke";
|
||||
text = ''
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
{
|
||||
pkgs,
|
||||
}:
|
||||
{ pkgs, }:
|
||||
pkgs.writeShellApplication {
|
||||
name = "runbg";
|
||||
runtimeInputs = with pkgs; [
|
||||
coreutils # Provides `basename`, `which`, etc.
|
||||
bash # Provides the Bash shell
|
||||
util-linux # Provides `tty`
|
||||
coreutils # Provides `basename`, `which`, etc.
|
||||
bash # Provides the Bash shell
|
||||
util-linux # Provides `tty`
|
||||
];
|
||||
text = ''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
@@ -1,13 +1,7 @@
|
||||
{
|
||||
pkgs
|
||||
}:
|
||||
{ pkgs }:
|
||||
pkgs.writeShellApplication {
|
||||
name = "splash";
|
||||
runtimeInputs = with pkgs; [
|
||||
lolcat
|
||||
toilet
|
||||
coreutils
|
||||
];
|
||||
runtimeInputs = with pkgs; [ lolcat toilet coreutils ];
|
||||
text = ''
|
||||
echo "NixOS kernel ver. $(uname -a | awk '{print $3}') x86_64 GNU/Linux"
|
||||
date +"%A %B %-d %Y"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{pkgs}:
|
||||
{ pkgs }:
|
||||
pkgs.writeShellApplication {
|
||||
name = "toolbelt";
|
||||
runtimeInputs = with pkgs; [
|
||||
|
||||
@@ -1,12 +1,7 @@
|
||||
{pkgs}:
|
||||
{ pkgs }:
|
||||
pkgs.writeShellApplication {
|
||||
name = "viconf";
|
||||
runtimeInputs = with pkgs; [
|
||||
coreutils
|
||||
fd
|
||||
ripgrep
|
||||
fzf
|
||||
];
|
||||
runtimeInputs = with pkgs; [ coreutils fd ripgrep fzf ];
|
||||
text = ''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
|
||||
@@ -6,15 +6,9 @@ let
|
||||
rev = "63dacb46bf939521bdc93981b4cbb7ecb58427a0";
|
||||
hash = "sha256-vboIEwIQojofItm2xGCdZCzW96U85l9nDW3ifMuAIdM=";
|
||||
};
|
||||
in
|
||||
pkgs.writeShellApplication {
|
||||
in pkgs.writeShellApplication {
|
||||
name = "vipkg";
|
||||
runtimeInputs = with pkgs; [
|
||||
coreutils
|
||||
fd
|
||||
ripgrep
|
||||
fzf
|
||||
];
|
||||
runtimeInputs = with pkgs; [ coreutils fd ripgrep fzf ];
|
||||
text = ''
|
||||
[ ! $# -eq 1 ] && echo "Usage: vipkg <nixpkgs package name>" && exit 1
|
||||
|
||||
|
||||
@@ -1,40 +1,32 @@
|
||||
{
|
||||
host,
|
||||
lib,
|
||||
config,
|
||||
self,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
{ host, lib, config, self, pkgs, ... }:
|
||||
let
|
||||
fetchfromgh = import ./nix/fetchfromgh.nix { inherit pkgs; };
|
||||
vipkg = import ./commands/vipkg.nix { inherit pkgs; };
|
||||
keyring = import ./wm-controls/keyring.nix { inherit pkgs; };
|
||||
invoke = import ./commands/invoke.nix { inherit pkgs; };
|
||||
splash = import ./commands/splash.nix { inherit pkgs; };
|
||||
runbg = import ./commands/runbg.nix { inherit pkgs; };
|
||||
icanhazip = import ./commands/icanhazip.nix { inherit pkgs; };
|
||||
keyring = import ./wm-controls/keyring.nix { inherit pkgs; };
|
||||
invoke = import ./commands/invoke.nix { inherit pkgs; };
|
||||
splash = import ./commands/splash.nix { inherit pkgs; };
|
||||
runbg = import ./commands/runbg.nix { inherit pkgs; };
|
||||
icanhazip = import ./commands/icanhazip.nix { inherit pkgs; };
|
||||
garbage-collect = import ./nix/garbage-collect.nix { inherit pkgs; };
|
||||
nsp = import ./nix/nsp.nix { inherit pkgs; };
|
||||
scheck = import ./wm-controls/s_check.nix { inherit pkgs; };
|
||||
switchmon = import ./wm-controls/switchmon.nix { inherit pkgs; };
|
||||
rebuild = import ./nix/rebuild.nix { inherit host self pkgs; };
|
||||
moveonscreen = import ./wm-controls/moveonscreen.nix { inherit pkgs; };
|
||||
toolbelt = import ./commands/toolbelt.nix { inherit pkgs; };
|
||||
viconf = import ./commands/viconf.nix { inherit pkgs; };
|
||||
chscheme = import ./wm-controls/chscheme.nix { inherit pkgs; };
|
||||
chpaper = import ./wm-controls/chpaper.nix { inherit pkgs; };
|
||||
mkscreenshots = import ./wm-controls/mkscreenshots.nix { inherit pkgs; };
|
||||
scriptOverride =
|
||||
doc:
|
||||
group:
|
||||
name:
|
||||
lib.mkEnableOption
|
||||
"${doc}" // {
|
||||
default = config.movOpts.movScripts.enable && config.movOpts.movScripts.${group}.enable;
|
||||
nsp = import ./nix/nsp.nix { inherit pkgs; };
|
||||
scheck = import ./wm-controls/s_check.nix { inherit pkgs; };
|
||||
switchmon = import ./wm-controls/switchmon.nix { inherit pkgs; };
|
||||
rebuild = import ./nix/rebuild.nix { inherit host self pkgs; };
|
||||
moveonscreen = import ./wm-controls/moveonscreen.nix { inherit pkgs; };
|
||||
toolbelt = import ./commands/toolbelt.nix { inherit pkgs; };
|
||||
viconf = import ./commands/viconf.nix { inherit pkgs; };
|
||||
chscheme = import ./wm-controls/chscheme.nix { inherit pkgs; };
|
||||
chpaper = import ./wm-controls/chpaper.nix { inherit pkgs; };
|
||||
mkscreenshots = import ./wm-controls/mkscreenshots.nix { inherit pkgs; };
|
||||
scriptOverride = doc: group: name:
|
||||
lib.mkEnableOption "${doc}" // {
|
||||
default = config.movOpts.movScripts.enable
|
||||
&& config.movOpts.movScripts.${group}.enable;
|
||||
};
|
||||
in {
|
||||
options = {
|
||||
movOpts.movScripts.enable = lib.mkEnableOption "Enables all pagedmov's scripts";
|
||||
movOpts.movScripts.enable =
|
||||
lib.mkEnableOption "Enables all pagedmov's scripts";
|
||||
|
||||
# Enable or disable by group
|
||||
movOpts.movScripts.commandScripts.enable =
|
||||
@@ -45,16 +37,20 @@ in {
|
||||
lib.mkEnableOption "Enables all Nix shortcut scripts";
|
||||
|
||||
# Command Scripts
|
||||
movOpts.movScripts.commandScripts.vipkg.enable =
|
||||
scriptOverride "Search through the nixpkgs/pkgs directory for a package derivation. Useful for overrides." "commandScripts" "vipkg";
|
||||
movOpts.movScripts.commandScripts.vipkg.enable = scriptOverride
|
||||
"Search through the nixpkgs/pkgs directory for a package derivation. Useful for overrides."
|
||||
"commandScripts" "vipkg";
|
||||
movOpts.movScripts.commandScripts.icanhazip.enable =
|
||||
scriptOverride "Enables the icanhazip command" "commandScripts" "icanhazip";
|
||||
scriptOverride "Enables the icanhazip command" "commandScripts"
|
||||
"icanhazip";
|
||||
movOpts.movScripts.commandScripts.invoke.enable =
|
||||
scriptOverride "Enables the invoke command" "commandScripts" "invoke";
|
||||
movOpts.movScripts.commandScripts.runbg.enable =
|
||||
scriptOverride "Enables the runbg command - written by FrostPhoenix" "commandScripts" "runbg";
|
||||
scriptOverride "Enables the runbg command - written by FrostPhoenix"
|
||||
"commandScripts" "runbg";
|
||||
movOpts.movScripts.commandScripts.splash.enable =
|
||||
scriptOverride "Enables the splash screen when opening a terminal" "commandScripts" "splash";
|
||||
scriptOverride "Enables the splash screen when opening a terminal"
|
||||
"commandScripts" "splash";
|
||||
movOpts.movScripts.commandScripts.toolbelt.enable =
|
||||
scriptOverride "Enables the toolbelt command" "commandScripts" "toolbelt";
|
||||
movOpts.movScripts.commandScripts.viconf.enable =
|
||||
@@ -66,52 +62,78 @@ in {
|
||||
movOpts.movScripts.hyprlandControls.scheck.enable =
|
||||
scriptOverride "Enables the scheck command" "hyprlandControls" "scheck";
|
||||
movOpts.movScripts.hyprlandControls.chscheme.enable =
|
||||
scriptOverride "Enables the chscheme command" "hyprlandControls" "chscheme";
|
||||
scriptOverride "Enables the chscheme command" "hyprlandControls"
|
||||
"chscheme";
|
||||
movOpts.movScripts.hyprlandControls.keyring.enable =
|
||||
scriptOverride "Enables the keyring command" "hyprlandControls" "keyring";
|
||||
movOpts.movScripts.hyprlandControls.moveonscreen.enable =
|
||||
scriptOverride "Ensures floating windows remain on screen" "hyprlandControls" "moveonscreen";
|
||||
scriptOverride "Ensures floating windows remain on screen"
|
||||
"hyprlandControls" "moveonscreen";
|
||||
movOpts.movScripts.hyprlandControls.switchmon.enable =
|
||||
scriptOverride "Moves cursor to the center of the second monitor" "hyprlandControls" "switchmon";
|
||||
movOpts.movScripts.hyprlandControls.mkscreenshots.enable =
|
||||
scriptOverride "Generates screenshots, and updates the README.md with the current rev hash" "hyprlandControls" "switchmon";
|
||||
|
||||
scriptOverride "Moves cursor to the center of the second monitor"
|
||||
"hyprlandControls" "switchmon";
|
||||
movOpts.movScripts.hyprlandControls.mkscreenshots.enable = scriptOverride
|
||||
"Generates screenshots, and updates the README.md with the current rev hash"
|
||||
"hyprlandControls" "switchmon";
|
||||
|
||||
# Nix Shortcuts
|
||||
movOpts.movScripts.nixShortcuts.fetchfromgh.enable =
|
||||
scriptOverride "Provides a full pkgs.fetchFromGitHub call from a repository url" "nixShortcuts" "fetchfromgh";
|
||||
movOpts.movScripts.nixShortcuts.fetchfromgh.enable = scriptOverride
|
||||
"Provides a full pkgs.fetchFromGitHub call from a repository url"
|
||||
"nixShortcuts" "fetchfromgh";
|
||||
movOpts.movScripts.nixShortcuts.garbage-collect.enable =
|
||||
scriptOverride "Enables the garbage-collect script" "nixShortcuts" "garbage-collect";
|
||||
scriptOverride "Enables the garbage-collect script" "nixShortcuts"
|
||||
"garbage-collect";
|
||||
movOpts.movScripts.nixShortcuts.nsp.enable =
|
||||
scriptOverride "Enables nsp as an alias for 'nix-shell -p'" "nixShortcuts" "nsp";
|
||||
movOpts.movScripts.nixShortcuts.rebuild.enable =
|
||||
scriptOverride "Enables rebuild as an alias for 'sudo nixos-rebuild switch'" "nixShortcuts" "rebuild";
|
||||
scriptOverride "Enables nsp as an alias for 'nix-shell -p'" "nixShortcuts"
|
||||
"nsp";
|
||||
movOpts.movScripts.nixShortcuts.rebuild.enable = scriptOverride
|
||||
"Enables rebuild as an alias for 'sudo nixos-rebuild switch'"
|
||||
"nixShortcuts" "rebuild";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.movOpts.movScripts.enable {
|
||||
home.packages =
|
||||
lib.optionals config.movOpts.movScripts.commandScripts.invoke.enable [ invoke ]
|
||||
# Command Scripts Overrides
|
||||
++ lib.optionals config.movOpts.movScripts.commandScripts.vipkg.enable [ vipkg ]
|
||||
++ lib.optionals config.movOpts.movScripts.commandScripts.runbg.enable [ runbg ]
|
||||
++ lib.optionals config.movOpts.movScripts.commandScripts.icanhazip.enable [ icanhazip ]
|
||||
++ lib.optionals config.movOpts.movScripts.commandScripts.splash.enable [ splash ]
|
||||
++ lib.optionals config.movOpts.movScripts.commandScripts.toolbelt.enable [ toolbelt ]
|
||||
++ lib.optionals config.movOpts.movScripts.commandScripts.viconf.enable [ viconf ]
|
||||
lib.optionals config.movOpts.movScripts.commandScripts.invoke.enable [
|
||||
invoke
|
||||
]
|
||||
# Command Scripts Overrides
|
||||
++ lib.optionals config.movOpts.movScripts.commandScripts.vipkg.enable
|
||||
[ vipkg ]
|
||||
++ lib.optionals config.movOpts.movScripts.commandScripts.runbg.enable
|
||||
[ runbg ]
|
||||
++ lib.optionals config.movOpts.movScripts.commandScripts.icanhazip.enable
|
||||
[ icanhazip ]
|
||||
++ lib.optionals config.movOpts.movScripts.commandScripts.splash.enable
|
||||
[ splash ]
|
||||
++ lib.optionals config.movOpts.movScripts.commandScripts.toolbelt.enable
|
||||
[ toolbelt ]
|
||||
++ lib.optionals config.movOpts.movScripts.commandScripts.viconf.enable [
|
||||
viconf
|
||||
]
|
||||
|
||||
# Hyprland Controls Overrides
|
||||
++ lib.optionals config.movOpts.movScripts.hyprlandControls.chpaper.enable [ chpaper ]
|
||||
++ lib.optionals config.movOpts.movScripts.hyprlandControls.scheck.enable [ scheck ]
|
||||
++ lib.optionals config.movOpts.movScripts.hyprlandControls.chscheme.enable [ chscheme ]
|
||||
++ lib.optionals config.movOpts.movScripts.hyprlandControls.keyring.enable [ keyring ]
|
||||
++ lib.optionals config.movOpts.movScripts.hyprlandControls.moveonscreen.enable [ moveonscreen ]
|
||||
++ lib.optionals config.movOpts.movScripts.hyprlandControls.switchmon.enable [ switchmon ]
|
||||
++ lib.optionals config.movOpts.movScripts.hyprlandControls.mkscreenshots.enable [ mkscreenshots ]
|
||||
# Hyprland Controls Overrides
|
||||
++ lib.optionals config.movOpts.movScripts.hyprlandControls.chpaper.enable
|
||||
[ chpaper ]
|
||||
++ lib.optionals config.movOpts.movScripts.hyprlandControls.scheck.enable
|
||||
[ scheck ] ++ lib.optionals
|
||||
config.movOpts.movScripts.hyprlandControls.chscheme.enable [ chscheme ]
|
||||
++ lib.optionals config.movOpts.movScripts.hyprlandControls.keyring.enable
|
||||
[ keyring ] ++ lib.optionals
|
||||
config.movOpts.movScripts.hyprlandControls.moveonscreen.enable
|
||||
[ moveonscreen ] ++ lib.optionals
|
||||
config.movOpts.movScripts.hyprlandControls.switchmon.enable [ switchmon ]
|
||||
++ lib.optionals
|
||||
config.movOpts.movScripts.hyprlandControls.mkscreenshots.enable [
|
||||
mkscreenshots
|
||||
]
|
||||
|
||||
# Nix Shortcuts Overrides
|
||||
++ lib.optionals config.movOpts.movScripts.nixShortcuts.fetchfromgh.enable [ fetchfromgh ]
|
||||
++ lib.optionals config.movOpts.movScripts.nixShortcuts.garbage-collect.enable [ garbage-collect ]
|
||||
++ lib.optionals config.movOpts.movScripts.nixShortcuts.nsp.enable [ nsp ]
|
||||
++ lib.optionals config.movOpts.movScripts.nixShortcuts.rebuild.enable [ rebuild ];
|
||||
# Nix Shortcuts Overrides
|
||||
++ lib.optionals config.movOpts.movScripts.nixShortcuts.fetchfromgh.enable
|
||||
[ fetchfromgh ] ++ lib.optionals
|
||||
config.movOpts.movScripts.nixShortcuts.garbage-collect.enable
|
||||
[ garbage-collect ]
|
||||
++ lib.optionals config.movOpts.movScripts.nixShortcuts.nsp.enable [ nsp ]
|
||||
++ lib.optionals config.movOpts.movScripts.nixShortcuts.rebuild.enable
|
||||
[ rebuild ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,37 +2,35 @@
|
||||
|
||||
pkgs.writeShellApplication {
|
||||
name = "fetchfromgh";
|
||||
runtimeInputs = [
|
||||
pkgs.nix-prefetch-scripts
|
||||
];
|
||||
runtimeInputs = [ pkgs.nix-prefetch-scripts ];
|
||||
text = ''
|
||||
if [ $# -ne 1 ] || ! echo "$1" | grep -qE "[A-Za-z0-9_-]+/[A-Za-z0-9_-]+"; then
|
||||
echo "Usage: fetchfromgh someuser/somerepo"
|
||||
echo " - i.e. fetchfromgh pagedMov/nixos-config"
|
||||
if [ $# -ne 1 ] || ! echo "$1" | grep -qE "[A-Za-z0-9_-]+/[A-Za-z0-9_-]+"; then
|
||||
echo "Usage: fetchfromgh someuser/somerepo"
|
||||
echo " - i.e. fetchfromgh pagedMov/nixos-config"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! curl -s -o /dev/null -w "%{http_code}" "https://github.com/$1" | grep -q "200"; then
|
||||
echo "Couldn't find that repository, curl returned 404."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! curl -s -o /dev/null -w "%{http_code}" "https://github.com/$1" | grep -q "200"; then
|
||||
echo "Couldn't find that repository, curl returned 404."
|
||||
exit 1
|
||||
fi
|
||||
json=$(nix-prefetch-git --quiet "https://github.com/$1")
|
||||
|
||||
json=$(nix-prefetch-git --quiet "https://github.com/$1")
|
||||
url=$(echo "$json" | jq '.url' | tr -d '"')
|
||||
owner=$(echo "$url" | awk -F'/' '{print $(NF-1)}')
|
||||
repo=$(echo "$url" | awk -F'/' '{print $NF}')
|
||||
rev=$(echo "$json" | jq '.rev' | tr -d '"')
|
||||
hash=$(echo "$json" | jq '.hash' | tr -d '"')
|
||||
|
||||
url=$(echo "$json" | jq '.url' | tr -d '"')
|
||||
owner=$(echo "$url" | awk -F'/' '{print $(NF-1)}')
|
||||
repo=$(echo "$url" | awk -F'/' '{print $NF}')
|
||||
rev=$(echo "$json" | jq '.rev' | tr -d '"')
|
||||
hash=$(echo "$json" | jq '.hash' | tr -d '"')
|
||||
|
||||
output="\
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = \"$owner\";
|
||||
repo = \"$repo\";
|
||||
rev = \"$rev\";
|
||||
hash = \"$hash\";
|
||||
};
|
||||
"
|
||||
echo "$output"
|
||||
output="\
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = \"$owner\";
|
||||
repo = \"$repo\";
|
||||
rev = \"$rev\";
|
||||
hash = \"$hash\";
|
||||
};
|
||||
"
|
||||
echo "$output"
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
{
|
||||
pkgs
|
||||
}:
|
||||
{ pkgs }:
|
||||
pkgs.writeShellApplication {
|
||||
name = "garbage-collect";
|
||||
runtimeInputs = with pkgs; [
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
{
|
||||
pkgs
|
||||
}:
|
||||
{ pkgs }:
|
||||
pkgs.writeShellApplication {
|
||||
name = "nsp";
|
||||
text = ''
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
{
|
||||
host,
|
||||
self,
|
||||
pkgs,
|
||||
}:
|
||||
{ host, self, pkgs, }:
|
||||
pkgs.writeShellApplication {
|
||||
name = "rebuild";
|
||||
text = ''
|
||||
|
||||
@@ -1,13 +1,7 @@
|
||||
{pkgs}:
|
||||
{ pkgs }:
|
||||
pkgs.writeShellApplication {
|
||||
name = "chpaper";
|
||||
runtimeInputs = with pkgs; [
|
||||
chafa
|
||||
fzf
|
||||
ripgrep
|
||||
findutils
|
||||
coreutils
|
||||
];
|
||||
runtimeInputs = with pkgs; [ chafa fzf ripgrep findutils coreutils ];
|
||||
text = ''
|
||||
paper="$\{self}/assets/wallpapers/$(find "$FLAKEPATH"/assets/wallpapers -exec basename {} \; | rg "\.\w+$" | fzf --preview "chafa -s 30x40 $FLAKEPATH/assets/wallpapers/{}")"
|
||||
[ "$paper" = "$\{self}/assets/wallpapers/" ] && echo "Cancelling wallpaper change" && exit 1
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
{ pkgs }:
|
||||
pkgs.writeShellApplication {
|
||||
name = "chscheme";
|
||||
runtimeInputs = with pkgs; [
|
||||
fzf
|
||||
coreutils
|
||||
];
|
||||
runtimeInputs = with pkgs; [ fzf coreutils ];
|
||||
text = ''
|
||||
selected_scheme=$(/usr/bin/env ls "$(nix-build '<nixpkgs>' -A base16-schemes)"/share/themes | \
|
||||
sed 's/\.yaml//g' | \
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
{
|
||||
pkgs
|
||||
}:
|
||||
{ pkgs }:
|
||||
pkgs.writeShellApplication {
|
||||
name = "keyring";
|
||||
runtimeInputs = with pkgs; [
|
||||
|
||||
@@ -2,15 +2,7 @@
|
||||
|
||||
pkgs.writeShellApplication {
|
||||
name = "mkscreenshots";
|
||||
runtimeInputs = with pkgs; [
|
||||
jq
|
||||
neofetch
|
||||
kitty
|
||||
coreutils
|
||||
nemo
|
||||
grimblast
|
||||
git
|
||||
];
|
||||
runtimeInputs = with pkgs; [ jq neofetch kitty coreutils nemo grimblast git ];
|
||||
text = ''
|
||||
if [ -n "$(hyprctl clients -j | jq -r '.[] | select(.workspace.name == "4")')" ]; then
|
||||
echo "There are windows in workspace 4. This script uses workspace 4, so move those windows and run it again."
|
||||
|
||||
@@ -1,12 +1,7 @@
|
||||
{pkgs}:
|
||||
{ pkgs }:
|
||||
pkgs.writeShellApplication {
|
||||
name = "moveonscreen";
|
||||
runtimeInputs = with pkgs; [
|
||||
hyprland
|
||||
jq
|
||||
coreutils
|
||||
gawk
|
||||
];
|
||||
runtimeInputs = with pkgs; [ hyprland jq coreutils gawk ];
|
||||
text = ''
|
||||
center_window=false
|
||||
if [[ ! $# -eq 0 ]] && [[ $1 == "--center" ]]; then
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
{
|
||||
pkgs,
|
||||
}:
|
||||
{ pkgs, }:
|
||||
pkgs.writeShellApplication {
|
||||
name = "scheck";
|
||||
text = ''
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
{
|
||||
pkgs,
|
||||
}:
|
||||
{ pkgs, }:
|
||||
pkgs.writeShellApplication {
|
||||
name = "switchmon";
|
||||
text = ''
|
||||
|
||||
@@ -1,13 +1,4 @@
|
||||
{
|
||||
inputs,
|
||||
nixpkgs,
|
||||
config,
|
||||
self,
|
||||
username,
|
||||
host,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
{ inputs, nixpkgs, config, self, username, host, lib, ... }: {
|
||||
imports = [
|
||||
./environment/starship.nix
|
||||
./environment/userpkgs.nix
|
||||
|
||||
Reference in New Issue
Block a user