formatted all files with nixfmt, added env variable to hold secrets
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1,4 +1,3 @@
|
|||||||
|
env.nix
|
||||||
secrets.nix
|
|
||||||
result
|
result
|
||||||
hardware.nix
|
hardware.nix
|
||||||
|
|||||||
20
flake.nix
20
flake.nix
@@ -30,18 +30,19 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, home-manager, nixpkgs, nur, nixvim, stylix, ... } @ inputs:
|
outputs = { self, home-manager, nixpkgs, nur, nixvim, stylix, ... }@inputs:
|
||||||
let
|
let
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
pkgs = import nixpkgs { inherit system; };
|
pkgs = import nixpkgs { inherit system; };
|
||||||
username = "pagedmov";
|
username = "pagedmov";
|
||||||
|
env = import ./env.nix;
|
||||||
in {
|
in {
|
||||||
homeConfigurations = {
|
homeConfigurations = {
|
||||||
oganessonHome = home-manager.lib.homeManagerConfiguration {
|
oganessonHome = home-manager.lib.homeManagerConfiguration {
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
extraSpecialArgs = {
|
extraSpecialArgs = {
|
||||||
host = "oganesson";
|
host = "oganesson";
|
||||||
inherit self username inputs;
|
inherit self username env inputs;
|
||||||
};
|
};
|
||||||
|
|
||||||
modules = [
|
modules = [
|
||||||
@@ -57,7 +58,7 @@
|
|||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
extraSpecialArgs = {
|
extraSpecialArgs = {
|
||||||
host = "oganesson";
|
host = "oganesson";
|
||||||
inherit self username inputs;
|
inherit self env username inputs;
|
||||||
};
|
};
|
||||||
|
|
||||||
modules = [
|
modules = [
|
||||||
@@ -73,7 +74,7 @@
|
|||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
extraSpecialArgs = {
|
extraSpecialArgs = {
|
||||||
host = "oganesson";
|
host = "oganesson";
|
||||||
inherit self username inputs;
|
inherit self env username inputs;
|
||||||
};
|
};
|
||||||
|
|
||||||
modules = [
|
modules = [
|
||||||
@@ -88,7 +89,7 @@
|
|||||||
oganesson = nixpkgs.lib.nixosSystem {
|
oganesson = nixpkgs.lib.nixosSystem {
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
host = "oganesson";
|
host = "oganesson";
|
||||||
inherit self inputs username;
|
inherit self inputs env username;
|
||||||
};
|
};
|
||||||
inherit system;
|
inherit system;
|
||||||
modules = [
|
modules = [
|
||||||
@@ -102,7 +103,7 @@
|
|||||||
mercury = nixpkgs.lib.nixosSystem {
|
mercury = nixpkgs.lib.nixosSystem {
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
host = "mercury";
|
host = "mercury";
|
||||||
inherit self inputs username;
|
inherit self inputs env username;
|
||||||
};
|
};
|
||||||
inherit system;
|
inherit system;
|
||||||
modules = [
|
modules = [
|
||||||
@@ -116,7 +117,7 @@
|
|||||||
xenon = nixpkgs.lib.nixosSystem {
|
xenon = nixpkgs.lib.nixosSystem {
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
host = "xenon";
|
host = "xenon";
|
||||||
inherit self inputs username;
|
inherit self inputs env username;
|
||||||
};
|
};
|
||||||
inherit system;
|
inherit system;
|
||||||
modules = [
|
modules = [
|
||||||
@@ -134,10 +135,7 @@
|
|||||||
inherit self inputs;
|
inherit self inputs;
|
||||||
};
|
};
|
||||||
inherit system;
|
inherit system;
|
||||||
modules = [
|
modules = [ ./hosts/installer nixvim.nixosModules.nixvim ];
|
||||||
./hosts/installer
|
|
||||||
nixvim.nixosModules.nixvim
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
{pkgs, username, ...}: {
|
{ pkgs, username, ... }: {
|
||||||
imports = [
|
imports = [ ./hardware.nix ];
|
||||||
./hardware.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
# My module options
|
# My module options
|
||||||
movOpts = {
|
movOpts = {
|
||||||
@@ -28,8 +26,8 @@
|
|||||||
nix = {
|
nix = {
|
||||||
settings = {
|
settings = {
|
||||||
auto-optimise-store = true;
|
auto-optimise-store = true;
|
||||||
experimental-features = ["nix-command" "flakes"];
|
experimental-features = [ "nix-command" "flakes" ];
|
||||||
substituters = ["https://nix-gaming.cachix.org"];
|
substituters = [ "https://nix-gaming.cachix.org" ];
|
||||||
};
|
};
|
||||||
gc = {
|
gc = {
|
||||||
automatic = true;
|
automatic = true;
|
||||||
@@ -39,31 +37,26 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
environment = {
|
environment = {
|
||||||
variables = {
|
variables = { PATH = "${pkgs.clang-tools}/bin:$PATH"; };
|
||||||
PATH = "${pkgs.clang-tools}/bin:$PATH";
|
shells = with pkgs; [ zsh bash ];
|
||||||
};
|
|
||||||
shells = with pkgs; [
|
|
||||||
zsh
|
|
||||||
bash
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
users = {
|
users = {
|
||||||
groups.persist = {};
|
groups.persist = { };
|
||||||
users = {
|
users = {
|
||||||
root.initialPassword = "1234";
|
root.initialPassword = "1234";
|
||||||
${username} = {
|
${username} = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
initialPassword = "1234";
|
initialPassword = "1234";
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
extraGroups = ["wheel" "persist" "libvirtd"];
|
extraGroups = [ "wheel" "persist" "libvirtd" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
security.sudo.extraConfig = ''
|
security.sudo.extraConfig = ''
|
||||||
${username} ALL=(ALL) NOPASSWD: /etc/profiles/per-user/${username}/bin/rebuild
|
${username} ALL=(ALL) NOPASSWD: /etc/profiles/per-user/${username}/bin/rebuild
|
||||||
'';
|
'';
|
||||||
nix.settings.allowed-users = ["${username}"];
|
nix.settings.allowed-users = [ "${username}" ];
|
||||||
|
|
||||||
time.timeZone = "America/New_York";
|
time.timeZone = "America/New_York";
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
|||||||
@@ -1,21 +1,14 @@
|
|||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{
|
{ config, lib, pkgs, modulesPath, ... }: {
|
||||||
config,
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
modulesPath,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"];
|
boot.initrd.availableKernelModules =
|
||||||
boot.initrd.kernelModules = [];
|
[ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
||||||
boot.kernelModules = ["kvm-amd"];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.extraModulePackages = [];
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" = {
|
||||||
device = "/dev/disk/by-partlabel/disk-main-root";
|
device = "/dev/disk/by-partlabel/disk-main-root";
|
||||||
@@ -30,7 +23,7 @@
|
|||||||
fileSystems."/boot" = {
|
fileSystems."/boot" = {
|
||||||
device = "/dev/disk/by-partlabel/disk-main-ESP";
|
device = "/dev/disk/by-partlabel/disk-main-ESP";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = ["fmask=0077" "dmask=0077"];
|
options = [ "fmask=0077" "dmask=0077" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/home" = {
|
fileSystems."/home" = {
|
||||||
@@ -38,7 +31,7 @@
|
|||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [];
|
swapDevices = [ ];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
@@ -49,5 +42,6 @@
|
|||||||
# networking.interfaces.wlp15s0.useDHCP = lib.mkDefault true;
|
# networking.interfaces.wlp15s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
hardware.cpu.amd.updateMicrocode =
|
||||||
|
lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,5 @@
|
|||||||
{
|
{ lib, pkgs, modulesPath, inputs, ... }:
|
||||||
lib,
|
let
|
||||||
pkgs,
|
|
||||||
modulesPath,
|
|
||||||
inputs,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
extraFigletFonts = pkgs.fetchFromGitHub {
|
extraFigletFonts = pkgs.fetchFromGitHub {
|
||||||
owner = "xero";
|
owner = "xero";
|
||||||
repo = "figlet-fonts";
|
repo = "figlet-fonts";
|
||||||
@@ -12,7 +7,7 @@
|
|||||||
sha256 = "sha256-dAs7N66D2Fpy4/UB5Za1r2qb1iSAJR6TMmau1asxgtY=";
|
sha256 = "sha256-dAs7N66D2Fpy4/UB5Za1r2qb1iSAJR6TMmau1asxgtY=";
|
||||||
};
|
};
|
||||||
toilet-extrafonts = pkgs.toilet.overrideAttrs (oldAttrs: {
|
toilet-extrafonts = pkgs.toilet.overrideAttrs (oldAttrs: {
|
||||||
buildInputs = oldAttrs.buildInputs or [] ++ [extraFigletFonts];
|
buildInputs = oldAttrs.buildInputs or [ ] ++ [ extraFigletFonts ];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
make install PREFIX=$out
|
make install PREFIX=$out
|
||||||
@@ -28,11 +23,7 @@ in {
|
|||||||
];
|
];
|
||||||
nixpkgs.hostPlatform = "x86_64-linux";
|
nixpkgs.hostPlatform = "x86_64-linux";
|
||||||
system.stateVersion = "24.05";
|
system.stateVersion = "24.05";
|
||||||
nix = {
|
nix = { settings = { experimental-features = [ "nix-command" "flakes" ]; }; };
|
||||||
settings = {
|
|
||||||
experimental-features = ["nix-command" "flakes"];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
wireless.enable = false;
|
wireless.enable = false;
|
||||||
@@ -65,11 +56,9 @@ in {
|
|||||||
home-manager = {
|
home-manager = {
|
||||||
users.root = {
|
users.root = {
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
home= {
|
home = {
|
||||||
stateVersion = "24.05";
|
stateVersion = "24.05";
|
||||||
file = {
|
file = { "disko.nix".source = ./disko-ext4-singledisk.nix; };
|
||||||
"disko.nix".source = ./disko-ext4-singledisk.nix;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -81,106 +70,106 @@ in {
|
|||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
zsh = {
|
zsh = {
|
||||||
enable = true;
|
|
||||||
|
|
||||||
ohMyZsh = {
|
|
||||||
enable = true;
|
enable = true;
|
||||||
plugins = ["git" "fzf"];
|
|
||||||
};
|
|
||||||
|
|
||||||
enableCompletion = true;
|
ohMyZsh = {
|
||||||
|
enable = true;
|
||||||
|
plugins = [ "git" "fzf" ];
|
||||||
|
};
|
||||||
|
|
||||||
histFile = "$HOME/.zsh_history";
|
enableCompletion = true;
|
||||||
histSize = 10000;
|
|
||||||
|
|
||||||
autosuggestions = {
|
histFile = "$HOME/.zsh_history";
|
||||||
enable = true;
|
histSize = 10000;
|
||||||
highlightStyle = "fg=#4C566A,underline";
|
|
||||||
};
|
|
||||||
|
|
||||||
shellAliases = {
|
autosuggestions = {
|
||||||
grep = "grep --color=auto";
|
enable = true;
|
||||||
vi = "nvim";
|
highlightStyle = "fg=#4C566A,underline";
|
||||||
mv = "mv -v";
|
};
|
||||||
cp = "cp -vr";
|
|
||||||
".." = "cd ..";
|
|
||||||
psg = "ps aux | grep -v grep | grep -i -e VSZ -e";
|
|
||||||
mkdir = "mkdir -p";
|
|
||||||
pk = "pkill -9 -f";
|
|
||||||
svc = "sudo systemctl";
|
|
||||||
};
|
|
||||||
promptInit = ''
|
|
||||||
bindkey -v
|
|
||||||
type starship_zle-keymap-select >/dev/null || \
|
|
||||||
{
|
|
||||||
eval "$(starship init zsh)"
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
setOptions = [
|
|
||||||
"APPEND_HISTORY"
|
|
||||||
"INC_APPEND_HISTORY"
|
|
||||||
"SHARE_HISTORY"
|
|
||||||
"CORRECT"
|
|
||||||
"NO_NOMATCH"
|
|
||||||
"LIST_PACKED"
|
|
||||||
"ALWAYS_TO_END"
|
|
||||||
"GLOB_COMPLETE"
|
|
||||||
"COMPLETE_ALIASES"
|
|
||||||
"COMPLETE_IN_WORD"
|
|
||||||
"AUTO_CD"
|
|
||||||
"AUTO_CONTINUE"
|
|
||||||
"LONG_LIST_JOBS"
|
|
||||||
"HIST_VERIFY"
|
|
||||||
"SHARE_HISTORY"
|
|
||||||
"HIST_IGNORE_SPACE"
|
|
||||||
"HIST_SAVE_NO_DUPS"
|
|
||||||
"HIST_IGNORE_ALL_DUPS"
|
|
||||||
"EXTENDED_GLOB"
|
|
||||||
"TRANSIENT_RPROMPT"
|
|
||||||
"INTERACTIVE_COMMENTS"
|
|
||||||
];
|
|
||||||
shellInit = ''
|
|
||||||
export EDITOR="nvim"
|
|
||||||
export SUDO_EDITOR="nvim"
|
|
||||||
export VISUAL="nvim"
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
|
|
||||||
unalias ls
|
shellAliases = {
|
||||||
ls() {
|
grep = "grep --color=auto";
|
||||||
eza -1 --group-directories-first --icons "$@"
|
vi = "nvim";
|
||||||
}
|
mv = "mv -v";
|
||||||
|
cp = "cp -vr";
|
||||||
|
".." = "cd ..";
|
||||||
|
psg = "ps aux | grep -v grep | grep -i -e VSZ -e";
|
||||||
|
mkdir = "mkdir -p";
|
||||||
|
pk = "pkill -9 -f";
|
||||||
|
svc = "sudo systemctl";
|
||||||
|
};
|
||||||
|
promptInit = ''
|
||||||
|
bindkey -v
|
||||||
|
type starship_zle-keymap-select >/dev/null || \
|
||||||
|
{
|
||||||
|
eval "$(starship init zsh)"
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
setOptions = [
|
||||||
|
"APPEND_HISTORY"
|
||||||
|
"INC_APPEND_HISTORY"
|
||||||
|
"SHARE_HISTORY"
|
||||||
|
"CORRECT"
|
||||||
|
"NO_NOMATCH"
|
||||||
|
"LIST_PACKED"
|
||||||
|
"ALWAYS_TO_END"
|
||||||
|
"GLOB_COMPLETE"
|
||||||
|
"COMPLETE_ALIASES"
|
||||||
|
"COMPLETE_IN_WORD"
|
||||||
|
"AUTO_CD"
|
||||||
|
"AUTO_CONTINUE"
|
||||||
|
"LONG_LIST_JOBS"
|
||||||
|
"HIST_VERIFY"
|
||||||
|
"SHARE_HISTORY"
|
||||||
|
"HIST_IGNORE_SPACE"
|
||||||
|
"HIST_SAVE_NO_DUPS"
|
||||||
|
"HIST_IGNORE_ALL_DUPS"
|
||||||
|
"EXTENDED_GLOB"
|
||||||
|
"TRANSIENT_RPROMPT"
|
||||||
|
"INTERACTIVE_COMMENTS"
|
||||||
|
];
|
||||||
|
shellInit = ''
|
||||||
|
export EDITOR="nvim"
|
||||||
|
export SUDO_EDITOR="nvim"
|
||||||
|
export VISUAL="nvim"
|
||||||
|
export LANG="en_US.UTF-8"
|
||||||
|
|
||||||
y() {
|
unalias ls
|
||||||
local tmp="$(mktemp -t "yazi-cwd.XXXXXX")"
|
ls() {
|
||||||
yazi "$@" --cwd-file="$tmp"
|
eza -1 --group-directories-first --icons "$@"
|
||||||
if cwd="$(command cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then
|
}
|
||||||
builtin cd -- "$cwd"
|
|
||||||
fi
|
|
||||||
rm -f -- "$tmp"
|
|
||||||
}
|
|
||||||
|
|
||||||
cd() {
|
y() {
|
||||||
export SOUNDS_ENABLED=0
|
local tmp="$(mktemp -t "yazi-cwd.XXXXXX")"
|
||||||
eza -1 --group-directories-first --icons "$@"
|
yazi "$@" --cwd-file="$tmp"
|
||||||
builtin cd "$@" || exit
|
if cwd="$(command cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then
|
||||||
export SOUNDS_ENABLED=1
|
builtin cd -- "$cwd"
|
||||||
}
|
fi
|
||||||
if [ ! -e $HOME/.zsh_history ]; then
|
rm -f -- "$tmp"
|
||||||
touch $HOME/.zsh_history
|
}
|
||||||
chmod 600 $HOME/.zsh_history
|
|
||||||
fi
|
|
||||||
|
|
||||||
autoload -U compinit # completion
|
cd() {
|
||||||
autoload -U terminfo # terminfo keys
|
export SOUNDS_ENABLED=0
|
||||||
zmodload -i zsh/complist # menu completion
|
eza -1 --group-directories-first --icons "$@"
|
||||||
autoload -U promptinit # prompt
|
builtin cd "$@" || exit
|
||||||
|
export SOUNDS_ENABLED=1
|
||||||
|
}
|
||||||
|
if [ ! -e $HOME/.zsh_history ]; then
|
||||||
|
touch $HOME/.zsh_history
|
||||||
|
chmod 600 $HOME/.zsh_history
|
||||||
|
fi
|
||||||
|
|
||||||
autoload -U up-line-or-beginning-search; zle -N up-line-or-beginning-search
|
autoload -U compinit # completion
|
||||||
autoload -U down-line-or-beginning-search; zle -N down-line-or-beginning-search
|
autoload -U terminfo # terminfo keys
|
||||||
|
zmodload -i zsh/complist # menu completion
|
||||||
|
autoload -U promptinit # prompt
|
||||||
|
|
||||||
unalias ls
|
autoload -U up-line-or-beginning-search; zle -N up-line-or-beginning-search
|
||||||
clear
|
autoload -U down-line-or-beginning-search; zle -N down-line-or-beginning-search
|
||||||
'';
|
|
||||||
|
unalias ls
|
||||||
|
clear
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
starship = {
|
starship = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -201,7 +190,9 @@ in {
|
|||||||
format = "[$user]($style)";
|
format = "[$user]($style)";
|
||||||
};
|
};
|
||||||
directory = {
|
directory = {
|
||||||
format = "\n[$path](bold cyan)[/](bold green) ";
|
format = ''
|
||||||
|
|
||||||
|
[$path](bold cyan)[/](bold green) '';
|
||||||
style = "bold #b4befe";
|
style = "bold #b4befe";
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -220,7 +211,9 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
git_branch = {
|
git_branch = {
|
||||||
format = "\non [$symbol$branch](bold purple)";
|
format = ''
|
||||||
|
|
||||||
|
on [$symbol$branch](bold purple)'';
|
||||||
symbol = " ";
|
symbol = " ";
|
||||||
truncation_length = 15;
|
truncation_length = 15;
|
||||||
style = "bold purple";
|
style = "bold purple";
|
||||||
|
|||||||
@@ -1,11 +1,7 @@
|
|||||||
# USAGE in your configuration.nix.
|
# USAGE in your configuration.nix.
|
||||||
# Update devices to match your hardware.
|
# Update devices to match your hardware.
|
||||||
{
|
{ device ? throw "Set this to your disk device, e.g. /dev/sda", root_size
|
||||||
device ? throw "Set this to your disk device, e.g. /dev/sda",
|
, nix_size, ... }: {
|
||||||
root_size,
|
|
||||||
nix_size,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
disko.devices = {
|
disko.devices = {
|
||||||
disk = {
|
disk = {
|
||||||
main = {
|
main = {
|
||||||
@@ -25,7 +21,7 @@
|
|||||||
type = "filesystem";
|
type = "filesystem";
|
||||||
format = "vfat";
|
format = "vfat";
|
||||||
mountpoint = "/boot";
|
mountpoint = "/boot";
|
||||||
mountOptions = ["umask=0077"];
|
mountOptions = [ "umask=0077" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
nix = {
|
nix = {
|
||||||
|
|||||||
@@ -1,18 +1,11 @@
|
|||||||
{pkgs, config, ...}: {
|
{ pkgs, config, ... }: {
|
||||||
imports = [
|
imports = [ ./hardware.nix ./home.nix ];
|
||||||
./hardware.nix
|
|
||||||
./home.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
powerProfiles.enable = true;
|
powerProfiles.enable = true;
|
||||||
boot = {
|
boot = {
|
||||||
kernelModules = ["acpi_call"];
|
kernelModules = [ "acpi_call" ];
|
||||||
extraModulePackages = with config.boot.kernelPackages;
|
extraModulePackages = with config.boot.kernelPackages;
|
||||||
[
|
[ acpi_call cpupower ] ++ [ pkgs.cpupower-gui ];
|
||||||
acpi_call
|
|
||||||
cpupower
|
|
||||||
]
|
|
||||||
++ [pkgs.cpupower-gui];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
networkModule.enable = true;
|
networkModule.enable = true;
|
||||||
@@ -26,20 +19,9 @@
|
|||||||
sysServices.enable = true;
|
sysServices.enable = true;
|
||||||
|
|
||||||
environment = {
|
environment = {
|
||||||
variables = {
|
variables = { PATH = "${pkgs.clang-tools}/bin:$PATH"; };
|
||||||
PATH = "${pkgs.clang-tools}/bin:$PATH";
|
shells = with pkgs; [ zsh bash ];
|
||||||
};
|
systemPackages = with pkgs; [ acpi brightnessctl cpupower-gui powertop ];
|
||||||
shells = with pkgs; [
|
|
||||||
zsh
|
|
||||||
bash
|
|
||||||
];
|
|
||||||
systemPackages = with pkgs; [
|
|
||||||
acpi
|
|
||||||
brightnessctl
|
|
||||||
cpupower-gui
|
|
||||||
powertop
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,21 +1,14 @@
|
|||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{
|
{ config, lib, pkgs, modulesPath, ... }: {
|
||||||
config,
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
modulesPath,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"];
|
boot.initrd.availableKernelModules =
|
||||||
boot.initrd.kernelModules = [];
|
[ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
||||||
boot.kernelModules = ["kvm-amd"];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.extraModulePackages = [];
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" = {
|
||||||
device = "/dev/sda4";
|
device = "/dev/sda4";
|
||||||
@@ -30,7 +23,7 @@
|
|||||||
fileSystems."/boot" = {
|
fileSystems."/boot" = {
|
||||||
device = "/dev/sda2";
|
device = "/dev/sda2";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = ["fmask=0077" "dmask=0077"];
|
options = [ "fmask=0077" "dmask=0077" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/home" = {
|
fileSystems."/home" = {
|
||||||
@@ -38,7 +31,7 @@
|
|||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [];
|
swapDevices = [ ];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
@@ -49,5 +42,6 @@
|
|||||||
# networking.interfaces.wlp15s0.useDHCP = lib.mkDefault true;
|
# networking.interfaces.wlp15s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
hardware.cpu.amd.updateMicrocode =
|
||||||
|
lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,5 @@
|
|||||||
{
|
{ pkgs, username, ... }: {
|
||||||
pkgs,
|
imports = [ ./hardware.nix ./home.nix ];
|
||||||
username,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
./hardware.nix
|
|
||||||
./home.nix
|
|
||||||
];
|
|
||||||
movOpts = {
|
movOpts = {
|
||||||
nixSettings.enable = true;
|
nixSettings.enable = true;
|
||||||
networkModule.enable = true;
|
networkModule.enable = true;
|
||||||
@@ -18,9 +11,7 @@
|
|||||||
jellyfinConfig.enable = true;
|
jellyfinConfig.enable = true;
|
||||||
caddyConfig.enable = true;
|
caddyConfig.enable = true;
|
||||||
};
|
};
|
||||||
networking.firewall = {
|
networking.firewall = { allowedTCPPorts = [ 443 8920 ]; };
|
||||||
allowedTCPPorts = [ 443 8920 ];
|
|
||||||
};
|
|
||||||
environment = {
|
environment = {
|
||||||
etc."tmpfiles.d/home-permissions.conf".text = ''
|
etc."tmpfiles.d/home-permissions.conf".text = ''
|
||||||
d /home/pagedmov 0750 pagedmov users -
|
d /home/pagedmov 0750 pagedmov users -
|
||||||
@@ -29,9 +20,6 @@
|
|||||||
PATH = "${pkgs.clang-tools}/bin:$PATH";
|
PATH = "${pkgs.clang-tools}/bin:$PATH";
|
||||||
TERM = "kitty";
|
TERM = "kitty";
|
||||||
};
|
};
|
||||||
shells = with pkgs; [
|
shells = with pkgs; [ zsh bash ];
|
||||||
zsh
|
|
||||||
bash
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,35 +4,34 @@
|
|||||||
{ config, lib, pkgs, modulesPath, ... }:
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
boot.initrd.availableKernelModules =
|
||||||
|
[ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/c40b3b09-688d-4fe3-96f9-8e3d75b0a7b7";
|
device = "/dev/disk/by-uuid/c40b3b09-688d-4fe3-96f9-8e3d75b0a7b7";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/nix" =
|
fileSystems."/nix" = {
|
||||||
{ device = "/dev/disk/by-uuid/1048d206-0a27-4e4e-b9a4-4f068bab5439";
|
device = "/dev/disk/by-uuid/1048d206-0a27-4e4e-b9a4-4f068bab5439";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-uuid/357E-BCCD";
|
device = "/dev/disk/by-uuid/357E-BCCD";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = [ "fmask=0077" "dmask=0077" ];
|
options = [ "fmask=0077" "dmask=0077" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/home" =
|
fileSystems."/home" = {
|
||||||
{ device = "/dev/disk/by-uuid/b53ab583-f32e-4144-a2ee-f341e54f8233";
|
device = "/dev/disk/by-uuid/b53ab583-f32e-4144-a2ee-f341e54f8233";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [ ];
|
||||||
|
|
||||||
@@ -45,5 +44,6 @@
|
|||||||
# networking.interfaces.wlp11s0.useDHCP = lib.mkDefault true;
|
# networking.interfaces.wlp11s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
hardware.cpu.amd.updateMicrocode =
|
||||||
|
lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,17 +1,3 @@
|
|||||||
{
|
{ env, inputs, nixpkgs, config, self, username, host, lib, ... }: {
|
||||||
inputs,
|
imports = [ ./programs ./environment ./scripts ./files.nix ];
|
||||||
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 = [
|
imports = [
|
||||||
./gtk.nix
|
./gtk.nix
|
||||||
./spicetify.nix
|
./spicetify.nix
|
||||||
|
|||||||
@@ -1,26 +1,22 @@
|
|||||||
{lib, config, pkgs, ... }: {
|
{ lib, config, pkgs, ... }: {
|
||||||
options = {
|
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 {
|
config = lib.mkIf config.movOpts.envConfig.gtkConfig.enable {
|
||||||
fonts.fontconfig.enable = true;
|
fonts.fontconfig.enable = true;
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs;
|
||||||
(nerdfonts.override {
|
[
|
||||||
fonts = [
|
(nerdfonts.override {
|
||||||
"JetBrainsMono"
|
fonts = [ "JetBrainsMono" "CascadiaCode" "NerdFontsSymbolsOnly" ];
|
||||||
"CascadiaCode"
|
})
|
||||||
"NerdFontsSymbolsOnly"
|
];
|
||||||
];
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
gtk = {
|
gtk = {
|
||||||
enable = true;
|
enable = true;
|
||||||
iconTheme = {
|
iconTheme = {
|
||||||
name = "Papirus-Dark";
|
name = "Papirus-Dark";
|
||||||
package = pkgs.papirus-nord.override {
|
package = pkgs.papirus-nord.override { accent = "frostblue4"; };
|
||||||
accent = "frostblue4";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
#cursorTheme = {
|
#cursorTheme = {
|
||||||
# name = "Bibata-Modern-Ice";
|
# name = "Bibata-Modern-Ice";
|
||||||
|
|||||||
@@ -68,27 +68,30 @@ in {
|
|||||||
"aplay ${self}/assets/sound/login.wav &"
|
"aplay ${self}/assets/sound/login.wav &"
|
||||||
];
|
];
|
||||||
|
|
||||||
workspace =
|
workspace = if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout
|
||||||
if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout == "dualmonitor") then [
|
== "dualmonitor") then [
|
||||||
"1,persistent=true,monitor:${builtins.elemAt mons 0}"
|
"1,persistent=true,monitor:${builtins.elemAt mons 0}"
|
||||||
"2,persistent=true,monitor:${builtins.elemAt mons 0}"
|
"2,persistent=true,monitor:${builtins.elemAt mons 0}"
|
||||||
"3,persistent=true,monitor:${builtins.elemAt mons 0}"
|
"3,persistent=true,monitor:${builtins.elemAt mons 0}"
|
||||||
"4,persistent=true,monitor:${builtins.elemAt mons 1}"
|
"4,persistent=true,monitor:${builtins.elemAt mons 1}"
|
||||||
"5,persistent=true,monitor:${builtins.elemAt mons 1}"
|
"5,persistent=true,monitor:${builtins.elemAt mons 1}"
|
||||||
"6,persistent=true,monitor:${builtins.elemAt mons 1}"
|
"6,persistent=true,monitor:${builtins.elemAt mons 1}"
|
||||||
] else if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout == "singlemonitor") then [
|
] else if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout
|
||||||
"1,persistent=true,monitor:${builtins.elemAt mons 0} "
|
== "singlemonitor") then [
|
||||||
"2,persistent=true,monitor:${builtins.elemAt mons 0}"
|
"1,persistent=true,monitor:${builtins.elemAt mons 0} "
|
||||||
"3,persistent=true,monitor:${builtins.elemAt mons 0}"
|
"2,persistent=true,monitor:${builtins.elemAt mons 0}"
|
||||||
"4,persistent=true,monitor:${builtins.elemAt mons 0}"
|
"3,persistent=true,monitor:${builtins.elemAt mons 0}"
|
||||||
] else if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout == "trimonitor") then [
|
"4,persistent=true,monitor:${builtins.elemAt mons 0}"
|
||||||
"1,persistent=true,monitor:${builtins.elemAt mons 2}"
|
] else if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout
|
||||||
"2,persistent=true,monitor:${builtins.elemAt mons 2}"
|
== "trimonitor") then [
|
||||||
"3,persistent=true,monitor:${builtins.elemAt mons 1}"
|
"1,persistent=true,monitor:${builtins.elemAt mons 2}"
|
||||||
"4,persistent=true,monitor:${builtins.elemAt mons 1}"
|
"2,persistent=true,monitor:${builtins.elemAt mons 2}"
|
||||||
"5,persistent=true,monitor:${builtins.elemAt mons 0}"
|
"3,persistent=true,monitor:${builtins.elemAt mons 1}"
|
||||||
"6,persistent=true,monitor:${builtins.elemAt mons 0}"
|
"4,persistent=true,monitor:${builtins.elemAt mons 1}"
|
||||||
] else [];
|
"5,persistent=true,monitor:${builtins.elemAt mons 0}"
|
||||||
|
"6,persistent=true,monitor:${builtins.elemAt mons 0}"
|
||||||
|
] else
|
||||||
|
[ ];
|
||||||
|
|
||||||
env = [
|
env = [
|
||||||
"XDG_CONFIG_HOME,$HOME/.config"
|
"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};
|
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
|
||||||
scheme = config.lib.stylix.colors;
|
scheme = config.lib.stylix.colors;
|
||||||
in {
|
in {
|
||||||
imports = [inputs.spicetify-nix.homeManagerModules.default];
|
imports = [ inputs.spicetify-nix.homeManagerModules.default ];
|
||||||
options = {
|
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 {
|
config = lib.mkIf config.movOpts.envConfig.spicetifyConfig.enable {
|
||||||
nixpkgs.config.allowUnfreePredicate = pkg:
|
nixpkgs.config.allowUnfreePredicate = pkg:
|
||||||
builtins.elem (lib.getName pkg) [
|
builtins.elem (lib.getName pkg) [ "spotify" ];
|
||||||
"spotify"
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.spicetify = {
|
programs.spicetify = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{config, lib, inputs, ... }: {
|
{ config, lib, inputs, ... }: {
|
||||||
options = {
|
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 {
|
config = lib.mkIf config.movOpts.envConfig.starshipConfig.enable {
|
||||||
programs.starship = {
|
programs.starship = {
|
||||||
@@ -23,7 +24,9 @@
|
|||||||
format = "[$user]($style)";
|
format = "[$user]($style)";
|
||||||
};
|
};
|
||||||
directory = {
|
directory = {
|
||||||
format = "\n[$path](bold cyan)[/](bold green) ";
|
format = ''
|
||||||
|
|
||||||
|
[$path](bold cyan)[/](bold green) '';
|
||||||
style = "bold #b4befe";
|
style = "bold #b4befe";
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -42,7 +45,9 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
git_branch = {
|
git_branch = {
|
||||||
format = "\non [$symbol$branch](bold purple)";
|
format = ''
|
||||||
|
|
||||||
|
on [$symbol$branch](bold purple)'';
|
||||||
symbol = " ";
|
symbol = " ";
|
||||||
truncation_length = 15;
|
truncation_length = 15;
|
||||||
style = "bold purple";
|
style = "bold purple";
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
{lib, self, config, pkgs, ... }:
|
{ lib, self, config, pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
scheme = "tokyo-night-dark";
|
scheme = "tokyo-night-dark";
|
||||||
wallpaper = "${self}/assets/wallpapers/dark-waves.jpg";
|
wallpaper = "${self}/assets/wallpapers/dark-waves.jpg";
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
options = {
|
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 {
|
config = lib.mkIf config.movOpts.envConfig.stylixHomeConfig.enable {
|
||||||
stylix = {
|
stylix = {
|
||||||
@@ -15,7 +15,7 @@ in
|
|||||||
image = wallpaper;
|
image = wallpaper;
|
||||||
polarity = "dark";
|
polarity = "dark";
|
||||||
autoEnable = true;
|
autoEnable = true;
|
||||||
opacity.terminal = 0.50;
|
opacity.terminal = 0.5;
|
||||||
targets = {
|
targets = {
|
||||||
waybar.enable = false;
|
waybar.enable = false;
|
||||||
btop.enable = false;
|
btop.enable = false;
|
||||||
@@ -26,15 +26,15 @@ in
|
|||||||
};
|
};
|
||||||
fonts = {
|
fonts = {
|
||||||
monospace = {
|
monospace = {
|
||||||
package = pkgs.nerdfonts.override {fonts = ["JetBrainsMono"];};
|
package = pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; };
|
||||||
name = "JetBrains Mono Nerd Font";
|
name = "JetBrains Mono Nerd Font";
|
||||||
};
|
};
|
||||||
sansSerif = {
|
sansSerif = {
|
||||||
package = pkgs.nerdfonts.override {fonts = ["JetBrainsMono"];};
|
package = pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; };
|
||||||
name = "JetBrains Mono Nerd Font";
|
name = "JetBrains Mono Nerd Font";
|
||||||
};
|
};
|
||||||
serif = {
|
serif = {
|
||||||
package = pkgs.nerdfonts.override {fonts = ["JetBrainsMono"];};
|
package = pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; };
|
||||||
name = "JetBrains Mono Nerd Font";
|
name = "JetBrains Mono Nerd Font";
|
||||||
};
|
};
|
||||||
sizes = {
|
sizes = {
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
{lib, config, pkgs, ...}: {
|
{ lib, config, pkgs, ... }: {
|
||||||
options = {
|
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 {
|
config = lib.mkIf config.movOpts.envConfig.swayncConfig.enable {
|
||||||
home.packages = with pkgs; [swaynotificationcenter];
|
home.packages = with pkgs; [ swaynotificationcenter ];
|
||||||
xdg.configFile."swaync/style.css".text = ''
|
xdg.configFile."swaync/style.css".text = ''
|
||||||
@define-color shadow rgba(0, 0, 0, 0.25);
|
@define-color shadow rgba(0, 0, 0, 0.25);
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{lib, config, pkgs, self, ... }:
|
{ lib, config, pkgs, self, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
extraFigletFonts = pkgs.fetchFromGitHub {
|
extraFigletFonts = pkgs.fetchFromGitHub {
|
||||||
@@ -8,7 +8,7 @@ let
|
|||||||
sha256 = "sha256-dAs7N66D2Fpy4/UB5Za1r2qb1iSAJR6TMmau1asxgtY=";
|
sha256 = "sha256-dAs7N66D2Fpy4/UB5Za1r2qb1iSAJR6TMmau1asxgtY=";
|
||||||
};
|
};
|
||||||
toilet-extrafonts = pkgs.toilet.overrideAttrs (oldAttrs: {
|
toilet-extrafonts = pkgs.toilet.overrideAttrs (oldAttrs: {
|
||||||
buildInputs = oldAttrs.buildInputs or [] ++ [extraFigletFonts];
|
buildInputs = oldAttrs.buildInputs or [ ] ++ [ extraFigletFonts ];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
make install PREFIX=$out
|
make install PREFIX=$out
|
||||||
@@ -16,36 +16,35 @@ let
|
|||||||
cp -r ${extraFigletFonts}/* $out/share/figlet
|
cp -r ${extraFigletFonts}/* $out/share/figlet
|
||||||
'';
|
'';
|
||||||
});
|
});
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
options = {
|
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 {
|
config = lib.mkIf config.movOpts.envConfig.userPkgs.enable {
|
||||||
home.packages = with pkgs;
|
home.packages = with pkgs; [
|
||||||
[
|
nemo
|
||||||
nemo
|
gtk3
|
||||||
gtk3
|
sqlite
|
||||||
sqlite
|
gimp
|
||||||
gimp
|
imagemagick
|
||||||
imagemagick
|
vlc
|
||||||
vlc
|
lolcat
|
||||||
lolcat
|
vesktop
|
||||||
vesktop
|
qbittorrent
|
||||||
qbittorrent
|
neovide
|
||||||
neovide
|
zsh
|
||||||
zsh
|
zsh-syntax-highlighting
|
||||||
zsh-syntax-highlighting
|
zsh-history-substring-search
|
||||||
zsh-history-substring-search
|
zsh-autosuggestions
|
||||||
zsh-autosuggestions
|
audacity
|
||||||
audacity
|
rustup
|
||||||
rustup
|
libreoffice
|
||||||
libreoffice
|
gtrash
|
||||||
gtrash
|
ripgrep
|
||||||
ripgrep
|
toilet-extrafonts
|
||||||
toilet-extrafonts
|
python3
|
||||||
python3
|
chafa
|
||||||
chafa
|
];
|
||||||
];
|
};
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{pkgs, host, lib, config, ...}:
|
{ pkgs, host, lib, config, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
desktop = host == "oganesson";
|
desktop = host == "oganesson";
|
||||||
@@ -13,16 +13,20 @@ let
|
|||||||
"6" = "六";
|
"6" = "六";
|
||||||
};
|
};
|
||||||
persistent-workspaces =
|
persistent-workspaces =
|
||||||
if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout == "singlemonitor") then {
|
if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout
|
||||||
"${builtins.elemAt monitors 0}" = [ 1 2 3 4 ];
|
== "singlemonitor") then {
|
||||||
} else if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout == "dualmonitor") then {
|
"${builtins.elemAt monitors 0}" = [ 1 2 3 4 ];
|
||||||
"${builtins.elemAt monitors 0}" = [ 1 2 3 ];
|
} else if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout
|
||||||
"${builtins.elemAt monitors 1}" = [ 4 5 6 ];
|
== "dualmonitor") then {
|
||||||
} else if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout == "trimonitor") then {
|
"${builtins.elemAt monitors 0}" = [ 1 2 3 ];
|
||||||
"${builtins.elemAt monitors 2}" = [ 1 2 ];
|
"${builtins.elemAt monitors 1}" = [ 4 5 6 ];
|
||||||
"${builtins.elemAt monitors 1}" = [ 3 4 ];
|
} else if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout
|
||||||
"${builtins.elemAt monitors 0}" = [ 5 6 ];
|
== "trimonitor") then {
|
||||||
} else {};
|
"${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;
|
monitors = config.movOpts.envConfig.hyprlandConfig.monitorNames;
|
||||||
in {
|
in {
|
||||||
options = {
|
options = {
|
||||||
movOpts.envConfig.waybarConfig.enable = lib.mkEnableOption "enables my waybar configuration";
|
movOpts.envConfig.waybarConfig.enable =
|
||||||
|
lib.mkEnableOption "enables my waybar configuration";
|
||||||
};
|
};
|
||||||
config = {
|
config = {
|
||||||
programs.waybar = {
|
programs.waybar = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.waybar.overrideAttrs (oa: {
|
package = pkgs.waybar.overrideAttrs (oa: {
|
||||||
mesonFlags = (oa.mesonFlags or []) ++ ["-Dexperimental=true"];
|
mesonFlags = (oa.mesonFlags or [ ]) ++ [ "-Dexperimental=true" ];
|
||||||
});
|
});
|
||||||
settings = {
|
settings = {
|
||||||
mainBar = {
|
mainBar = {
|
||||||
layer = "bottom";
|
layer = "bottom";
|
||||||
@@ -68,25 +73,13 @@ in {
|
|||||||
name = "mainBar";
|
name = "mainBar";
|
||||||
margin-left = 8;
|
margin-left = 8;
|
||||||
margin-top = 5;
|
margin-top = 5;
|
||||||
margin-right =
|
margin-right = if desktop then 8 else 5;
|
||||||
if desktop
|
|
||||||
then 8
|
|
||||||
else 5;
|
|
||||||
mode = "dock";
|
mode = "dock";
|
||||||
"gtk-layer-shell" = true;
|
"gtk-layer-shell" = true;
|
||||||
|
|
||||||
modules-left = [
|
modules-left = [ "hyprland/workspaces" "cava" ];
|
||||||
"hyprland/workspaces"
|
modules-center = [ "hyprland/window" ];
|
||||||
"cava"
|
modules-right = [ "group/hardware" "clock" "group/powerbtns" ];
|
||||||
];
|
|
||||||
modules-center = [
|
|
||||||
"hyprland/window"
|
|
||||||
];
|
|
||||||
modules-right = [
|
|
||||||
"group/hardware"
|
|
||||||
"clock"
|
|
||||||
"group/powerbtns"
|
|
||||||
];
|
|
||||||
|
|
||||||
"hyprland/workspaces" = workspaces;
|
"hyprland/workspaces" = workspaces;
|
||||||
|
|
||||||
@@ -107,16 +100,12 @@ in {
|
|||||||
waves = false;
|
waves = false;
|
||||||
noise_reduction = 0.77;
|
noise_reduction = 0.77;
|
||||||
input_delay = 1;
|
input_delay = 1;
|
||||||
format-icons = ["▁" "▂" "▃" "▄" "▅" "▆" "▇" "█"];
|
format-icons = [ "▁" "▂" "▃" "▄" "▅" "▆" "▇" "█" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
"group/hardware" = {
|
"group/hardware" = {
|
||||||
orientation = "inherit";
|
orientation = "inherit";
|
||||||
modules = [
|
modules = [ "custom/disk-icon" "memory" "cpu" ];
|
||||||
"custom/disk-icon"
|
|
||||||
"memory"
|
|
||||||
"cpu"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
"custom/disk-icon" = {
|
"custom/disk-icon" = {
|
||||||
@@ -146,34 +135,14 @@ in {
|
|||||||
return-type = "json";
|
return-type = "json";
|
||||||
rotate = 270;
|
rotate = 270;
|
||||||
format = "{icon}";
|
format = "{icon}";
|
||||||
format-icons = [
|
format-icons = [ "" "" "" "" "" "" "" "" "" ];
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
memory = {
|
memory = {
|
||||||
interval = 1;
|
interval = 1;
|
||||||
rotate = 270;
|
rotate = 270;
|
||||||
format = "{icon}";
|
format = "{icon}";
|
||||||
format-icons = [
|
format-icons = [ "" "" "" "" "" "" "" "" "" ];
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
];
|
|
||||||
max-length = 10;
|
max-length = 10;
|
||||||
tooltip-format = "RAM: {used:0.1f} GB / {total:0.1f} GB";
|
tooltip-format = "RAM: {used:0.1f} GB / {total:0.1f} GB";
|
||||||
};
|
};
|
||||||
@@ -182,17 +151,7 @@ in {
|
|||||||
interval = 1;
|
interval = 1;
|
||||||
rotate = 270;
|
rotate = 270;
|
||||||
format = "{icon}";
|
format = "{icon}";
|
||||||
format-icons = [
|
format-icons = [ "" "" "" "" "" "" "" "" "" ];
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
];
|
|
||||||
tooltip-format = "CPU: {usage:0.1f}%";
|
tooltip-format = "CPU: {usage:0.1f}%";
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -221,11 +180,7 @@ in {
|
|||||||
children-class = "power-drawer";
|
children-class = "power-drawer";
|
||||||
transition-left-to-right = false;
|
transition-left-to-right = false;
|
||||||
};
|
};
|
||||||
modules = [
|
modules = [ "custom/power" "custom/logout" "custom/reboot" ];
|
||||||
"custom/power"
|
|
||||||
"custom/logout"
|
|
||||||
"custom/reboot"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
clock = {
|
clock = {
|
||||||
@@ -234,292 +189,268 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
sideBar = {
|
sideBar = {
|
||||||
layer = "bottom";
|
layer = "bottom";
|
||||||
output =
|
output = if desktop then
|
||||||
if desktop
|
builtins.elemAt monitors 0
|
||||||
then builtins.elemAt monitors 0
|
else
|
||||||
else builtins.elemAt monitors 1;
|
builtins.elemAt monitors 1;
|
||||||
position = "right";
|
position = "right";
|
||||||
margin-top = 8;
|
margin-top = 8;
|
||||||
margin-right = 5;
|
margin-right = 5;
|
||||||
margin-bottom = 8;
|
margin-bottom = 8;
|
||||||
name = "sideBar";
|
name = "sideBar";
|
||||||
mode = "dock";
|
mode = "dock";
|
||||||
"gtk-layer-shell" = true;
|
"gtk-layer-shell" = true;
|
||||||
|
|
||||||
modules-left =
|
modules-left = if desktop then
|
||||||
if desktop
|
[ "hyprland/workspaces" ]
|
||||||
then [
|
else [
|
||||||
"hyprland/workspaces"
|
"group/brightness"
|
||||||
]
|
"battery"
|
||||||
else [
|
];
|
||||||
"group/brightness"
|
modules-center = [ ];
|
||||||
"battery"
|
modules-right = [ "network" "group/audio" ];
|
||||||
];
|
|
||||||
modules-center = [
|
|
||||||
];
|
|
||||||
modules-right = [
|
|
||||||
"network"
|
|
||||||
"group/audio"
|
|
||||||
];
|
|
||||||
|
|
||||||
"hyprland/workspaces" = workspaces;
|
"hyprland/workspaces" = workspaces;
|
||||||
|
|
||||||
"pulseaudio/slider" = {
|
"pulseaudio/slider" = { orientation = "vertical"; };
|
||||||
orientation = "vertical";
|
|
||||||
};
|
|
||||||
|
|
||||||
"group/audio" = {
|
"group/audio" = {
|
||||||
orientation = "vertical";
|
orientation = "vertical";
|
||||||
modules = [
|
modules = [ "pulseaudio/slider" "pulseaudio" ];
|
||||||
"pulseaudio/slider"
|
};
|
||||||
"pulseaudio"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
pulseaudio = {
|
pulseaudio = {
|
||||||
format = "{icon}";
|
format = "{icon}";
|
||||||
format-muted = " ";
|
format-muted = " ";
|
||||||
format-icons = {
|
format-icons = { default = [ " " " " ]; };
|
||||||
default = [
|
on-click = "pactl set-sink-mute @DEFAULT_SINK@ toggle";
|
||||||
" "
|
on-click-right =
|
||||||
" "
|
"hyprctl dispatch exec '[float;size 40% 55%] pavucontrol'";
|
||||||
];
|
};
|
||||||
};
|
|
||||||
on-click = "pactl set-sink-mute @DEFAULT_SINK@ toggle";
|
|
||||||
on-click-right = "hyprctl dispatch exec '[float;size 40% 55%] pavucontrol'";
|
|
||||||
};
|
|
||||||
|
|
||||||
network = {
|
network = {
|
||||||
interval = 30;
|
interval = 30;
|
||||||
format-wifi = " ";
|
format-wifi = " ";
|
||||||
tooltip-format-wifi = "{essid} ({signalStrength}%)";
|
tooltip-format-wifi = "{essid} ({signalStrength}%)";
|
||||||
format-ethernet = " ";
|
format-ethernet = " ";
|
||||||
tooltip-format-ethernet = "{ifname}";
|
tooltip-format-ethernet = "{ifname}";
|
||||||
format-disconnected = " ";
|
format-disconnected = " ";
|
||||||
tooltip-format-disconnected = "Disconnected";
|
tooltip-format-disconnected = "Disconnected";
|
||||||
on-click = "hyprctl dispatch exec '[float;size 40% 55%] kitty nmtui'";
|
on-click =
|
||||||
};
|
"hyprctl dispatch exec '[float;size 40% 55%] kitty nmtui'";
|
||||||
|
};
|
||||||
|
|
||||||
battery = {
|
battery = {
|
||||||
bat = "BAT1";
|
bat = "BAT1";
|
||||||
interval = 1;
|
interval = 1;
|
||||||
tooltip-format = "{capacity}%\nTil empty: {time}";
|
tooltip-format = ''
|
||||||
tooltip-format-charging = "{capacity}%\nTil full: {time}";
|
{capacity}%
|
||||||
format = "{icon}";
|
Til empty: {time}'';
|
||||||
format-icons = [
|
tooltip-format-charging = ''
|
||||||
""
|
{capacity}%
|
||||||
""
|
Til full: {time}'';
|
||||||
""
|
format = "{icon}";
|
||||||
""
|
format-icons = [ "" "" "" "" "" "" "" "" "" ];
|
||||||
""
|
format-charging = "";
|
||||||
""
|
};
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
];
|
|
||||||
format-charging = "";
|
|
||||||
};
|
|
||||||
|
|
||||||
"group/brightness" = {
|
"group/brightness" = {
|
||||||
orientation = "vertical";
|
orientation = "vertical";
|
||||||
modules = [
|
modules = [ "backlight" "backlight/slider" ];
|
||||||
"backlight"
|
};
|
||||||
"backlight/slider"
|
backlight = {
|
||||||
];
|
format = "";
|
||||||
};
|
tooltip = "{percentage}%";
|
||||||
backlight = {
|
};
|
||||||
format = "";
|
"backlight/slider" = {
|
||||||
tooltip = "{percentage}%";
|
min = 10;
|
||||||
};
|
max = 100;
|
||||||
"backlight/slider" = {
|
orientation = "vertical";
|
||||||
min = 10;
|
rotate = 180;
|
||||||
max = 100;
|
};
|
||||||
orientation = "vertical";
|
|
||||||
rotate = 180;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
style = ''
|
style = ''
|
||||||
* {
|
* {
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-family: "JetBrains Mono Nerd Font";
|
font-family: "JetBrains Mono Nerd Font";
|
||||||
}
|
}
|
||||||
|
|
||||||
window#waybar {
|
window#waybar {
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
border: 3px solid #${fg.light};
|
border: 3px solid #${fg.light};
|
||||||
background: rgba(23,29,35,0.50);
|
background: rgba(23,29,35,0.50);
|
||||||
margin: 20px;
|
margin: 20px;
|
||||||
}
|
}
|
||||||
window#waybar.empty #window {
|
window#waybar.empty #window {
|
||||||
background: none;
|
background: none;
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
#workspaces {
|
#workspaces {
|
||||||
margin: 3px;
|
margin: 3px;
|
||||||
background: #${bg.darker};
|
background: #${bg.darker};
|
||||||
border: 3px solid #${bg.dark};
|
border: 3px solid #${bg.dark};
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#workspaces button:hover {
|
#workspaces button:hover {
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#workspaces button.active {
|
#workspaces button.active {
|
||||||
background: #${fg.lightester};
|
background: #${fg.lightester};
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
color: #${bg.darkest};
|
color: #${bg.darkest};
|
||||||
}
|
}
|
||||||
|
|
||||||
#cava {
|
#cava {
|
||||||
background: #${bg.darker};
|
background: #${bg.darker};
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
border: 3px solid #${bg.dark};
|
border: 3px solid #${bg.dark};
|
||||||
margin: 3px 3px 3px 6px;
|
margin: 3px 3px 3px 6px;
|
||||||
padding: 0px 15px 0px 15px;
|
padding: 0px 15px 0px 15px;
|
||||||
color: #${colors.color6};
|
color: #${colors.color6};
|
||||||
}
|
}
|
||||||
|
|
||||||
#window {
|
#window {
|
||||||
margin: 3px;
|
margin: 3px;
|
||||||
background: #${bg.darker};
|
background: #${bg.darker};
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
border: 3px solid #${bg.dark};
|
border: 3px solid #${bg.dark};
|
||||||
padding: 0 15px 0 15px;
|
padding: 0 15px 0 15px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
#hardware {
|
#hardware {
|
||||||
margin: 3px;
|
margin: 3px;
|
||||||
padding: 0 10px 0 10px;
|
padding: 0 10px 0 10px;
|
||||||
background: #${bg.darker};
|
background: #${bg.darker};
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
border: 3px solid #${bg.dark};
|
border: 3px solid #${bg.dark};
|
||||||
}
|
}
|
||||||
|
|
||||||
#custom-disk-icon, #cpu, #memory {
|
#custom-disk-icon, #cpu, #memory {
|
||||||
margin-bottom: 4px;
|
margin-bottom: 4px;
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
#custom-disk-icon {
|
#custom-disk-icon {
|
||||||
color: #${colors.color4};
|
color: #${colors.color4};
|
||||||
}
|
}
|
||||||
|
|
||||||
#memory {
|
#memory {
|
||||||
color: #${colors.color1};
|
color: #${colors.color1};
|
||||||
}
|
}
|
||||||
|
|
||||||
#cpu {
|
#cpu {
|
||||||
color: #${colors.color3};
|
color: #${colors.color3};
|
||||||
}
|
}
|
||||||
|
|
||||||
#clock {
|
#clock {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
background: #${bg.darker};
|
background: #${bg.darker};
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
border: 3px solid #${bg.dark};
|
border: 3px solid #${bg.dark};
|
||||||
margin: 3px;
|
margin: 3px;
|
||||||
padding: 0 10px 0 10px;
|
padding: 0 10px 0 10px;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#powerbtns {
|
#powerbtns {
|
||||||
background: #${bg.darker};
|
background: #${bg.darker};
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
border: 3px solid #${bg.dark};
|
border: 3px solid #${bg.dark};
|
||||||
margin: 3px;
|
margin: 3px;
|
||||||
padding: 0 5px 0 10px;
|
padding: 0 5px 0 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#custom-power {
|
#custom-power {
|
||||||
color: #${colors.color2};
|
color: #${colors.color2};
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#custom-logout {
|
#custom-logout {
|
||||||
color: #${colors.color4};
|
color: #${colors.color4};
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#custom-reboot {
|
#custom-reboot {
|
||||||
color: #${colors.color0};
|
color: #${colors.color0};
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#audio {
|
#audio {
|
||||||
background: #${bg.darker};
|
background: #${bg.darker};
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
border: 3px solid #${bg.dark};
|
border: 3px solid #${bg.dark};
|
||||||
margin: 3px;
|
margin: 3px;
|
||||||
padding: 5px 0 10px 0;
|
padding: 5px 0 10px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#pulseaudio {
|
#pulseaudio {
|
||||||
color: #${colors.color1};
|
color: #${colors.color1};
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#backlight-slider slider,
|
#backlight-slider slider,
|
||||||
#pulseaudio-slider slider {
|
#pulseaudio-slider slider {
|
||||||
background: #${colors.color4};
|
background: #${colors.color4};
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
#backlight-slider trough,
|
#backlight-slider trough,
|
||||||
#pulseaudio-slider trough {
|
#pulseaudio-slider trough {
|
||||||
min-width: 9px;
|
min-width: 9px;
|
||||||
min-height: 90px;
|
min-height: 90px;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
background: #121212;
|
background: #121212;
|
||||||
}
|
}
|
||||||
|
|
||||||
#backlight-slider highlight,
|
#backlight-slider highlight,
|
||||||
#pulseaudio-slider highlight {
|
#pulseaudio-slider highlight {
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
background-color: #${colors.color4};
|
background-color: #${colors.color4};
|
||||||
}
|
}
|
||||||
|
|
||||||
#network {
|
#network {
|
||||||
color: #${colors.color1};
|
color: #${colors.color1};
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
background: #${bg.darker};
|
background: #${bg.darker};
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
border: 3px solid #${bg.dark};
|
border: 3px solid #${bg.dark};
|
||||||
margin: 3px;
|
margin: 3px;
|
||||||
padding: 5px 0 5px 6px;
|
padding: 5px 0 5px 6px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#brightness {
|
#brightness {
|
||||||
background: #${bg.darker};
|
background: #${bg.darker};
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
border: 3px solid #${bg.dark};
|
border: 3px solid #${bg.dark};
|
||||||
margin: 3px;
|
margin: 3px;
|
||||||
padding: 10px 0px 5px 0;
|
padding: 10px 0px 5px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#backlight {
|
#backlight {
|
||||||
color: #${colors.color4};
|
color: #${colors.color4};
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
padding: 0 4px 0 0;
|
padding: 0 4px 0 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#battery {
|
#battery {
|
||||||
color: #${colors.color4};
|
color: #${colors.color4};
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
background: #${bg.darker};
|
background: #${bg.darker};
|
||||||
border: 3px solid #${bg.dark};
|
border: 3px solid #${bg.dark};
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
margin: 3px;
|
margin: 3px;
|
||||||
padding: 5px 0 5px 0px;
|
padding: 5px 0 5px 0px;
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{lib, config, self, ...}: {
|
{ lib, config, self, ... }: {
|
||||||
options = {
|
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 {
|
config = lib.mkIf config.movOpts.envConfig.zshConfig.enable {
|
||||||
programs.zoxide = {
|
programs.zoxide = {
|
||||||
@@ -28,7 +29,8 @@
|
|||||||
svc = "sudo systemctl";
|
svc = "sudo systemctl";
|
||||||
viflake = "nvim flake.nix";
|
viflake = "nvim flake.nix";
|
||||||
iv = "invoke";
|
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
|
#git
|
||||||
"ga" = "playshellsound ${self}/assets/sound/gitadd.wav; git add";
|
"ga" = "playshellsound ${self}/assets/sound/gitadd.wav; git add";
|
||||||
@@ -52,7 +54,7 @@
|
|||||||
|
|
||||||
oh-my-zsh = {
|
oh-my-zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
plugins = ["git" "fzf"];
|
plugins = [ "git" "fzf" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
enableCompletion = true;
|
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.
|
# 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.
|
# 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_path = "${pkgs.base16-schemes}/share/themes/${ssh_base16}.yaml";
|
||||||
scheme_string = builtins.readFile scheme_path;
|
scheme_string = builtins.readFile scheme_path;
|
||||||
scheme_list = lib.splitString "\n" "${scheme_string}";
|
scheme_list = lib.splitString "\n" "${scheme_string}";
|
||||||
colors = lib.filter (line: builtins.match "^ *base[0-9A-F]{2}: .*" line != null) scheme_list;
|
colors =
|
||||||
ssh_scheme =
|
lib.filter (line: builtins.match "^ *base[0-9A-F]{2}: .*" line != null)
|
||||||
lib.lists.foldl' (
|
scheme_list;
|
||||||
acc: line: let
|
ssh_scheme = lib.lists.foldl' (acc: line:
|
||||||
splitLine = lib.splitString ": " line;
|
let
|
||||||
key = builtins.elemAt splitLine 0;
|
splitLine = lib.splitString ": " line;
|
||||||
value = builtins.elemAt splitLine 1;
|
key = builtins.elemAt splitLine 0;
|
||||||
trimmedKey = lib.trim key;
|
value = builtins.elemAt splitLine 1;
|
||||||
cleanValue_step1 = lib.splitString " " value;
|
trimmedKey = lib.trim key;
|
||||||
cleanValue_step2 = builtins.elemAt cleanValue_step1 0;
|
cleanValue_step1 = lib.splitString " " value;
|
||||||
cleanValue_final = builtins.substring 1 (builtins.stringLength cleanValue_step2 - 2) cleanValue_step2;
|
cleanValue_step2 = builtins.elemAt cleanValue_step1 0;
|
||||||
in
|
cleanValue_final =
|
||||||
acc // {"${trimmedKey}" = cleanValue_final;}
|
builtins.substring 1 (builtins.stringLength cleanValue_step2 - 2)
|
||||||
) {}
|
cleanValue_step2;
|
||||||
colors;
|
in acc // { "${trimmedKey}" = cleanValue_final; }) { } colors;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
options = {
|
options = {
|
||||||
movOpts.homeFiles.enable = lib.mkEnableOption "enables declared custom files";
|
movOpts.homeFiles.enable =
|
||||||
|
lib.mkEnableOption "enables declared custom files";
|
||||||
};
|
};
|
||||||
config = {
|
config = {
|
||||||
home.file = {
|
home.file = {
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{lib, config, ...}: {
|
{ lib, config, ... }: {
|
||||||
options = {
|
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 {
|
config = lib.mkIf config.movOpts.programConfigs.autojumpConfig.enable {
|
||||||
programs.autojump = {
|
programs.autojump = {
|
||||||
|
|||||||
@@ -1,13 +1,12 @@
|
|||||||
{lib, config, inputs, ...}: {
|
{ lib, config, inputs, ... }: {
|
||||||
options = {
|
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 {
|
config = lib.mkIf config.movOpts.programConfigs.batConfig.enable {
|
||||||
programs.bat = {
|
programs.bat = {
|
||||||
enable = true;
|
enable = true;
|
||||||
config = {
|
config = { pager = "less -FR"; };
|
||||||
pager = "less -FR";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{lib, config, pkgs, ...}: {
|
{ lib, config, pkgs, ... }: {
|
||||||
options = {
|
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 {
|
config = lib.mkIf config.movOpts.programConfigs.btopConfig.enable {
|
||||||
programs.btop = {
|
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 = {
|
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 {
|
config = lib.mkIf config.movOpts.programConfigs.cavaConfig.enable {
|
||||||
programs.cava = {
|
programs.cava = { enable = true; };
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,27 +1,9 @@
|
|||||||
{
|
{ env, host, nur, nixvim, self, inputs, username, config, home-manager, ... }: {
|
||||||
host,
|
imports = [ (import ./btop.nix) ] ++ [ (import ./yazi.nix) ]
|
||||||
nur,
|
++ [ (import ./kitty.nix) ] ++ [ (import ./fuzzel.nix) ]
|
||||||
nixvim,
|
++ [ (import ./eza.nix) ] ++ [ (import ./cava.nix) ]
|
||||||
self,
|
++ [ (import ./bat.nix) ] ++ [ (import ./fzf.nix) ]
|
||||||
inputs,
|
++ [ (import ./git.nix) ] ++ [ (import ./password-store.nix) ]
|
||||||
username,
|
++ [ (import ./autojump.nix) ] ++ [ (import ./firefox.nix) ]
|
||||||
config,
|
++ [ (import ./nixvim) ];
|
||||||
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 = {
|
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 {
|
config = lib.mkIf config.movOpts.programConfigs.ezaConfig.enable {
|
||||||
programs.eza = {
|
programs.eza = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableZshIntegration = false;
|
enableZshIntegration = false;
|
||||||
extraOptions = ["-1" "-h" "--group-directories-first"];
|
extraOptions = [ "-1" "-h" "--group-directories-first" ];
|
||||||
icons = "auto";
|
icons = "auto";
|
||||||
git = true;
|
git = true;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{lib, config, nur, username, self, pkgs, ... }: {
|
{ lib, config, nur, username, self, pkgs, ... }: {
|
||||||
options = {
|
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 {
|
config = lib.mkIf config.movOpts.programConfigs.firefoxConfig.enable {
|
||||||
programs.firefox = {
|
programs.firefox = {
|
||||||
@@ -22,7 +23,8 @@
|
|||||||
OverridePostUpdatePage = "";
|
OverridePostUpdatePage = "";
|
||||||
DontCheckDefaultBrowser = true;
|
DontCheckDefaultBrowser = true;
|
||||||
DisplayBookmarksToolbar = "always"; # alternatives: "always" or "newtab"
|
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;
|
SearchBar = "unified"; # alternative: "separate" isDefault = true;
|
||||||
};
|
};
|
||||||
profiles.${username} = {
|
profiles.${username} = {
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{config, lib, ...}: {
|
{ config, lib, ... }: {
|
||||||
options = {
|
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 {
|
config = lib.mkIf config.movOpts.programConfigs.fuzzelConfig.enable {
|
||||||
programs.fuzzel = {
|
programs.fuzzel = {
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{lib, config, ...}: {
|
{ lib, config, ... }: {
|
||||||
options = {
|
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 {
|
config = lib.mkIf config.movOpts.programConfigs.fzfConfig.enable {
|
||||||
programs.fzf = {
|
programs.fzf = {
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{lib, config, username, ...}: {
|
{ lib, config, username, ... }: {
|
||||||
options = {
|
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 {
|
config = lib.mkIf config.movOpts.programConfigs.gitConfig.enable {
|
||||||
programs.git = {
|
programs.git = {
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{lib, config, pkgs, ... }: {
|
{ lib, config, pkgs, ... }: {
|
||||||
options = {
|
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 {
|
config = lib.mkIf config.movOpts.programConfigs.kittyConfig.enable {
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
|
|||||||
@@ -1,34 +1,37 @@
|
|||||||
{...}: {
|
{ ... }: {
|
||||||
programs.nixvim = {
|
programs.nixvim = {
|
||||||
autoCmd = [
|
autoCmd = [
|
||||||
{
|
{
|
||||||
command = "FloatermNew --wintype=float --name=shadeterm --position=topright --autoclose=0 --silent --cwd=<buffer> --titleposition=left zsh";
|
command =
|
||||||
event = ["VimEnter"];
|
"FloatermNew --wintype=float --name=shadeterm --position=topright --autoclose=0 --silent --cwd=<buffer> --titleposition=left zsh";
|
||||||
pattern = ["*"];
|
event = [ "VimEnter" ];
|
||||||
|
pattern = [ "*" ];
|
||||||
desc = "Create a floating terminal, placed in the top right";
|
desc = "Create a floating terminal, placed in the top right";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
command = "silent! mkview";
|
command = "silent! mkview";
|
||||||
event = ["BufWinLeave"];
|
event = [ "BufWinLeave" ];
|
||||||
pattern = ["*"];
|
pattern = [ "*" ];
|
||||||
desc = "Save session window settings to be loaded next time the file is opened";
|
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 &";
|
command = "silent! !aplay ~/sound/sys/cd.wav > /dev/null 2>&1 &";
|
||||||
event = ["BufWinLeave"];
|
event = [ "BufWinLeave" ];
|
||||||
pattern = ["*"];
|
pattern = [ "*" ];
|
||||||
desc = "Play a neat little sound effect when you close neovim";
|
desc = "Play a neat little sound effect when you close neovim";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
command = "silent! loadview";
|
command = "silent! loadview";
|
||||||
event = ["BufWinEnter"];
|
event = [ "BufWinEnter" ];
|
||||||
pattern = ["*"];
|
pattern = [ "*" ];
|
||||||
desc = "Load previous session window settings for the opened file (folds, cursor pos, etc)";
|
desc =
|
||||||
|
"Load previous session window settings for the opened file (folds, cursor pos, etc)";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
command = "setlocal textwidth=135";
|
command = "setlocal textwidth=135";
|
||||||
event = ["BufWinEnter" "BufEnter"];
|
event = [ "BufWinEnter" "BufEnter" ];
|
||||||
pattern = ["*.md" "*.wiki" "*.txt"];
|
pattern = [ "*.md" "*.wiki" "*.txt" ];
|
||||||
desc = "Set automatic linebreaks in plain text file formats";
|
desc = "Set automatic linebreaks in plain text file formats";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,14 +1,3 @@
|
|||||||
{
|
{ env, config, pkgs, host, self, ... }: {
|
||||||
config,
|
imports = [ ./plugins ./options.nix ./keymaps.nix ./autocmd.nix ];
|
||||||
pkgs,
|
|
||||||
host,
|
|
||||||
self,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
./plugins
|
|
||||||
./options.nix
|
|
||||||
./keymaps.nix
|
|
||||||
./autocmd.nix
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,7 @@
|
|||||||
{
|
{ config, ... }:
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
let
|
let scheme = config.lib.stylix.colors;
|
||||||
scheme = config.lib.stylix.colors;
|
in {
|
||||||
in
|
|
||||||
{
|
|
||||||
programs.nixvim = {
|
programs.nixvim = {
|
||||||
colorschemes.base16 = {
|
colorschemes.base16 = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -2,9 +2,7 @@
|
|||||||
programs.nixvim = {
|
programs.nixvim = {
|
||||||
plugins.barbar = {
|
plugins.barbar = {
|
||||||
enable = false;
|
enable = false;
|
||||||
settings = {
|
settings = { auto_hide = 1; };
|
||||||
auto_hide = 1;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,11 +2,8 @@
|
|||||||
programs.nixvim = {
|
programs.nixvim = {
|
||||||
plugins.cmp = {
|
plugins.cmp = {
|
||||||
autoEnableSources = true;
|
autoEnableSources = true;
|
||||||
settings.sources = [
|
settings.sources =
|
||||||
{name = "nvim_lsp";}
|
[ { name = "nvim_lsp"; } { name = "path"; } { name = "buffer"; } ];
|
||||||
{name = "path";}
|
|
||||||
{name = "buffer";}
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
plugins.cmp-nvim-lsp.enable = true;
|
plugins.cmp-nvim-lsp.enable = true;
|
||||||
plugins.cmp-nvim-lsp-document-symbol.enable = true;
|
plugins.cmp-nvim-lsp-document-symbol.enable = true;
|
||||||
|
|||||||
@@ -2,9 +2,7 @@
|
|||||||
programs.nixvim = {
|
programs.nixvim = {
|
||||||
plugins.coq-nvim = {
|
plugins.coq-nvim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = { auto_start = false; };
|
||||||
auto_start = false;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ host, self, pkgs, ... }:
|
{ host, self, pkgs, env, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{pkgs, ...}: {
|
{ pkgs, ... }: {
|
||||||
programs.nixvim = {
|
programs.nixvim = {
|
||||||
extraPlugins = [
|
extraPlugins = [
|
||||||
(pkgs.vimUtils.buildVimPlugin {
|
(pkgs.vimUtils.buildVimPlugin {
|
||||||
|
|||||||
@@ -3,9 +3,7 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
notification = {
|
notification = {
|
||||||
overrideVimNotify = true;
|
overrideVimNotify = true;
|
||||||
window = {
|
window = { border = "rounded"; };
|
||||||
border = "rounded";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{pkgs, ...}: {
|
{ pkgs, ... }: {
|
||||||
programs.nixvim = {
|
programs.nixvim = {
|
||||||
extraPlugins = [
|
extraPlugins = [
|
||||||
(pkgs.vimUtils.buildVimPlugin {
|
(pkgs.vimUtils.buildVimPlugin {
|
||||||
@@ -11,8 +11,6 @@
|
|||||||
};
|
};
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
plugins = {
|
plugins = { haskell-scope-highlighting.enable = true; };
|
||||||
haskell-scope-highlighting.enable = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,81 +1,81 @@
|
|||||||
{
|
{
|
||||||
programs.nixvim = {
|
programs.nixvim = {
|
||||||
plugins = {
|
plugins = {
|
||||||
cmp-snippy.enable = true;
|
cmp-snippy.enable = true;
|
||||||
cmp = {
|
cmp = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
mapping = {
|
mapping = {
|
||||||
__raw = ''
|
__raw = ''
|
||||||
cmp.mapping.preset.insert({
|
cmp.mapping.preset.insert({
|
||||||
['<C-o>'] = cmp.mapping.close_docs(),
|
['<C-o>'] = cmp.mapping.close_docs(),
|
||||||
['<C-i>'] = cmp.mapping.open_docs(),
|
['<C-i>'] = cmp.mapping.open_docs(),
|
||||||
['<C-j>'] = cmp.mapping.scroll_docs(-4),
|
['<C-j>'] = cmp.mapping.scroll_docs(-4),
|
||||||
['<C-k>'] = cmp.mapping.scroll_docs(4),
|
['<C-k>'] = cmp.mapping.scroll_docs(4),
|
||||||
['<C-Space>'] = cmp.mapping.complete(),
|
['<C-Space>'] = cmp.mapping.complete(),
|
||||||
['<C-e>'] = cmp.mapping.abort(),
|
['<C-e>'] = cmp.mapping.abort(),
|
||||||
['<CR>'] = function(fallback)
|
['<CR>'] = function(fallback)
|
||||||
if cmp.visible() then
|
if cmp.visible() then
|
||||||
cmp.confirm()
|
cmp.confirm()
|
||||||
else
|
else
|
||||||
fallback()
|
fallback()
|
||||||
end
|
end
|
||||||
end, -- Added a comma here
|
end, -- Added a comma here
|
||||||
['<Tab>'] = function(fallback)
|
['<Tab>'] = function(fallback)
|
||||||
if cmp.visible() then
|
if cmp.visible() then
|
||||||
cmp.select_next_item()
|
cmp.select_next_item()
|
||||||
else
|
else
|
||||||
fallback()
|
fallback()
|
||||||
end
|
end
|
||||||
end, -- Added a comma here
|
end, -- Added a comma here
|
||||||
['<S-Tab>'] = function(fallback)
|
['<S-Tab>'] = function(fallback)
|
||||||
if cmp.visible() then
|
if cmp.visible() then
|
||||||
cmp.select_prev_item()
|
cmp.select_prev_item()
|
||||||
else
|
else
|
||||||
fallback()
|
fallback()
|
||||||
end
|
end
|
||||||
end -- No comma needed for the last item
|
end -- No comma needed for the last item
|
||||||
})
|
})
|
||||||
'';
|
'';
|
||||||
};
|
|
||||||
window = {
|
|
||||||
completion.border = "rounded";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
window = { completion.border = "rounded"; };
|
||||||
};
|
};
|
||||||
lsp = {
|
};
|
||||||
enable = true;
|
lsp = {
|
||||||
servers = {
|
enable = true;
|
||||||
bashls.enable = true;
|
servers = {
|
||||||
ccls.enable = true;
|
bashls.enable = true;
|
||||||
clangd.enable = true;
|
ccls.enable = true;
|
||||||
cmake.enable = true;
|
clangd.enable = true;
|
||||||
html.enable = true;
|
cmake.enable = true;
|
||||||
jsonls.enable = true;
|
html.enable = true;
|
||||||
lua_ls.enable = true;
|
jsonls.enable = true;
|
||||||
marksman.enable = true;
|
lua_ls.enable = true;
|
||||||
nixd = {
|
marksman.enable = true;
|
||||||
enable = true;
|
nixd = {
|
||||||
settings = {
|
enable = true;
|
||||||
nixd = {
|
settings = {
|
||||||
nixpkgs.expr = "import <nixpkgs> { }";
|
nixd = {
|
||||||
formatting.command = "nixfmt";
|
nixpkgs.expr = "import <nixpkgs> { }";
|
||||||
};
|
formatting.command = "nixfmt";
|
||||||
options = {
|
};
|
||||||
# uses Xenon config because it has every option exposed to it
|
options = {
|
||||||
nixos.expr = "(builtins.getFlake \"github:pagedMov/nixos-config\").nixosConfigurations.xenon.options";
|
# uses Xenon config because it has every option exposed to it
|
||||||
home.expr = "(builtins.getFlake \"github:pagedMov/nixos-config\").homeConfigurations.xenonHome.options";
|
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;
|
pyright.enable = true;
|
||||||
hls = {
|
sqls.enable = true;
|
||||||
enable = true;
|
hls = {
|
||||||
installGhc = true;
|
enable = true;
|
||||||
};
|
installGhc = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
};
|
||||||
|
}
|
||||||
|
|||||||
@@ -23,20 +23,20 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
sections = {
|
sections = {
|
||||||
lualine_a = ["mode"];
|
lualine_a = [ "mode" ];
|
||||||
lualine_b = ["buffers"];
|
lualine_b = [ "buffers" ];
|
||||||
lualine_c = [];
|
lualine_c = [ ];
|
||||||
lualine_x = ["searchcount" "fileformat" "filetype"];
|
lualine_x = [ "searchcount" "fileformat" "filetype" ];
|
||||||
lualine_y = ["branch" "diff" "diagnostics"];
|
lualine_y = [ "branch" "diff" "diagnostics" ];
|
||||||
lualine_z = ["location"];
|
lualine_z = [ "location" ];
|
||||||
};
|
};
|
||||||
inactive_sections = {
|
inactive_sections = {
|
||||||
lualine_a = [];
|
lualine_a = [ ];
|
||||||
lualine_b = [];
|
lualine_b = [ ];
|
||||||
lualine_c = ["filename"];
|
lualine_c = [ "filename" ];
|
||||||
lualine_x = ["location"];
|
lualine_x = [ "location" ];
|
||||||
lualine_y = [];
|
lualine_y = [ ];
|
||||||
lualine_z = [];
|
lualine_z = [ ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -2,7 +2,8 @@
|
|||||||
programs.nixvim.plugins.neocord = {
|
programs.nixvim.plugins.neocord = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
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";
|
logo_tooltip = "Neovim";
|
||||||
buttons = [
|
buttons = [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -2,9 +2,7 @@
|
|||||||
programs.nixvim.plugins.nvim-lightbulb = {
|
programs.nixvim.plugins.nvim-lightbulb = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
virtual_text = {
|
virtual_text = { enable = true; };
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
autocmd.enabled = 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 = {
|
programs.nixvim = {
|
||||||
plugins.telescope = {
|
plugins.telescope = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = { pickers = { find_files = { hidden = true; }; }; };
|
||||||
pickers = {
|
|
||||||
find_files = {
|
|
||||||
hidden = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,9 +10,7 @@
|
|||||||
};
|
};
|
||||||
matchParen = {
|
matchParen = {
|
||||||
hiSurroundAlways = true;
|
hiSurroundAlways = true;
|
||||||
offscreen = {
|
offscreen = { method = "popup"; };
|
||||||
method = "popup";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
treesitterIntegration = {
|
treesitterIntegration = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -1,15 +1,14 @@
|
|||||||
{lib, config, username, ...}: let
|
{ lib, config, username, ... }:
|
||||||
home = "/home/${username}";
|
let home = "/home/${username}";
|
||||||
in {
|
in {
|
||||||
options = {
|
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 {
|
config = lib.mkIf config.movOpts.programConfigs.passConfig.enable {
|
||||||
programs.password-store = {
|
programs.password-store = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = { PASSWORD_STORE_DIR = "${home}/.password-store"; };
|
||||||
PASSWORD_STORE_DIR = "${home}/.password-store";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{lib, config, ...}: {
|
{ lib, config, ... }: {
|
||||||
options = {
|
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 {
|
config = lib.mkIf config.movOpts.programConfigs.yaziConfig.enable {
|
||||||
programs.yazi = {
|
programs.yazi = {
|
||||||
|
|||||||
@@ -2,12 +2,7 @@
|
|||||||
|
|
||||||
pkgs.writeShellApplication {
|
pkgs.writeShellApplication {
|
||||||
name = "icanhazip";
|
name = "icanhazip";
|
||||||
runtimeInputs = with pkgs; [
|
runtimeInputs = with pkgs; [ iproute2 curl gawk coreutils ];
|
||||||
iproute2
|
|
||||||
curl
|
|
||||||
gawk
|
|
||||||
coreutils
|
|
||||||
];
|
|
||||||
text = ''
|
text = ''
|
||||||
if [ $# -eq 0 ]; then
|
if [ $# -eq 0 ]; then
|
||||||
echo "Public IP: $(curl -s icanhazip.com -4)"
|
echo "Public IP: $(curl -s icanhazip.com -4)"
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
{
|
{ pkgs }:
|
||||||
pkgs
|
|
||||||
}:
|
|
||||||
pkgs.writeShellApplication {
|
pkgs.writeShellApplication {
|
||||||
name = "invoke";
|
name = "invoke";
|
||||||
text = ''
|
text = ''
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
{
|
{ pkgs, }:
|
||||||
pkgs,
|
|
||||||
}:
|
|
||||||
pkgs.writeShellApplication {
|
pkgs.writeShellApplication {
|
||||||
name = "runbg";
|
name = "runbg";
|
||||||
runtimeInputs = with pkgs; [
|
runtimeInputs = with pkgs; [
|
||||||
coreutils # Provides `basename`, `which`, etc.
|
coreutils # Provides `basename`, `which`, etc.
|
||||||
bash # Provides the Bash shell
|
bash # Provides the Bash shell
|
||||||
util-linux # Provides `tty`
|
util-linux # Provides `tty`
|
||||||
];
|
];
|
||||||
text = ''
|
text = ''
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|||||||
@@ -1,13 +1,7 @@
|
|||||||
{
|
{ pkgs }:
|
||||||
pkgs
|
|
||||||
}:
|
|
||||||
pkgs.writeShellApplication {
|
pkgs.writeShellApplication {
|
||||||
name = "splash";
|
name = "splash";
|
||||||
runtimeInputs = with pkgs; [
|
runtimeInputs = with pkgs; [ lolcat toilet coreutils ];
|
||||||
lolcat
|
|
||||||
toilet
|
|
||||||
coreutils
|
|
||||||
];
|
|
||||||
text = ''
|
text = ''
|
||||||
echo "NixOS kernel ver. $(uname -a | awk '{print $3}') x86_64 GNU/Linux"
|
echo "NixOS kernel ver. $(uname -a | awk '{print $3}') x86_64 GNU/Linux"
|
||||||
date +"%A %B %-d %Y"
|
date +"%A %B %-d %Y"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{pkgs}:
|
{ pkgs }:
|
||||||
pkgs.writeShellApplication {
|
pkgs.writeShellApplication {
|
||||||
name = "toolbelt";
|
name = "toolbelt";
|
||||||
runtimeInputs = with pkgs; [
|
runtimeInputs = with pkgs; [
|
||||||
|
|||||||
@@ -1,12 +1,7 @@
|
|||||||
{pkgs}:
|
{ pkgs }:
|
||||||
pkgs.writeShellApplication {
|
pkgs.writeShellApplication {
|
||||||
name = "viconf";
|
name = "viconf";
|
||||||
runtimeInputs = with pkgs; [
|
runtimeInputs = with pkgs; [ coreutils fd ripgrep fzf ];
|
||||||
coreutils
|
|
||||||
fd
|
|
||||||
ripgrep
|
|
||||||
fzf
|
|
||||||
];
|
|
||||||
text = ''
|
text = ''
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
|||||||
@@ -6,15 +6,9 @@ let
|
|||||||
rev = "63dacb46bf939521bdc93981b4cbb7ecb58427a0";
|
rev = "63dacb46bf939521bdc93981b4cbb7ecb58427a0";
|
||||||
hash = "sha256-vboIEwIQojofItm2xGCdZCzW96U85l9nDW3ifMuAIdM=";
|
hash = "sha256-vboIEwIQojofItm2xGCdZCzW96U85l9nDW3ifMuAIdM=";
|
||||||
};
|
};
|
||||||
in
|
in pkgs.writeShellApplication {
|
||||||
pkgs.writeShellApplication {
|
|
||||||
name = "vipkg";
|
name = "vipkg";
|
||||||
runtimeInputs = with pkgs; [
|
runtimeInputs = with pkgs; [ coreutils fd ripgrep fzf ];
|
||||||
coreutils
|
|
||||||
fd
|
|
||||||
ripgrep
|
|
||||||
fzf
|
|
||||||
];
|
|
||||||
text = ''
|
text = ''
|
||||||
[ ! $# -eq 1 ] && echo "Usage: vipkg <nixpkgs package name>" && exit 1
|
[ ! $# -eq 1 ] && echo "Usage: vipkg <nixpkgs package name>" && exit 1
|
||||||
|
|
||||||
|
|||||||
@@ -1,40 +1,32 @@
|
|||||||
{
|
{ host, lib, config, self, pkgs, ... }:
|
||||||
host,
|
let
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
self,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
fetchfromgh = import ./nix/fetchfromgh.nix { inherit pkgs; };
|
fetchfromgh = import ./nix/fetchfromgh.nix { inherit pkgs; };
|
||||||
vipkg = import ./commands/vipkg.nix { inherit pkgs; };
|
vipkg = import ./commands/vipkg.nix { inherit pkgs; };
|
||||||
keyring = import ./wm-controls/keyring.nix { inherit pkgs; };
|
keyring = import ./wm-controls/keyring.nix { inherit pkgs; };
|
||||||
invoke = import ./commands/invoke.nix { inherit pkgs; };
|
invoke = import ./commands/invoke.nix { inherit pkgs; };
|
||||||
splash = import ./commands/splash.nix { inherit pkgs; };
|
splash = import ./commands/splash.nix { inherit pkgs; };
|
||||||
runbg = import ./commands/runbg.nix { inherit pkgs; };
|
runbg = import ./commands/runbg.nix { inherit pkgs; };
|
||||||
icanhazip = import ./commands/icanhazip.nix { inherit pkgs; };
|
icanhazip = import ./commands/icanhazip.nix { inherit pkgs; };
|
||||||
garbage-collect = import ./nix/garbage-collect.nix { inherit pkgs; };
|
garbage-collect = import ./nix/garbage-collect.nix { inherit pkgs; };
|
||||||
nsp = import ./nix/nsp.nix { inherit pkgs; };
|
nsp = import ./nix/nsp.nix { inherit pkgs; };
|
||||||
scheck = import ./wm-controls/s_check.nix { inherit pkgs; };
|
scheck = import ./wm-controls/s_check.nix { inherit pkgs; };
|
||||||
switchmon = import ./wm-controls/switchmon.nix { inherit pkgs; };
|
switchmon = import ./wm-controls/switchmon.nix { inherit pkgs; };
|
||||||
rebuild = import ./nix/rebuild.nix { inherit host self pkgs; };
|
rebuild = import ./nix/rebuild.nix { inherit host self pkgs; };
|
||||||
moveonscreen = import ./wm-controls/moveonscreen.nix { inherit pkgs; };
|
moveonscreen = import ./wm-controls/moveonscreen.nix { inherit pkgs; };
|
||||||
toolbelt = import ./commands/toolbelt.nix { inherit pkgs; };
|
toolbelt = import ./commands/toolbelt.nix { inherit pkgs; };
|
||||||
viconf = import ./commands/viconf.nix { inherit pkgs; };
|
viconf = import ./commands/viconf.nix { inherit pkgs; };
|
||||||
chscheme = import ./wm-controls/chscheme.nix { inherit pkgs; };
|
chscheme = import ./wm-controls/chscheme.nix { inherit pkgs; };
|
||||||
chpaper = import ./wm-controls/chpaper.nix { inherit pkgs; };
|
chpaper = import ./wm-controls/chpaper.nix { inherit pkgs; };
|
||||||
mkscreenshots = import ./wm-controls/mkscreenshots.nix { inherit pkgs; };
|
mkscreenshots = import ./wm-controls/mkscreenshots.nix { inherit pkgs; };
|
||||||
scriptOverride =
|
scriptOverride = doc: group: name:
|
||||||
doc:
|
lib.mkEnableOption "${doc}" // {
|
||||||
group:
|
default = config.movOpts.movScripts.enable
|
||||||
name:
|
&& config.movOpts.movScripts.${group}.enable;
|
||||||
lib.mkEnableOption
|
|
||||||
"${doc}" // {
|
|
||||||
default = config.movOpts.movScripts.enable && config.movOpts.movScripts.${group}.enable;
|
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
options = {
|
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
|
# Enable or disable by group
|
||||||
movOpts.movScripts.commandScripts.enable =
|
movOpts.movScripts.commandScripts.enable =
|
||||||
@@ -45,16 +37,20 @@ in {
|
|||||||
lib.mkEnableOption "Enables all Nix shortcut scripts";
|
lib.mkEnableOption "Enables all Nix shortcut scripts";
|
||||||
|
|
||||||
# Command Scripts
|
# Command Scripts
|
||||||
movOpts.movScripts.commandScripts.vipkg.enable =
|
movOpts.movScripts.commandScripts.vipkg.enable = scriptOverride
|
||||||
scriptOverride "Search through the nixpkgs/pkgs directory for a package derivation. Useful for overrides." "commandScripts" "vipkg";
|
"Search through the nixpkgs/pkgs directory for a package derivation. Useful for overrides."
|
||||||
|
"commandScripts" "vipkg";
|
||||||
movOpts.movScripts.commandScripts.icanhazip.enable =
|
movOpts.movScripts.commandScripts.icanhazip.enable =
|
||||||
scriptOverride "Enables the icanhazip command" "commandScripts" "icanhazip";
|
scriptOverride "Enables the icanhazip command" "commandScripts"
|
||||||
|
"icanhazip";
|
||||||
movOpts.movScripts.commandScripts.invoke.enable =
|
movOpts.movScripts.commandScripts.invoke.enable =
|
||||||
scriptOverride "Enables the invoke command" "commandScripts" "invoke";
|
scriptOverride "Enables the invoke command" "commandScripts" "invoke";
|
||||||
movOpts.movScripts.commandScripts.runbg.enable =
|
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 =
|
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 =
|
movOpts.movScripts.commandScripts.toolbelt.enable =
|
||||||
scriptOverride "Enables the toolbelt command" "commandScripts" "toolbelt";
|
scriptOverride "Enables the toolbelt command" "commandScripts" "toolbelt";
|
||||||
movOpts.movScripts.commandScripts.viconf.enable =
|
movOpts.movScripts.commandScripts.viconf.enable =
|
||||||
@@ -66,52 +62,78 @@ in {
|
|||||||
movOpts.movScripts.hyprlandControls.scheck.enable =
|
movOpts.movScripts.hyprlandControls.scheck.enable =
|
||||||
scriptOverride "Enables the scheck command" "hyprlandControls" "scheck";
|
scriptOverride "Enables the scheck command" "hyprlandControls" "scheck";
|
||||||
movOpts.movScripts.hyprlandControls.chscheme.enable =
|
movOpts.movScripts.hyprlandControls.chscheme.enable =
|
||||||
scriptOverride "Enables the chscheme command" "hyprlandControls" "chscheme";
|
scriptOverride "Enables the chscheme command" "hyprlandControls"
|
||||||
|
"chscheme";
|
||||||
movOpts.movScripts.hyprlandControls.keyring.enable =
|
movOpts.movScripts.hyprlandControls.keyring.enable =
|
||||||
scriptOverride "Enables the keyring command" "hyprlandControls" "keyring";
|
scriptOverride "Enables the keyring command" "hyprlandControls" "keyring";
|
||||||
movOpts.movScripts.hyprlandControls.moveonscreen.enable =
|
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 =
|
movOpts.movScripts.hyprlandControls.switchmon.enable =
|
||||||
scriptOverride "Moves cursor to the center of the second monitor" "hyprlandControls" "switchmon";
|
scriptOverride "Moves cursor to the center of the second monitor"
|
||||||
movOpts.movScripts.hyprlandControls.mkscreenshots.enable =
|
"hyprlandControls" "switchmon";
|
||||||
scriptOverride "Generates screenshots, and updates the README.md with the current rev hash" "hyprlandControls" "switchmon";
|
movOpts.movScripts.hyprlandControls.mkscreenshots.enable = scriptOverride
|
||||||
|
"Generates screenshots, and updates the README.md with the current rev hash"
|
||||||
|
"hyprlandControls" "switchmon";
|
||||||
|
|
||||||
# Nix Shortcuts
|
# Nix Shortcuts
|
||||||
movOpts.movScripts.nixShortcuts.fetchfromgh.enable =
|
movOpts.movScripts.nixShortcuts.fetchfromgh.enable = scriptOverride
|
||||||
scriptOverride "Provides a full pkgs.fetchFromGitHub call from a repository url" "nixShortcuts" "fetchfromgh";
|
"Provides a full pkgs.fetchFromGitHub call from a repository url"
|
||||||
|
"nixShortcuts" "fetchfromgh";
|
||||||
movOpts.movScripts.nixShortcuts.garbage-collect.enable =
|
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 =
|
movOpts.movScripts.nixShortcuts.nsp.enable =
|
||||||
scriptOverride "Enables nsp as an alias for 'nix-shell -p'" "nixShortcuts" "nsp";
|
scriptOverride "Enables nsp as an alias for 'nix-shell -p'" "nixShortcuts"
|
||||||
movOpts.movScripts.nixShortcuts.rebuild.enable =
|
"nsp";
|
||||||
scriptOverride "Enables rebuild as an alias for 'sudo nixos-rebuild switch'" "nixShortcuts" "rebuild";
|
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 {
|
config = lib.mkIf config.movOpts.movScripts.enable {
|
||||||
home.packages =
|
home.packages =
|
||||||
lib.optionals config.movOpts.movScripts.commandScripts.invoke.enable [ invoke ]
|
lib.optionals config.movOpts.movScripts.commandScripts.invoke.enable [
|
||||||
# Command Scripts Overrides
|
invoke
|
||||||
++ lib.optionals config.movOpts.movScripts.commandScripts.vipkg.enable [ vipkg ]
|
]
|
||||||
++ lib.optionals config.movOpts.movScripts.commandScripts.runbg.enable [ runbg ]
|
# Command Scripts Overrides
|
||||||
++ lib.optionals config.movOpts.movScripts.commandScripts.icanhazip.enable [ icanhazip ]
|
++ lib.optionals config.movOpts.movScripts.commandScripts.vipkg.enable
|
||||||
++ lib.optionals config.movOpts.movScripts.commandScripts.splash.enable [ splash ]
|
[ vipkg ]
|
||||||
++ lib.optionals config.movOpts.movScripts.commandScripts.toolbelt.enable [ toolbelt ]
|
++ lib.optionals config.movOpts.movScripts.commandScripts.runbg.enable
|
||||||
++ lib.optionals config.movOpts.movScripts.commandScripts.viconf.enable [ viconf ]
|
[ 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
|
# Hyprland Controls Overrides
|
||||||
++ lib.optionals config.movOpts.movScripts.hyprlandControls.chpaper.enable [ chpaper ]
|
++ lib.optionals config.movOpts.movScripts.hyprlandControls.chpaper.enable
|
||||||
++ lib.optionals config.movOpts.movScripts.hyprlandControls.scheck.enable [ scheck ]
|
[ chpaper ]
|
||||||
++ lib.optionals config.movOpts.movScripts.hyprlandControls.chscheme.enable [ chscheme ]
|
++ lib.optionals config.movOpts.movScripts.hyprlandControls.scheck.enable
|
||||||
++ lib.optionals config.movOpts.movScripts.hyprlandControls.keyring.enable [ keyring ]
|
[ scheck ] ++ lib.optionals
|
||||||
++ lib.optionals config.movOpts.movScripts.hyprlandControls.moveonscreen.enable [ moveonscreen ]
|
config.movOpts.movScripts.hyprlandControls.chscheme.enable [ chscheme ]
|
||||||
++ lib.optionals config.movOpts.movScripts.hyprlandControls.switchmon.enable [ switchmon ]
|
++ lib.optionals config.movOpts.movScripts.hyprlandControls.keyring.enable
|
||||||
++ lib.optionals config.movOpts.movScripts.hyprlandControls.mkscreenshots.enable [ mkscreenshots ]
|
[ 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
|
# Nix Shortcuts Overrides
|
||||||
++ lib.optionals config.movOpts.movScripts.nixShortcuts.fetchfromgh.enable [ fetchfromgh ]
|
++ lib.optionals config.movOpts.movScripts.nixShortcuts.fetchfromgh.enable
|
||||||
++ lib.optionals config.movOpts.movScripts.nixShortcuts.garbage-collect.enable [ garbage-collect ]
|
[ fetchfromgh ] ++ lib.optionals
|
||||||
++ lib.optionals config.movOpts.movScripts.nixShortcuts.nsp.enable [ nsp ]
|
config.movOpts.movScripts.nixShortcuts.garbage-collect.enable
|
||||||
++ lib.optionals config.movOpts.movScripts.nixShortcuts.rebuild.enable [ rebuild ];
|
[ 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 {
|
pkgs.writeShellApplication {
|
||||||
name = "fetchfromgh";
|
name = "fetchfromgh";
|
||||||
runtimeInputs = [
|
runtimeInputs = [ pkgs.nix-prefetch-scripts ];
|
||||||
pkgs.nix-prefetch-scripts
|
|
||||||
];
|
|
||||||
text = ''
|
text = ''
|
||||||
if [ $# -ne 1 ] || ! echo "$1" | grep -qE "[A-Za-z0-9_-]+/[A-Za-z0-9_-]+"; then
|
if [ $# -ne 1 ] || ! echo "$1" | grep -qE "[A-Za-z0-9_-]+/[A-Za-z0-9_-]+"; then
|
||||||
echo "Usage: fetchfromgh someuser/somerepo"
|
echo "Usage: fetchfromgh someuser/somerepo"
|
||||||
echo " - i.e. fetchfromgh pagedMov/nixos-config"
|
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
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! curl -s -o /dev/null -w "%{http_code}" "https://github.com/$1" | grep -q "200"; then
|
json=$(nix-prefetch-git --quiet "https://github.com/$1")
|
||||||
echo "Couldn't find that repository, curl returned 404."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
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 '"')
|
output="\
|
||||||
owner=$(echo "$url" | awk -F'/' '{print $(NF-1)}')
|
src = pkgs.fetchFromGitHub {
|
||||||
repo=$(echo "$url" | awk -F'/' '{print $NF}')
|
owner = \"$owner\";
|
||||||
rev=$(echo "$json" | jq '.rev' | tr -d '"')
|
repo = \"$repo\";
|
||||||
hash=$(echo "$json" | jq '.hash' | tr -d '"')
|
rev = \"$rev\";
|
||||||
|
hash = \"$hash\";
|
||||||
output="\
|
};
|
||||||
src = pkgs.fetchFromGitHub {
|
"
|
||||||
owner = \"$owner\";
|
echo "$output"
|
||||||
repo = \"$repo\";
|
|
||||||
rev = \"$rev\";
|
|
||||||
hash = \"$hash\";
|
|
||||||
};
|
|
||||||
"
|
|
||||||
echo "$output"
|
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
{
|
{ pkgs }:
|
||||||
pkgs
|
|
||||||
}:
|
|
||||||
pkgs.writeShellApplication {
|
pkgs.writeShellApplication {
|
||||||
name = "garbage-collect";
|
name = "garbage-collect";
|
||||||
runtimeInputs = with pkgs; [
|
runtimeInputs = with pkgs; [
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
{
|
{ pkgs }:
|
||||||
pkgs
|
|
||||||
}:
|
|
||||||
pkgs.writeShellApplication {
|
pkgs.writeShellApplication {
|
||||||
name = "nsp";
|
name = "nsp";
|
||||||
text = ''
|
text = ''
|
||||||
|
|||||||
@@ -1,8 +1,4 @@
|
|||||||
{
|
{ host, self, pkgs, }:
|
||||||
host,
|
|
||||||
self,
|
|
||||||
pkgs,
|
|
||||||
}:
|
|
||||||
pkgs.writeShellApplication {
|
pkgs.writeShellApplication {
|
||||||
name = "rebuild";
|
name = "rebuild";
|
||||||
text = ''
|
text = ''
|
||||||
|
|||||||
@@ -1,13 +1,7 @@
|
|||||||
{pkgs}:
|
{ pkgs }:
|
||||||
pkgs.writeShellApplication {
|
pkgs.writeShellApplication {
|
||||||
name = "chpaper";
|
name = "chpaper";
|
||||||
runtimeInputs = with pkgs; [
|
runtimeInputs = with pkgs; [ chafa fzf ripgrep findutils coreutils ];
|
||||||
chafa
|
|
||||||
fzf
|
|
||||||
ripgrep
|
|
||||||
findutils
|
|
||||||
coreutils
|
|
||||||
];
|
|
||||||
text = ''
|
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/$(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
|
[ "$paper" = "$\{self}/assets/wallpapers/" ] && echo "Cancelling wallpaper change" && exit 1
|
||||||
|
|||||||
@@ -1,10 +1,7 @@
|
|||||||
{ pkgs }:
|
{ pkgs }:
|
||||||
pkgs.writeShellApplication {
|
pkgs.writeShellApplication {
|
||||||
name = "chscheme";
|
name = "chscheme";
|
||||||
runtimeInputs = with pkgs; [
|
runtimeInputs = with pkgs; [ fzf coreutils ];
|
||||||
fzf
|
|
||||||
coreutils
|
|
||||||
];
|
|
||||||
text = ''
|
text = ''
|
||||||
selected_scheme=$(/usr/bin/env ls "$(nix-build '<nixpkgs>' -A base16-schemes)"/share/themes | \
|
selected_scheme=$(/usr/bin/env ls "$(nix-build '<nixpkgs>' -A base16-schemes)"/share/themes | \
|
||||||
sed 's/\.yaml//g' | \
|
sed 's/\.yaml//g' | \
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
{
|
{ pkgs }:
|
||||||
pkgs
|
|
||||||
}:
|
|
||||||
pkgs.writeShellApplication {
|
pkgs.writeShellApplication {
|
||||||
name = "keyring";
|
name = "keyring";
|
||||||
runtimeInputs = with pkgs; [
|
runtimeInputs = with pkgs; [
|
||||||
|
|||||||
@@ -2,15 +2,7 @@
|
|||||||
|
|
||||||
pkgs.writeShellApplication {
|
pkgs.writeShellApplication {
|
||||||
name = "mkscreenshots";
|
name = "mkscreenshots";
|
||||||
runtimeInputs = with pkgs; [
|
runtimeInputs = with pkgs; [ jq neofetch kitty coreutils nemo grimblast git ];
|
||||||
jq
|
|
||||||
neofetch
|
|
||||||
kitty
|
|
||||||
coreutils
|
|
||||||
nemo
|
|
||||||
grimblast
|
|
||||||
git
|
|
||||||
];
|
|
||||||
text = ''
|
text = ''
|
||||||
if [ -n "$(hyprctl clients -j | jq -r '.[] | select(.workspace.name == "4")')" ]; then
|
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."
|
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 {
|
pkgs.writeShellApplication {
|
||||||
name = "moveonscreen";
|
name = "moveonscreen";
|
||||||
runtimeInputs = with pkgs; [
|
runtimeInputs = with pkgs; [ hyprland jq coreutils gawk ];
|
||||||
hyprland
|
|
||||||
jq
|
|
||||||
coreutils
|
|
||||||
gawk
|
|
||||||
];
|
|
||||||
text = ''
|
text = ''
|
||||||
center_window=false
|
center_window=false
|
||||||
if [[ ! $# -eq 0 ]] && [[ $1 == "--center" ]]; then
|
if [[ ! $# -eq 0 ]] && [[ $1 == "--center" ]]; then
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
{
|
{ pkgs, }:
|
||||||
pkgs,
|
|
||||||
}:
|
|
||||||
pkgs.writeShellApplication {
|
pkgs.writeShellApplication {
|
||||||
name = "scheck";
|
name = "scheck";
|
||||||
text = ''
|
text = ''
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
{
|
{ pkgs, }:
|
||||||
pkgs,
|
|
||||||
}:
|
|
||||||
pkgs.writeShellApplication {
|
pkgs.writeShellApplication {
|
||||||
name = "switchmon";
|
name = "switchmon";
|
||||||
text = ''
|
text = ''
|
||||||
|
|||||||
@@ -1,13 +1,4 @@
|
|||||||
{
|
{ inputs, nixpkgs, config, self, username, host, lib, ... }: {
|
||||||
inputs,
|
|
||||||
nixpkgs,
|
|
||||||
config,
|
|
||||||
self,
|
|
||||||
username,
|
|
||||||
host,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
imports = [
|
||||||
./environment/starship.nix
|
./environment/starship.nix
|
||||||
./environment/userpkgs.nix
|
./environment/userpkgs.nix
|
||||||
|
|||||||
@@ -2,7 +2,8 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
options = {
|
options = {
|
||||||
movOpts.jellyfinConfig.enable = lib.mkEnableOption "Enables the server's jellyfin config";
|
movOpts.jellyfinConfig.enable =
|
||||||
|
lib.mkEnableOption "Enables the server's jellyfin config";
|
||||||
};
|
};
|
||||||
config = lib.mkIf config.movOpts.jellyfinConfig.enable {
|
config = lib.mkIf config.movOpts.jellyfinConfig.enable {
|
||||||
services.jellyfin = {
|
services.jellyfin = {
|
||||||
|
|||||||
@@ -1,10 +1,7 @@
|
|||||||
{ pkgs, lib, ... }:
|
{ pkgs, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [ ./cdn ./glasshaus ];
|
||||||
./cdn
|
|
||||||
./glasshaus
|
|
||||||
];
|
|
||||||
movOpts = {
|
movOpts = {
|
||||||
jellyfinConfig.enable = lib.mkDefault false;
|
jellyfinConfig.enable = lib.mkDefault false;
|
||||||
caddyConfig.enable = lib.mkDefault false;
|
caddyConfig.enable = lib.mkDefault false;
|
||||||
|
|||||||
@@ -2,7 +2,8 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
options = {
|
options = {
|
||||||
movOpts.caddyConfig.enable = lib.mkEnableOption "Enable my caddy config for the glasshaus.info domain name";
|
movOpts.caddyConfig.enable = lib.mkEnableOption
|
||||||
|
"Enable my caddy config for the glasshaus.info domain name";
|
||||||
};
|
};
|
||||||
config = lib.mkIf config.movOpts.caddyConfig.enable {
|
config = lib.mkIf config.movOpts.caddyConfig.enable {
|
||||||
services.caddy = {
|
services.caddy = {
|
||||||
|
|||||||
@@ -1,16 +1,3 @@
|
|||||||
{
|
{ inputs, nixpkgs, config, self, username, host, lib, ... }: {
|
||||||
inputs,
|
imports = [ ./hardware ./software ./environment ];
|
||||||
nixpkgs,
|
|
||||||
config,
|
|
||||||
self,
|
|
||||||
username,
|
|
||||||
host,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
./hardware
|
|
||||||
./software
|
|
||||||
./environment
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,16 +1,4 @@
|
|||||||
{
|
{ inputs, nixpkgs, nixvim, config, self, username, host, ... }: {
|
||||||
inputs,
|
imports = [ (import ./sddm.nix) ] ++ [ (import ./issue.nix) ]
|
||||||
nixpkgs,
|
++ [ (import ./nix.nix) ] ++ [ (import ./stylix.nix) ];
|
||||||
nixvim,
|
|
||||||
config,
|
|
||||||
self,
|
|
||||||
username,
|
|
||||||
host,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports =
|
|
||||||
[(import ./sddm.nix)]
|
|
||||||
++ [(import ./issue.nix)]
|
|
||||||
++ [(import ./nix.nix)]
|
|
||||||
++ [(import ./stylix.nix)];
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{lib, config, ...}: {
|
{ lib, config, ... }: {
|
||||||
options = {
|
options = {
|
||||||
movOpts.sysEnv.issue.enable = lib.mkEnableOption "enables custom /etc/issue splash screen for the tty";
|
movOpts.sysEnv.issue.enable =
|
||||||
|
lib.mkEnableOption "enables custom /etc/issue splash screen for the tty";
|
||||||
};
|
};
|
||||||
config = lib.mkIf config.movOpts.sysEnv.issue.enable {
|
config = lib.mkIf config.movOpts.sysEnv.issue.enable {
|
||||||
environment.etc."issue".text = ''
|
environment.etc."issue".text = ''
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{lib, config, ... }: {
|
{ lib, config, ... }: {
|
||||||
options = {
|
options = {
|
||||||
movOpts.sysEnv.nixSettings.enable = lib.mkEnableOption "enables my nixos settings";
|
movOpts.sysEnv.nixSettings.enable =
|
||||||
|
lib.mkEnableOption "enables my nixos settings";
|
||||||
};
|
};
|
||||||
config = lib.mkIf config.movOpts.sysEnv.nixSettings.enable {
|
config = lib.mkIf config.movOpts.sysEnv.nixSettings.enable {
|
||||||
system.stateVersion = "24.05";
|
system.stateVersion = "24.05";
|
||||||
@@ -8,8 +9,8 @@
|
|||||||
nix = {
|
nix = {
|
||||||
settings = {
|
settings = {
|
||||||
auto-optimise-store = true;
|
auto-optimise-store = true;
|
||||||
experimental-features = ["nix-command" "flakes"];
|
experimental-features = [ "nix-command" "flakes" ];
|
||||||
substituters = ["https://nix-gaming.cachix.org"];
|
substituters = [ "https://nix-gaming.cachix.org" ];
|
||||||
};
|
};
|
||||||
gc = {
|
gc = {
|
||||||
automatic = true;
|
automatic = true;
|
||||||
|
|||||||
@@ -1,24 +1,17 @@
|
|||||||
{
|
{ pkgs, self, lib, config, ... }: {
|
||||||
pkgs,
|
|
||||||
self,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
options = {
|
options = {
|
||||||
movOpts.sysEnv.sddmConfig.enable = lib.mkEnableOption "enables custom sddm configuration";
|
movOpts.sysEnv.sddmConfig.enable =
|
||||||
|
lib.mkEnableOption "enables custom sddm configuration";
|
||||||
};
|
};
|
||||||
config = lib.mkIf config.movOpts.sysEnv.sddmConfig.enable {
|
config = lib.mkIf config.movOpts.sysEnv.sddmConfig.enable {
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
(
|
(pkgs.catppuccin-sddm.override {
|
||||||
pkgs.catppuccin-sddm.override {
|
flavor = "mocha";
|
||||||
flavor = "mocha";
|
font = "JetBrains Mono Nerd Font";
|
||||||
font = "JetBrains Mono Nerd Font";
|
fontSize = "14";
|
||||||
fontSize = "14";
|
loginBackground = true;
|
||||||
loginBackground = true;
|
background = "${self}/assets/wallpapers/dark-waves.jpg";
|
||||||
background = "${self}/assets/wallpapers/dark-waves.jpg";
|
})
|
||||||
}
|
|
||||||
)
|
|
||||||
];
|
];
|
||||||
services.displayManager.sddm = {
|
services.displayManager.sddm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -1,18 +1,12 @@
|
|||||||
{
|
{ pkgs, self, lib, config, ... }:
|
||||||
pkgs,
|
|
||||||
self,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
let
|
let
|
||||||
scheme = "tokyo-night-dark";
|
scheme = "tokyo-night-dark";
|
||||||
wallpaper = "${self}/assets/wallpapers/dark-waves.jpg";
|
wallpaper = "${self}/assets/wallpapers/dark-waves.jpg";
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
options = {
|
options = {
|
||||||
movOpts.sysEnv.stylixConfig.enable = lib.mkEnableOption "enables custom stylix options";
|
movOpts.sysEnv.stylixConfig.enable =
|
||||||
|
lib.mkEnableOption "enables custom stylix options";
|
||||||
};
|
};
|
||||||
config = lib.mkIf config.movOpts.sysEnv.stylixConfig.enable {
|
config = lib.mkIf config.movOpts.sysEnv.stylixConfig.enable {
|
||||||
stylix = {
|
stylix = {
|
||||||
@@ -25,7 +19,7 @@ in
|
|||||||
};
|
};
|
||||||
polarity = "dark";
|
polarity = "dark";
|
||||||
autoEnable = true;
|
autoEnable = true;
|
||||||
opacity.terminal = 0.50;
|
opacity.terminal = 0.5;
|
||||||
targets = {
|
targets = {
|
||||||
console.enable = true;
|
console.enable = true;
|
||||||
feh.enable = true;
|
feh.enable = true;
|
||||||
@@ -39,15 +33,15 @@ in
|
|||||||
};
|
};
|
||||||
fonts = {
|
fonts = {
|
||||||
monospace = {
|
monospace = {
|
||||||
package = pkgs.nerdfonts.override {fonts = ["JetBrainsMono"];};
|
package = pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; };
|
||||||
name = "JetBrains Mono Nerd Font";
|
name = "JetBrains Mono Nerd Font";
|
||||||
};
|
};
|
||||||
sansSerif = {
|
sansSerif = {
|
||||||
package = pkgs.nerdfonts.override {fonts = ["JetBrainsMono"];};
|
package = pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; };
|
||||||
name = "JetBrains Mono Nerd Font";
|
name = "JetBrains Mono Nerd Font";
|
||||||
};
|
};
|
||||||
serif = {
|
serif = {
|
||||||
package = pkgs.nerdfonts.override {fonts = ["JetBrainsMono"];};
|
package = pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; };
|
||||||
name = "JetBrains Mono Nerd Font";
|
name = "JetBrains Mono Nerd Font";
|
||||||
};
|
};
|
||||||
sizes = {
|
sizes = {
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{pkgs, lib, config, ...}: {
|
{ pkgs, lib, config, ... }: {
|
||||||
options = {
|
options = {
|
||||||
movOpts.hardwareCfg.bootLoader.enable = lib.mkEnableOption "enables bootloader config";
|
movOpts.hardwareCfg.bootLoader.enable =
|
||||||
|
lib.mkEnableOption "enables bootloader config";
|
||||||
};
|
};
|
||||||
config = lib.mkIf config.movOpts.hardwareCfg.bootLoader.enable {
|
config = lib.mkIf config.movOpts.hardwareCfg.bootLoader.enable {
|
||||||
boot = {
|
boot = {
|
||||||
|
|||||||
@@ -1,15 +1,4 @@
|
|||||||
{
|
{ inputs, nixpkgs, nixvim, config, self, username, host, ... }: {
|
||||||
inputs,
|
imports = [ (import ./bootloader.nix) ] ++ [ (import ./network.nix) ]
|
||||||
nixpkgs,
|
++ [ (import ./powerprofiles.nix) ];
|
||||||
nixvim,
|
|
||||||
config,
|
|
||||||
self,
|
|
||||||
username,
|
|
||||||
host,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports =
|
|
||||||
[(import ./bootloader.nix)]
|
|
||||||
++ [(import ./network.nix)]
|
|
||||||
++ [(import ./powerprofiles.nix)];
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
{host, lib, config, ...}:
|
{ host, lib, config, ... }: {
|
||||||
{
|
|
||||||
options = {
|
options = {
|
||||||
movOpts.hardwareCfg.networkModule.enable = lib.mkEnableOption "enables network configuration";
|
movOpts.hardwareCfg.networkModule.enable =
|
||||||
|
lib.mkEnableOption "enables network configuration";
|
||||||
};
|
};
|
||||||
config = lib.mkIf config.movOpts.hardwareCfg.networkModule.enable {
|
config = lib.mkIf config.movOpts.hardwareCfg.networkModule.enable {
|
||||||
networking = {
|
networking = {
|
||||||
networkmanager.enable = true;
|
networkmanager.enable = true;
|
||||||
hostName = "${host}";
|
hostName = "${host}";
|
||||||
hosts = {
|
hosts = {
|
||||||
"192.168.1.200" = ["xenon"];
|
"192.168.1.200" = [ "xenon" ];
|
||||||
"192.168.1.201" = ["oganesson"];
|
"192.168.1.201" = [ "oganesson" ];
|
||||||
"192.168.1.202" = ["mercury"];
|
"192.168.1.202" = [ "mercury" ];
|
||||||
};
|
};
|
||||||
firewall = {
|
firewall = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{lib, config, ... }: {
|
{ lib, config, ... }: {
|
||||||
options = {
|
options = {
|
||||||
movOpts.hardwareCfg.powerProfiles.enable = lib.mkEnableOption "enables power profiles";
|
movOpts.hardwareCfg.powerProfiles.enable =
|
||||||
|
lib.mkEnableOption "enables power profiles";
|
||||||
};
|
};
|
||||||
config = lib.mkIf config.movOpts.hardwareCfg.powerProfiles.enable {
|
config = lib.mkIf config.movOpts.hardwareCfg.powerProfiles.enable {
|
||||||
services = {
|
services = {
|
||||||
|
|||||||
@@ -1,16 +1,5 @@
|
|||||||
{
|
{ inputs, nixpkgs, config, self, username, host, ... }: {
|
||||||
inputs,
|
imports = [ (import ./packages.nix) ] ++ [ (import ./programs.nix) ]
|
||||||
nixpkgs,
|
++ [ (import ./services.nix) ] ++ [ (import ./virtualization.nix) ]
|
||||||
config,
|
++ [ (import ./gaming) ];
|
||||||
self,
|
|
||||||
username,
|
|
||||||
host,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports =
|
|
||||||
[(import ./packages.nix)]
|
|
||||||
++ [(import ./programs.nix)]
|
|
||||||
++ [(import ./services.nix)]
|
|
||||||
++ [(import ./virtualization.nix)]
|
|
||||||
++ [(import ./gaming)];
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,3 @@
|
|||||||
{...}: {
|
{ ... }: {
|
||||||
imports =
|
imports = [ (import ./steam.nix) ] ++ [ (import ./gaming_pkgs.nix) ];
|
||||||
[(import ./steam.nix)]
|
|
||||||
++ [(import ./gaming_pkgs.nix)];
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,23 +1,20 @@
|
|||||||
{lib, config, pkgs, ...}:
|
{ lib, config, pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
cust-openrct2 = pkgs.openrct2.overrideAttrs (oldAttrs: {
|
cust-openrct2 = pkgs.openrct2.overrideAttrs (oldAttrs: {
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
"-DDOWNLOAD_OBJECTS=ON"
|
"-DDOWNLOAD_OBJECTS=ON"
|
||||||
"-DDOWNLOAD_OPENMSX=ON"
|
"-DDOWNLOAD_OPENMSX=ON"
|
||||||
"-DDOWNLOAD_OPENSFX=ON"
|
"-DDOWNLOAD_OPENSFX=ON"
|
||||||
"-DDOWNLOAD_TITLE_SEQUENCES=ON"
|
"-DDOWNLOAD_TITLE_SEQUENCES=ON"
|
||||||
];
|
];
|
||||||
});
|
});
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
options = {
|
options = {
|
||||||
movOpts.softwareCfg.gamingPkgs.enable = lib.mkEnableOption "enables gaming packages";
|
movOpts.softwareCfg.gamingPkgs.enable =
|
||||||
|
lib.mkEnableOption "enables gaming packages";
|
||||||
};
|
};
|
||||||
config = lib.mkIf config.movOpts.softwareCfg.gamingPkgs.enable {
|
config = lib.mkIf config.movOpts.softwareCfg.gamingPkgs.enable {
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [ snes9x-gtk cust-openrct2 ];
|
||||||
snes9x-gtk
|
|
||||||
cust-openrct2
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{lib, config, ...}: {
|
{ lib, config, ... }: {
|
||||||
options = {
|
options = {
|
||||||
movOpts.softwareCfg.steamConfig.enable = lib.mkEnableOption "enables steam configuration";
|
movOpts.softwareCfg.steamConfig.enable =
|
||||||
|
lib.mkEnableOption "enables steam configuration";
|
||||||
};
|
};
|
||||||
config = lib.mkIf config.movOpts.softwareCfg.steamConfig.enable {
|
config = lib.mkIf config.movOpts.softwareCfg.steamConfig.enable {
|
||||||
programs.steam = {
|
programs.steam = {
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{lib, config, pkgs, inputs, ... }: {
|
{ lib, config, pkgs, inputs, ... }: {
|
||||||
options = {
|
options = {
|
||||||
movOpts.softwareCfg.sysPkgs.enable = lib.mkEnableOption "enables default system packages";
|
movOpts.softwareCfg.sysPkgs.enable =
|
||||||
|
lib.mkEnableOption "enables default system packages";
|
||||||
};
|
};
|
||||||
config = lib.mkIf config.movOpts.softwareCfg.sysPkgs.enable {
|
config = lib.mkIf config.movOpts.softwareCfg.sysPkgs.enable {
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{lib, config, pkgs, ...}: {
|
{ lib, config, pkgs, ... }: {
|
||||||
options = {
|
options = {
|
||||||
movOpts.softwareCfg.sysProgs.enable = lib.mkEnableOption "enables default system programs";
|
movOpts.softwareCfg.sysProgs.enable =
|
||||||
|
lib.mkEnableOption "enables default system programs";
|
||||||
};
|
};
|
||||||
config = lib.mkIf config.movOpts.softwareCfg.sysProgs.enable {
|
config = lib.mkIf config.movOpts.softwareCfg.sysProgs.enable {
|
||||||
programs = {
|
programs = {
|
||||||
@@ -8,10 +9,7 @@
|
|||||||
zsh.enable = lib.mkDefault true;
|
zsh.enable = lib.mkDefault true;
|
||||||
nix-ld = {
|
nix-ld = {
|
||||||
enable = lib.mkDefault true;
|
enable = lib.mkDefault true;
|
||||||
libraries = with pkgs; [
|
libraries = with pkgs; [ stdenv.cc.cc ffmpeg-full ];
|
||||||
stdenv.cc.cc
|
|
||||||
ffmpeg-full
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
gnupg.agent = {
|
gnupg.agent = {
|
||||||
enable = lib.mkDefault true;
|
enable = lib.mkDefault true;
|
||||||
|
|||||||
@@ -1,16 +1,15 @@
|
|||||||
{lib, config, ...}: {
|
{ lib, config, ... }: {
|
||||||
options = {
|
options = {
|
||||||
movOpts.softwareCfg.sysServices.enable = lib.mkEnableOption "enables default system services";
|
movOpts.softwareCfg.sysServices.enable =
|
||||||
|
lib.mkEnableOption "enables default system services";
|
||||||
};
|
};
|
||||||
config = lib.mkIf config.movOpts.softwareCfg.sysServices.enable {
|
config = lib.mkIf config.movOpts.softwareCfg.sysServices.enable {
|
||||||
services = {
|
services = {
|
||||||
keyd = {
|
keyd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
keyboards.default = {
|
keyboards.default = {
|
||||||
ids = ["*"];
|
ids = [ "*" ];
|
||||||
settings.main = {
|
settings.main = { capslock = "esc"; };
|
||||||
capslock = "esc";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
pipewire = {
|
pipewire = {
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{lib, config, username, ...}: {
|
{ lib, config, username, ... }: {
|
||||||
options = {
|
options = {
|
||||||
movOpts.softwareCfg.virtConfig.enable = lib.mkEnableOption "enables virtualization";
|
movOpts.softwareCfg.virtConfig.enable =
|
||||||
|
lib.mkEnableOption "enables virtualization";
|
||||||
};
|
};
|
||||||
config = lib.mkIf config.movOpts.softwareCfg.virtConfig.enable {
|
config = lib.mkIf config.movOpts.softwareCfg.virtConfig.enable {
|
||||||
virtualisation.libvirtd.enable = true;
|
virtualisation.libvirtd.enable = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user