Compare commits
3 commits
main
...
flake-part
Author | SHA1 | Date | |
---|---|---|---|
a8e19d23b4 | |||
5e550368b1 | |||
1bcf87a248 |
28 changed files with 353 additions and 2364 deletions
.sops.yamlflake.lockflake.nix
flakeModules/builders
home
hosts
modules
pkgs
secrets.yaml
|
@ -3,11 +3,9 @@ keys:
|
||||||
- &ravenshade age1zgd7qpj7vc4gjtetttqgp32aw75fmnjrw6ax2x2meul2w4jclytszvutdd
|
- &ravenshade age1zgd7qpj7vc4gjtetttqgp32aw75fmnjrw6ax2x2meul2w4jclytszvutdd
|
||||||
hosts:
|
hosts:
|
||||||
- &snowhawk age1s549sffdhu2yyfk9h06hhks7xc4mqq9a6k53dleurr7y3rmuudpqwz24gv
|
- &snowhawk age1s549sffdhu2yyfk9h06hhks7xc4mqq9a6k53dleurr7y3rmuudpqwz24gv
|
||||||
- &llynx age1vtsdlkxr3wuy5vtrpwfdr6sy7duzl06htusdu3as2knvfzvhhakqmc70rj
|
|
||||||
creation_rules:
|
creation_rules:
|
||||||
- path_regex: secrets.yaml$
|
- path_regex: secrets.yaml$
|
||||||
key_groups:
|
key_groups:
|
||||||
- age:
|
- age:
|
||||||
- *ravenshade
|
- *ravenshade
|
||||||
- *snowhawk
|
- *snowhawk
|
||||||
- *llynx
|
|
||||||
|
|
999
flake.lock
999
flake.lock
File diff suppressed because it is too large
Load diff
108
flake.nix
108
flake.nix
|
@ -2,81 +2,77 @@
|
||||||
description = "snowhawk: a nixos configuration flake";
|
description = "snowhawk: a nixos configuration flake";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
# Nix
|
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
|
||||||
lix-module = { url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.0.tar.gz"; inputs.nixpkgs.follows = "nixpkgs"; };
|
lix-module = { url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.0.tar.gz"; inputs.nixpkgs.follows = "nixpkgs"; };
|
||||||
|
neovim-overlay = { url = "github:nix-community/neovim-nightly-overlay"; inputs.nixpkgs.follows = "nixpkgs"; };
|
||||||
home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; };
|
home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; };
|
||||||
sops-nix = { url = "github:mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; };
|
sops-nix = { url = "github:mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; };
|
||||||
|
dunst-theme = { url = "github:d2718nis/rose-pine-dunst"; flake = false; };
|
||||||
|
niri = { url = "github:sodiboo/niri-flake"; inputs.nixpkgs.follows = "nixpkgs"; };
|
||||||
|
nix-gaming.url = "github:fufexan/nix-gaming";
|
||||||
|
|
||||||
nh = { url = "github:viperML/nh"; inputs.nixpkgs.follows = "nixpkgs"; };
|
nh = { url = "github:viperML/nh"; inputs.nixpkgs.follows = "nixpkgs"; };
|
||||||
|
|
||||||
# Desktop
|
nix-darwin = { url = "github:LnL7/nix-darwin"; inputs.nixpkgs.follows = "nixpkgs"; };
|
||||||
hyprland = { url = "github:hyprwm/Hyprland"; };
|
|
||||||
hyprland-plugins = { url = "github:hyprwm/hyprland-plugins"; inputs.hyprland.follows = "hyprland"; };
|
|
||||||
split-monitor-workspaces = { url = "github:Duckonaut/split-monitor-workspaces"; inputs.hyprland.follows = "hyprland"; };
|
|
||||||
anyrun = { url = "github:anyrun-org/anyrun"; inputs.nixpkgs.follows = "nixpkgs"; };
|
|
||||||
niri = { url = "github:sodiboo/niri-flake"; inputs.nixpkgs.follows = "nixpkgs"; };
|
|
||||||
|
|
||||||
# Themeing
|
|
||||||
dunst-theme = { url = "github:d2718nis/rose-pine-dunst"; flake = false; };
|
|
||||||
fish_theme = { url = "git+https://git.zynh.me/Zynh0722/omf-theme"; flake = false; };
|
|
||||||
backgrounds = { url = "git+https://git.zynh.me/Zynh0722/backgrounds"; inputs.nixpkgs.follows = "nixpkgs"; };
|
|
||||||
rose-pine-swaync = { url = "github:rose-pine/swaync"; flake = false; };
|
|
||||||
rose-pine-hyprcursor = { url = "github:ndom91/rose-pine-hyprcursor"; inputs.nixpkgs.follows = "nixpkgs"; inputs.hyprlang.follows = "hyprland/hyprlang"; };
|
|
||||||
|
|
||||||
# Owie Sharp
|
|
||||||
neovim-overlay = { url = "github:nix-community/neovim-nightly-overlay"; inputs.nixpkgs.follows = "nixpkgs"; };
|
|
||||||
chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
|
|
||||||
|
|
||||||
# Some of my stuff
|
|
||||||
repo-clone.url = "git+https://git.zynh.me/Zynh0722/repo-clone";
|
repo-clone.url = "git+https://git.zynh.me/Zynh0722/repo-clone";
|
||||||
zdwm = { url = "git+https://git.zynh.me/Zynh0722/dwm?ref=preanybar-systray"; flake = false; };
|
zdwm = { url = "git+https://git.zynh.me/Zynh0722/dwm?ref=preanybar-systray"; flake = false; };
|
||||||
zdwl = { url = "git+https://git.zynh.me/Zynh0722/dwl?ref=0.7"; inputs.nixpkgs.follows = "nixpkgs"; };
|
zdwl = { url = "git+https://git.zynh.me/Zynh0722/dwl?ref=0.7"; inputs.nixpkgs.follows = "nixpkgs"; };
|
||||||
|
fish_theme = { url = "git+https://git.zynh.me/Zynh0722/omf-theme"; flake = false; };
|
||||||
# aarch
|
backgrounds = { url = "git+https://git.zynh.me/Zynh0722/backgrounds"; inputs.nixpkgs.follows = "nixpkgs"; };
|
||||||
nix-darwin = { url = "github:LnL7/nix-darwin"; inputs.nixpkgs.follows = "nixpkgs"; };
|
|
||||||
nixos-apple-silicon = { url = "github:Lederstrumpf/nixos-apple-silicon/mesa-changes"; };
|
|
||||||
|
|
||||||
# FRC
|
|
||||||
frc-nix = { url = "github:Zynh0722/frc-nix"; inputs.nixpkgs.follows = "nixpkgs"; };
|
|
||||||
|
|
||||||
# Gaming
|
|
||||||
umu = { url = "github:Open-Wine-Components/umu-launcher?dir=packaging/nix"; inputs.nixpkgs.follows = "nixpkgs"; };
|
umu = { url = "github:Open-Wine-Components/umu-launcher?dir=packaging/nix"; inputs.nixpkgs.follows = "nixpkgs"; };
|
||||||
nix-gaming.url = "github:fufexan/nix-gaming";
|
|
||||||
|
|
||||||
deploy-rs = { url = "github:serokell/deploy-rs"; inputs.nixpkgs.follows = "nixpkgs"; };
|
deploy-rs = { url = "github:serokell/deploy-rs"; inputs.nixpkgs.follows = "nixpkgs"; };
|
||||||
|
|
||||||
|
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs = inputs@{ flake-parts, deploy-rs, nixpkgs, self, ... }:
|
||||||
{ self, nixpkgs, deploy-rs, ... }@inputs:
|
flake-parts.lib.mkFlake { inherit inputs; } {
|
||||||
let
|
imports = [ ./flakeModules/builders ];
|
||||||
builders = import ./builders.nix inputs;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
nixosConfigurations = builders.compileNixosSystems [
|
|
||||||
{ hostname = "snowhawk"; }
|
|
||||||
{ hostname = "llynx"; system = "aarch64-linux"; }
|
|
||||||
];
|
|
||||||
|
|
||||||
darwinConfigurations = builders.compileDarwinSystems [
|
builders = {
|
||||||
{ hostname = "lynx"; }
|
configurations.nixos = [
|
||||||
];
|
{ hostname = "snowhawk"; }
|
||||||
|
];
|
||||||
|
|
||||||
homeConfigurations = builders.compileHomes [
|
configurations.darwin = [
|
||||||
{ user = "zynh"; hostname = "msiserver"; }
|
{ hostname = "lynx"; }
|
||||||
{ user = "val"; hostname = "caveserver"; }
|
];
|
||||||
{ user = "ravenshade"; hostname = "permafrost"; }
|
|
||||||
];
|
|
||||||
|
|
||||||
deploy =
|
configurations.home = [
|
||||||
let homeConfigPath = username: deploy-rs.lib.x86_64-linux.activate.home-manager self.homeConfigurations.${username};
|
{ user = "zynh"; hostname = "msiserver"; }
|
||||||
in {
|
{ user = "val"; hostname = "caveserver"; }
|
||||||
sshUser = "ravenshade";
|
{ user = "ravenshade"; hostname = "permafrost"; }
|
||||||
nodes.permafrost = {
|
];
|
||||||
hostname = "permafrost.local";
|
|
||||||
profiles.home.path = homeConfigPath "ravenshade@permafrost";
|
nixosModules = [
|
||||||
};
|
inputs.home-manager.nixosModules.default
|
||||||
|
inputs.chaotic.nixosModules.default
|
||||||
|
inputs.niri.nixosModules.niri
|
||||||
|
];
|
||||||
|
|
||||||
|
homeModules = [
|
||||||
|
inputs.chaotic.homeManagerModules.default
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
flake =
|
||||||
|
{
|
||||||
|
deploy =
|
||||||
|
let homeConfigPath = username: deploy-rs.lib.x86_64-linux.activate.home-manager self.homeConfigurations.${username};
|
||||||
|
in {
|
||||||
|
sshUser = "ravenshade";
|
||||||
|
nodes.permafrost = {
|
||||||
|
hostname = "permafrost";
|
||||||
|
profiles.home.path = homeConfigPath "ravenshade@permafrost";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
overlays.default = import ./pkgs;
|
||||||
};
|
};
|
||||||
|
|
||||||
overlays.default = import ./pkgs;
|
systems = [ ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
135
flakeModules/builders/default.nix
Normal file
135
flakeModules/builders/default.nix
Normal file
|
@ -0,0 +1,135 @@
|
||||||
|
{ lib, config, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
options.builders =
|
||||||
|
let
|
||||||
|
inherit (lib) mkOption;
|
||||||
|
inherit (lib.types) listOf deferredModule submodule;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
nixosModules = mkOption {
|
||||||
|
type = listOf deferredModule;
|
||||||
|
default = [ ];
|
||||||
|
description = ''
|
||||||
|
nixos modules to be used by all nixosConfigurations
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
darwinModules = mkOption {
|
||||||
|
type = listOf deferredModule;
|
||||||
|
default = [ ];
|
||||||
|
description = ''
|
||||||
|
nix-darwin modules to be used by all darwinConfigurations
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
homeModules = mkOption {
|
||||||
|
type = listOf deferredModule;
|
||||||
|
default = [ ];
|
||||||
|
description = ''
|
||||||
|
home-manager modules to be used by all homeConfigurations
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
configurations = mkOption {
|
||||||
|
type = submodule {
|
||||||
|
options = {
|
||||||
|
nixos = mkOption {
|
||||||
|
type = listOf (submodule {
|
||||||
|
options = {
|
||||||
|
hostname = mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
example = "snowhawk";
|
||||||
|
description = ''
|
||||||
|
nixos configuration hostname
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
system = mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "x86_64-linux";
|
||||||
|
example = "aarch64-linux";
|
||||||
|
description = ''
|
||||||
|
nixos configuration architecture
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
darwin = mkOption {
|
||||||
|
type = listOf (submodule {
|
||||||
|
options = {
|
||||||
|
hostname = mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
example = "lynx";
|
||||||
|
description = ''
|
||||||
|
nix-darwin configuration hostname
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
system = mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "aarch64-darwin";
|
||||||
|
example = "x86_64-darwin";
|
||||||
|
description = ''
|
||||||
|
nix-darwin configuration architecture
|
||||||
|
|
||||||
|
Note: default is aarch64-darwin not x86_64-darwin
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
home = mkOption {
|
||||||
|
type = listOf (submodule {
|
||||||
|
options = {
|
||||||
|
user = mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
example = "ravenshade";
|
||||||
|
description = ''
|
||||||
|
home-manager configuration architecture
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
system = mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "x86_64-linux";
|
||||||
|
example = "aarch64-darwin";
|
||||||
|
description = ''
|
||||||
|
home-manager configuration architecture
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
hostname = lib.types.nullOr (mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "";
|
||||||
|
example = "permafrost";
|
||||||
|
description = ''
|
||||||
|
home-manager configuration hostname
|
||||||
|
|
||||||
|
Note: one of `hostname` or `configHostname` must be defined
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
|
||||||
|
configHostname = lib.types.nullOr (mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "";
|
||||||
|
example = "permafrost";
|
||||||
|
description = ''
|
||||||
|
home-manager configuration hostname
|
||||||
|
|
||||||
|
Note: one of `hostname` or `configHostname` must be defined
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
};
|
||||||
|
});
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = { };
|
||||||
|
}
|
|
@ -12,8 +12,6 @@ let
|
||||||
|
|
||||||
inputs.zdwl.overlays.default
|
inputs.zdwl.overlays.default
|
||||||
|
|
||||||
inputs.frc-nix.overlays.default
|
|
||||||
|
|
||||||
(final: prev: ({
|
(final: prev: ({
|
||||||
star-citizen = inputs.nix-gaming.packages.${prev.system}.star-citizen;
|
star-citizen = inputs.nix-gaming.packages.${prev.system}.star-citizen;
|
||||||
}))
|
}))
|
||||||
|
@ -77,8 +75,6 @@ rec {
|
||||||
./hosts/${hostname}/hardware-configuration.nix
|
./hosts/${hostname}/hardware-configuration.nix
|
||||||
./hosts/${hostname}/configuration.nix
|
./hosts/${hostname}/configuration.nix
|
||||||
inputs.home-manager.nixosModules.default
|
inputs.home-manager.nixosModules.default
|
||||||
inputs.chaotic.nixosModules.default
|
|
||||||
inputs.niri.nixosModules.niri
|
|
||||||
{
|
{
|
||||||
home-manager.extraSpecialArgs = {
|
home-manager.extraSpecialArgs = {
|
||||||
inherit inputs self pkgs;
|
inherit inputs self pkgs;
|
||||||
|
@ -102,7 +98,6 @@ rec {
|
||||||
extraSpecialArgs = { inherit inputs self; };
|
extraSpecialArgs = { inherit inputs self; };
|
||||||
|
|
||||||
modules = [
|
modules = [
|
||||||
inputs.chaotic.homeManagerModules.default
|
|
||||||
./hosts/${configHost}/home.nix
|
./hosts/${configHost}/home.nix
|
||||||
];
|
];
|
||||||
});
|
});
|
|
@ -1,318 +0,0 @@
|
||||||
|
|
||||||
# #######################################################################################
|
|
||||||
# AUTOGENERATED HYPRLAND CONFIG.
|
|
||||||
# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hyprland.conf AND EDIT IT,
|
|
||||||
# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
|
|
||||||
# #######################################################################################
|
|
||||||
|
|
||||||
# This is an example Hyprland config file.
|
|
||||||
# Refer to the wiki for more information.
|
|
||||||
# https://wiki.hyprland.org/Configuring/
|
|
||||||
|
|
||||||
# Please note not all available settings / options are set here.
|
|
||||||
# For a full list, see the wiki
|
|
||||||
|
|
||||||
# You can split this configuration into multiple files
|
|
||||||
# Create your files separately and then link them to this file like this:
|
|
||||||
# source = ~/.config/hypr/myColors.conf
|
|
||||||
|
|
||||||
source=~/.config/hypr/rose-pine.conf
|
|
||||||
|
|
||||||
################
|
|
||||||
### MONITORS ###
|
|
||||||
################
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
|
||||||
monitor=,preferred,auto,auto
|
|
||||||
|
|
||||||
|
|
||||||
###################
|
|
||||||
### MY PROGRAMS ###
|
|
||||||
###################
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Keywords/
|
|
||||||
|
|
||||||
# Set programs that you use
|
|
||||||
$terminal = kitty
|
|
||||||
$fileManager = pcmanfm
|
|
||||||
$menu = wofi --show drun
|
|
||||||
|
|
||||||
|
|
||||||
#################
|
|
||||||
### AUTOSTART ###
|
|
||||||
#################
|
|
||||||
|
|
||||||
# Autostart necessary processes (like notifications daemons, status bars, etc.)
|
|
||||||
# Or execute your favorite apps at launch like this:
|
|
||||||
|
|
||||||
# exec-once = $terminal
|
|
||||||
# exec-once = nm-applet &
|
|
||||||
# exec-once = waybar & hyprpaper & firefox
|
|
||||||
|
|
||||||
|
|
||||||
#############################
|
|
||||||
### ENVIRONMENT VARIABLES ###
|
|
||||||
#############################
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Environment-variables/
|
|
||||||
|
|
||||||
env = XCURSOR_SIZE,24
|
|
||||||
env = HYPRCURSOR_SIZE,24
|
|
||||||
env = MOZ_ENABLE_WAYLAND,1
|
|
||||||
|
|
||||||
|
|
||||||
#####################
|
|
||||||
### LOOK AND FEEL ###
|
|
||||||
#####################
|
|
||||||
|
|
||||||
# Refer to https://wiki.hyprland.org/Configuring/Variables/
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#general
|
|
||||||
general {
|
|
||||||
gaps_in = 5
|
|
||||||
gaps_out = 5
|
|
||||||
|
|
||||||
border_size = 1
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
|
|
||||||
col.active_border = $foam $pine 45deg
|
|
||||||
col.inactive_border = $muted
|
|
||||||
|
|
||||||
# Set to true enable resizing windows by clicking and dragging on borders and gaps
|
|
||||||
resize_on_border = true
|
|
||||||
|
|
||||||
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
|
||||||
allow_tearing = false
|
|
||||||
|
|
||||||
layout = dwindle
|
|
||||||
}
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#decoration
|
|
||||||
decoration {
|
|
||||||
rounding = 5
|
|
||||||
rounding_power = 2
|
|
||||||
|
|
||||||
# Change transparency of focused and unfocused windows
|
|
||||||
active_opacity = 1.0
|
|
||||||
inactive_opacity = 1.0
|
|
||||||
|
|
||||||
shadow {
|
|
||||||
enabled = true
|
|
||||||
range = 4
|
|
||||||
render_power = 3
|
|
||||||
color = rgba(1a1a1aee)
|
|
||||||
}
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#blur
|
|
||||||
blur {
|
|
||||||
enabled = true
|
|
||||||
size = 3
|
|
||||||
passes = 1
|
|
||||||
|
|
||||||
vibrancy = 0.1696
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#animations
|
|
||||||
animations {
|
|
||||||
enabled = no,
|
|
||||||
|
|
||||||
# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
|
||||||
|
|
||||||
bezier = easeOutQuint,0.23,1,0.32,1
|
|
||||||
bezier = easeInOutCubic,0.65,0.05,0.36,1
|
|
||||||
bezier = linear,0,0,1,1
|
|
||||||
bezier = almostLinear,0.5,0.5,0.75,1.0
|
|
||||||
bezier = quick,0.15,0,0.1,1
|
|
||||||
|
|
||||||
# animation = global, 1, 10, default
|
|
||||||
# animation = border, 1, 5.39, easeOutQuint
|
|
||||||
# animation = windows, 1, 4.79, easeOutQuint
|
|
||||||
# animation = windowsIn, 1, 4.1, easeOutQuint, popin 87%
|
|
||||||
# animation = windowsOut, 1, 1.49, linear, popin 87%
|
|
||||||
# animation = windowsMove, 1, 4.79, easeOutQuint
|
|
||||||
# animation = fadeIn, 1, 1.73, almostLinear
|
|
||||||
# animation = fadeOut, 1, 1.46, almostLinear
|
|
||||||
# animation = fade, 1, 3.03, quick
|
|
||||||
# animation = layers, 1, 3.81, easeOutQuint
|
|
||||||
# animation = layersIn, 1, 4, easeOutQuint, fade
|
|
||||||
# animation = layersOut, 1, 1.5, linear, fade
|
|
||||||
# animation = fadeLayersIn, 1, 1.79, almostLinear
|
|
||||||
# animation = fadeLayersOut, 1, 1.39, almostLinear
|
|
||||||
# animation = workspaces, 1, 1.94, almostLinear, fade
|
|
||||||
# animation = workspacesIn, 1, 1.21, almostLinear, fade
|
|
||||||
# animation = workspacesOut, 1, 1.94, almostLinear, fade
|
|
||||||
}
|
|
||||||
|
|
||||||
# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/
|
|
||||||
# "Smart gaps" / "No gaps when only"
|
|
||||||
# uncomment all if you wish to use that.
|
|
||||||
# workspace = w[tv1], gapsout:0, gapsin:0
|
|
||||||
# workspace = f[1], gapsout:0, gapsin:0
|
|
||||||
# windowrulev2 = bordersize 0, floating:0, onworkspace:w[tv1]
|
|
||||||
# windowrulev2 = rounding 0, floating:0, onworkspace:w[tv1]
|
|
||||||
# windowrulev2 = bordersize 0, floating:0, onworkspace:f[1]
|
|
||||||
# windowrulev2 = rounding 0, floating:0, onworkspace:f[1]
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
|
||||||
dwindle {
|
|
||||||
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
|
||||||
preserve_split = true # You probably want this
|
|
||||||
}
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
|
||||||
master {
|
|
||||||
new_status = master
|
|
||||||
}
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#misc
|
|
||||||
misc {
|
|
||||||
force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
|
|
||||||
disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
|
|
||||||
}
|
|
||||||
|
|
||||||
cursor {
|
|
||||||
inactive_timeout = 5
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#############
|
|
||||||
### INPUT ###
|
|
||||||
#############
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#input
|
|
||||||
input {
|
|
||||||
kb_layout = us
|
|
||||||
kb_variant =
|
|
||||||
kb_model =
|
|
||||||
kb_options =
|
|
||||||
kb_rules =
|
|
||||||
|
|
||||||
follow_mouse = 1
|
|
||||||
|
|
||||||
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
|
||||||
|
|
||||||
touchpad {
|
|
||||||
natural_scroll = true
|
|
||||||
clickfinger_behavior = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
|
||||||
gestures {
|
|
||||||
workspace_swipe = true
|
|
||||||
workspace_swipe_distance = 50
|
|
||||||
}
|
|
||||||
|
|
||||||
# Example per-device config
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
|
|
||||||
device {
|
|
||||||
name = epic-mouse-v1
|
|
||||||
sensitivity = -0.5
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
###################
|
|
||||||
### KEYBINDINGS ###
|
|
||||||
###################
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Keywords/
|
|
||||||
$mainMod = SUPER # Sets "Windows" key as main modifier
|
|
||||||
|
|
||||||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
|
||||||
bind = $mainMod, Q, exec, $terminal
|
|
||||||
bind = $mainMod, C, killactive,
|
|
||||||
bind = $mainMod, M, exit,
|
|
||||||
bind = $mainMod, E, exec, $fileManager
|
|
||||||
bind = $mainMod, V, togglefloating,
|
|
||||||
bind = $mainMod, R, exec, $menu
|
|
||||||
bind = $mainMod, P, pseudo, # dwindle
|
|
||||||
bind = $mainMod, J, togglesplit, # dwindle
|
|
||||||
|
|
||||||
# Move focus with mainMod + arrow keys
|
|
||||||
bind = $mainMod, left, movefocus, l
|
|
||||||
bind = $mainMod, right, movefocus, r
|
|
||||||
bind = $mainMod, up, movefocus, u
|
|
||||||
bind = $mainMod, down, movefocus, d
|
|
||||||
|
|
||||||
# Switch workspaces with mainMod + [0-9]
|
|
||||||
bind = $mainMod, 1, split-workspace, 1
|
|
||||||
bind = $mainMod, 2, split-workspace, 2
|
|
||||||
bind = $mainMod, 3, split-workspace, 3
|
|
||||||
bind = $mainMod, 4, split-workspace, 4
|
|
||||||
bind = $mainMod, 5, split-workspace, 5
|
|
||||||
bind = $mainMod, 6, split-workspace, 6
|
|
||||||
bind = $mainMod, 7, split-workspace, 7
|
|
||||||
bind = $mainMod, 8, split-workspace, 8
|
|
||||||
bind = $mainMod, 9, split-workspace, 9
|
|
||||||
bind = $mainMod, 0, split-workspace, 10
|
|
||||||
|
|
||||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
|
||||||
bind = $mainMod SHIFT, 1, split-movetoworkspace, 1
|
|
||||||
bind = $mainMod SHIFT, 2, split-movetoworkspace, 2
|
|
||||||
bind = $mainMod SHIFT, 3, split-movetoworkspace, 3
|
|
||||||
bind = $mainMod SHIFT, 4, split-movetoworkspace, 4
|
|
||||||
bind = $mainMod SHIFT, 5, split-movetoworkspace, 5
|
|
||||||
bind = $mainMod SHIFT, 6, split-movetoworkspace, 6
|
|
||||||
bind = $mainMod SHIFT, 7, split-movetoworkspace, 7
|
|
||||||
bind = $mainMod SHIFT, 8, split-movetoworkspace, 8
|
|
||||||
bind = $mainMod SHIFT, 9, split-movetoworkspace, 9
|
|
||||||
bind = $mainMod SHIFT, 0, split-movetoworkspace, 10
|
|
||||||
|
|
||||||
# Example special workspace (scratchpad)
|
|
||||||
bind = $mainMod, S, togglespecialworkspace, magic
|
|
||||||
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
|
||||||
|
|
||||||
# Scroll through existing workspaces with mainMod + scroll
|
|
||||||
bind = $mainMod, mouse_down, workspace, e+1
|
|
||||||
bind = $mainMod, mouse_up, workspace, e-1
|
|
||||||
|
|
||||||
bind = $mainMod SHIFT, minus, exec, bash -c "XDG_CURRENT_DESKTOP=sway flameshot gui"
|
|
||||||
bind = $mainMod, n, exec, swaync-client -t
|
|
||||||
|
|
||||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
|
||||||
bindm = $mainMod, mouse:272, movewindow
|
|
||||||
bindm = $mainMod, mouse:273, resizewindow
|
|
||||||
|
|
||||||
# Laptop multimedia keys for volume and LCD brightness
|
|
||||||
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
|
|
||||||
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
|
||||||
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
|
||||||
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
|
||||||
bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 10%+
|
|
||||||
bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%-
|
|
||||||
|
|
||||||
# Requires playerctl
|
|
||||||
bindl = , XF86AudioNext, exec, playerctl next
|
|
||||||
bindl = , XF86AudioPause, exec, playerctl play-pause
|
|
||||||
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
|
||||||
bindl = , XF86AudioPrev, exec, playerctl previous
|
|
||||||
|
|
||||||
##############################
|
|
||||||
### WINDOWS AND WORKSPACES ###
|
|
||||||
##############################
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
|
|
||||||
|
|
||||||
# Example windowrule v1
|
|
||||||
# windowrule = float, ^(kitty)$
|
|
||||||
|
|
||||||
# Example windowrule v2
|
|
||||||
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
|
|
||||||
|
|
||||||
# Ignore maximize requests from apps. You'll probably like this.
|
|
||||||
windowrulev2 = suppressevent maximize, class:.*
|
|
||||||
|
|
||||||
# Fix some dragging issues with XWayland
|
|
||||||
windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
|
|
||||||
|
|
||||||
|
|
||||||
plugin {
|
|
||||||
split-monitor-workspaces {
|
|
||||||
count = 10
|
|
||||||
keep_focused = 0
|
|
||||||
enable_notifications = 1
|
|
||||||
enable_persistent_workspaces = 0
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,19 +0,0 @@
|
||||||
# name: Rosé Pine
|
|
||||||
# author: jishnurajendran
|
|
||||||
# upstream: https://github.com/jishnurajendran/hyprland-rosepine/blob/main/rose-pine.conf
|
|
||||||
# All natural pine, faux fur and a bit of soho vibes for the classy minimalist
|
|
||||||
$base = 0xff191724
|
|
||||||
$surface = 0xff1f1d2e
|
|
||||||
$overlay = 0xff26233a
|
|
||||||
$muted = 0xff6e6a86
|
|
||||||
$subtle = 0xff908caa
|
|
||||||
$text = 0xffe0def4
|
|
||||||
$love = 0xffeb6f92
|
|
||||||
$gold = 0xfff6c177
|
|
||||||
$rose = 0xffebbcba
|
|
||||||
$pine = 0xff31748f
|
|
||||||
$foam = 0xff9ccfd8
|
|
||||||
$iris = 0xffc4a7e7
|
|
||||||
$highlightLow = 0xff21202e
|
|
||||||
$highlightMed = 0xff403d52
|
|
||||||
$highlightHigh = 0xff524f67
|
|
|
@ -45,7 +45,7 @@ in
|
||||||
interactiveShellInit = lib.concatStringsSep "\n" [
|
interactiveShellInit = lib.concatStringsSep "\n" [
|
||||||
(builtins.readFile "${inputs.fish_theme}/fish_prompt.fish")
|
(builtins.readFile "${inputs.fish_theme}/fish_prompt.fish")
|
||||||
(builtins.readFile ../fish/config.fish)
|
(builtins.readFile ../fish/config.fish)
|
||||||
# "${lib.getExe pkgs.any-nix-shell} fish --info-right | source"
|
"${lib.getExe pkgs.any-nix-shell} fish --info-right | source"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -24,11 +24,6 @@ in
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
# home.packages = with pkgs; [ flameshot ];
|
# home.packages = with pkgs; [ flameshot ];
|
||||||
|
|
||||||
# xdg.configFile."flameshot/flameshot.ini".text = lib.generators.toINI { } cfg.config;
|
xdg.configFile."flameshot/flameshot.ini".text = lib.generators.toINI { } cfg.config;
|
||||||
|
|
||||||
services.flameshot = {
|
|
||||||
enable = true;
|
|
||||||
settings = cfg.config;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,14 +9,10 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
snowhawk.sxhkd.enable = lib.mkDefault true;
|
snowhawk.sxhkd.enable = true;
|
||||||
|
|
||||||
services.sxhkd.keybindings = lib.mkIf config.snowhawk.sxhkd.enable {
|
services.sxhkd.keybindings = {
|
||||||
"XF86TouchpadOn" = "${lib.getExe pkgs.pipewire-controller}";
|
"XF86TouchpadOn" = "${lib.getExe pkgs.pipewire-controller}";
|
||||||
};
|
};
|
||||||
|
|
||||||
wayland.windowManager.hyprland.settings.bind = lib.mkIf config.wayland.windowManager.hyprland.enable [
|
|
||||||
", XF86TouchpadOn, exec, ${lib.getExe pkgs.pipewire-controller}"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,7 +45,7 @@ in
|
||||||
gtk.enable = true;
|
gtk.enable = true;
|
||||||
x11.enable = true;
|
x11.enable = true;
|
||||||
name = name;
|
name = name;
|
||||||
size = 24;
|
size = 16;
|
||||||
package =
|
package =
|
||||||
pkgs.runCommand "moveUp" { } ''
|
pkgs.runCommand "moveUp" { } ''
|
||||||
mkdir -p $out/share/icons
|
mkdir -p $out/share/icons
|
||||||
|
|
|
@ -1,122 +0,0 @@
|
||||||
# Edit this configuration file to define what should be installed on
|
|
||||||
# your system. Help is available in the configuration.nix(5) man page
|
|
||||||
# and in the NixOS manual (accessible by running `nixos-help`).
|
|
||||||
|
|
||||||
{ pkgs, inputs, lib, config, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
inputs.nixos-apple-silicon.nixosModules.default
|
|
||||||
inputs.home-manager.nixosModules.default
|
|
||||||
../../modules
|
|
||||||
|
|
||||||
# Default specialisation
|
|
||||||
({ lib, config, ... }: {
|
|
||||||
config = lib.mkIf (config.specialisation != { }) {
|
|
||||||
snowhawk.hyprland.enable = true;
|
|
||||||
};
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
# boot.binfmt.emulatedSystems = [
|
|
||||||
# "x86_64-linux"
|
|
||||||
# "i686-linux"
|
|
||||||
# ];
|
|
||||||
|
|
||||||
# Install/enable all proprietary firmware
|
|
||||||
# hardware.enableAllFirmware = true;
|
|
||||||
|
|
||||||
environment.sessionVariables.MOZ_GMP_PATH = [
|
|
||||||
"${pkgs.widevine-cdm}/share/google/chrome/WidevineCdm/manifest.json"
|
|
||||||
];
|
|
||||||
|
|
||||||
snowhawk = {
|
|
||||||
filesystem.enable = true;
|
|
||||||
user.enable = true;
|
|
||||||
env.enable = true;
|
|
||||||
sops.enable = true;
|
|
||||||
|
|
||||||
audio.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
snowhawk.plymouth = {
|
|
||||||
enable = true;
|
|
||||||
theme = "owl";
|
|
||||||
};
|
|
||||||
|
|
||||||
specialisation = {
|
|
||||||
plasma.configuration = {
|
|
||||||
environment.etc."specialisation".text = "plasma";
|
|
||||||
|
|
||||||
services.xserver.enable = true;
|
|
||||||
services.displayManager.sddm.enable = true;
|
|
||||||
services.desktopManager.plasma6.enable = true;
|
|
||||||
|
|
||||||
services.hypridle.enable = true;
|
|
||||||
systemd.user.services.hypridle.path = [ pkgs.brightnessctl ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
documentation = {
|
|
||||||
enable = true;
|
|
||||||
dev.enable = true;
|
|
||||||
man.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
home-manager = {
|
|
||||||
users = { "ravenshade" = import ./home.nix; };
|
|
||||||
backupFileExtension = "backup";
|
|
||||||
useGlobalPkgs = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# programs.steam.enable = true;
|
|
||||||
# hardware.graphics.enable32Bit = lib.mkForce false;
|
|
||||||
|
|
||||||
services.flatpak.enable = true;
|
|
||||||
systemd.services.flatpak-repo = {
|
|
||||||
wantedBy = [ "multi-user.target" ];
|
|
||||||
path = [ pkgs.flatpak ];
|
|
||||||
script = ''
|
|
||||||
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
pkgs.rose-pine-gtk-theme
|
|
||||||
pkgs.rose-pine-icon-theme
|
|
||||||
pkgs.adwaita-icon-theme
|
|
||||||
|
|
||||||
neovim
|
|
||||||
bashmount
|
|
||||||
curl
|
|
||||||
git
|
|
||||||
killall
|
|
||||||
|
|
||||||
iwd
|
|
||||||
iwgtk
|
|
||||||
|
|
||||||
gparted
|
|
||||||
exfatprogs
|
|
||||||
|
|
||||||
linux-manual
|
|
||||||
|
|
||||||
inputs.nh.packages.${pkgs.system}.default
|
|
||||||
];
|
|
||||||
|
|
||||||
environment.variables.NH_FLAKE = "/home/ravenshade/.config/nixos";
|
|
||||||
environment.variables.NIXOS_OZONE_WL = 1;
|
|
||||||
|
|
||||||
fonts.packages = with pkgs; [
|
|
||||||
nerd-fonts.jetbrains-mono
|
|
||||||
];
|
|
||||||
|
|
||||||
# Enable CUPS to print documents.
|
|
||||||
services.printing.enable = true;
|
|
||||||
|
|
||||||
# Set your time zone.
|
|
||||||
time.timeZone = "America/Los_Angeles";
|
|
||||||
# Before changing this value read the documentation for this option
|
|
||||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
|
||||||
system.stateVersion = "23.11"; # Did you read the comment?
|
|
||||||
}
|
|
Binary file not shown.
Binary file not shown.
|
@ -1,77 +0,0 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
|
||||||
# and may be overwritten by future invocations. Please make changes
|
|
||||||
# to /etc/nixos/configuration.nix instead.
|
|
||||||
{ config, lib, pkgs, modulesPath, inputs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "usb_storage" ];
|
|
||||||
boot.initrd.kernelModules = [ ];
|
|
||||||
boot.kernelModules = [ ];
|
|
||||||
boot.extraModulePackages = [ ];
|
|
||||||
# FIXME: was previously only "apple_dcp.show_notch=1"
|
|
||||||
# wish I could predict the commit hash
|
|
||||||
boot.kernelParams = lib.mkForce [
|
|
||||||
"earlycon"
|
|
||||||
"console=tty0"
|
|
||||||
"boot.shell_on_fail"
|
|
||||||
"nvme_apple.flush_interval=0"
|
|
||||||
"quiet"
|
|
||||||
"splash"
|
|
||||||
"boot.shell_on_fail"
|
|
||||||
"loglevel=3"
|
|
||||||
"rd.systemd.show_status=false"
|
|
||||||
"rd.udev.log_level=3"
|
|
||||||
"udev.log_priority=3"
|
|
||||||
"apple_dcp.show_notch=1"
|
|
||||||
"root=fstab"
|
|
||||||
"splash"
|
|
||||||
"loglevel=0"
|
|
||||||
];
|
|
||||||
|
|
||||||
hardware.asahi.peripheralFirmwareDirectory = ./firmware;
|
|
||||||
hardware.asahi.useExperimentalGPUDriver = true;
|
|
||||||
|
|
||||||
fileSystems."/" = {
|
|
||||||
device = "/dev/disk/by-uuid/9dba1955-a00b-4963-ac49-74e925ddd1b2";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/boot" = {
|
|
||||||
device = "/dev/disk/by-uuid/C215-0A0E";
|
|
||||||
fsType = "vfat";
|
|
||||||
options = [ "fmask=0022" "dmask=0022" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
zramSwap.enable = true;
|
|
||||||
swapDevices = [{
|
|
||||||
device = "/swap";
|
|
||||||
size = 24 * 1000;
|
|
||||||
}];
|
|
||||||
|
|
||||||
# Use the systemd-boot EFI boot loader.
|
|
||||||
boot.loader.grub = {
|
|
||||||
enable = true;
|
|
||||||
efiSupport = true;
|
|
||||||
device = "nodev";
|
|
||||||
theme = pkgs.rose-pine-grub;
|
|
||||||
};
|
|
||||||
boot.loader.efi.canTouchEfiVariables = false;
|
|
||||||
|
|
||||||
# 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
|
|
||||||
# still possible to use this option, but it's recommended to use it in conjunction
|
|
||||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
|
||||||
networking.useDHCP = lib.mkDefault true;
|
|
||||||
# networking.interfaces.wlan0.useDHCP = lib.mkDefault true;
|
|
||||||
|
|
||||||
networking.wireless.iwd = {
|
|
||||||
enable = true;
|
|
||||||
settings.General.EnableNetworkConfiguration = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
networking.hostName = "llynx";
|
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux";
|
|
||||||
}
|
|
|
@ -1,93 +0,0 @@
|
||||||
{ pkgs, config, lib, inputs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
../../home/modules
|
|
||||||
];
|
|
||||||
|
|
||||||
snowhawk = {
|
|
||||||
# Desktop
|
|
||||||
firefox.enable = true;
|
|
||||||
kitty.enable = true;
|
|
||||||
theme.enable = true;
|
|
||||||
sops.enable = true;
|
|
||||||
# dunst.enable = true;
|
|
||||||
|
|
||||||
flameshot.enable = true;
|
|
||||||
|
|
||||||
sources.enable = true;
|
|
||||||
projects.enable = true;
|
|
||||||
|
|
||||||
# Term Tools
|
|
||||||
neovim.enable = true;
|
|
||||||
direnv.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
wayland.windowManager.hyprland.settings.monitor = [ ",preferred,auto,auto" ];
|
|
||||||
|
|
||||||
snowhawk.ssh = {
|
|
||||||
enable = true;
|
|
||||||
homeNetwork = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
repo-clone.enable = true;
|
|
||||||
repo-clone.repos = {
|
|
||||||
"${config.home.homeDirectory}/Pictures/backgrounds".url = lib.zgitRepo "backgrounds";
|
|
||||||
};
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
bottom
|
|
||||||
|
|
||||||
ncspot
|
|
||||||
|
|
||||||
vesktop
|
|
||||||
ripgrep
|
|
||||||
|
|
||||||
lazygit
|
|
||||||
iwd
|
|
||||||
|
|
||||||
gcc
|
|
||||||
|
|
||||||
wl-clipboard
|
|
||||||
|
|
||||||
unzip
|
|
||||||
fzf
|
|
||||||
tree
|
|
||||||
|
|
||||||
pulsemixer
|
|
||||||
|
|
||||||
duf
|
|
||||||
pcmanfm
|
|
||||||
jq
|
|
||||||
|
|
||||||
advantagescope
|
|
||||||
wpilib.glass
|
|
||||||
wpilib.shuffleboard
|
|
||||||
wpilib.datalogtool
|
|
||||||
elastic-dashboard
|
|
||||||
pathplanner
|
|
||||||
# inputs.frc-nix.packages."x86_64-linux".pathplanner
|
|
||||||
|
|
||||||
box64
|
|
||||||
openjdk17-bootstrap
|
|
||||||
(vscode-with-extensions.override {
|
|
||||||
vscodeExtensions = with vscode-extensions; [
|
|
||||||
wpilibsuite.vscode-wpilib
|
|
||||||
vscjava.vscode-java-debug
|
|
||||||
vscjava.vscode-java-dependency
|
|
||||||
redhat.java
|
|
||||||
|
|
||||||
vscodevim.vim
|
|
||||||
mvllow.rose-pine
|
|
||||||
eamodio.gitlens
|
|
||||||
];
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.nix-index.enable = true;
|
|
||||||
|
|
||||||
# Let Home Manager install and manage itself.
|
|
||||||
programs.home-manager.enable = true;
|
|
||||||
home.stateVersion = "23.11";
|
|
||||||
}
|
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
nix.optimise.automatic = true;
|
nix.optimise.automatic = true;
|
||||||
|
|
||||||
environment.variables = {
|
environment.variables = {
|
||||||
NH_FLAKE = "/Users/ravenshade/nixos";
|
NH_FLAKE = "/Users/zynh/nixos";
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.shells = with pkgs; [ bashInteractive zsh fish ];
|
environment.shells = with pkgs; [ bashInteractive zsh fish ];
|
||||||
|
@ -178,13 +178,13 @@
|
||||||
|
|
||||||
security.pam.enableSudoTouchIdAuth = true;
|
security.pam.enableSudoTouchIdAuth = true;
|
||||||
|
|
||||||
users.users.ravenshade = {
|
users.users.zynh = {
|
||||||
name = "ravenshade";
|
name = "zynh";
|
||||||
home = "/Users/ravenshade";
|
home = "/Users/zynh";
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
users = { "ravenshade" = import ./home.nix; };
|
users = { "zynh" = import ./home.nix; };
|
||||||
backupFileExtension = "backup";
|
backupFileExtension = "backup";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, lib, config, ... }:
|
{ pkgs, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
@ -57,8 +57,8 @@
|
||||||
colors.primary.background = lib.mkForce "#171717";
|
colors.primary.background = lib.mkForce "#171717";
|
||||||
};
|
};
|
||||||
|
|
||||||
home.username = "ravenshade";
|
home.username = "zynh";
|
||||||
home.homeDirectory = "/Users/ravenshade";
|
home.homeDirectory = "/Users/zynh";
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
nix-output-monitor
|
nix-output-monitor
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, inputs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
@ -34,17 +34,10 @@
|
||||||
|
|
||||||
pkgs.nix
|
pkgs.nix
|
||||||
|
|
||||||
inputs.nh.packages.${pkgs.system}.default
|
|
||||||
goaccess
|
|
||||||
|
|
||||||
go
|
go
|
||||||
wakeonlan
|
wakeonlan
|
||||||
];
|
];
|
||||||
|
|
||||||
home.sessionVariables = {
|
|
||||||
NH_FLAKE = "/home/ravenshade/permafrost";
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.nix-index.enable = true;
|
programs.nix-index.enable = true;
|
||||||
|
|
||||||
# Let Home Manager install and manage itself.
|
# Let Home Manager install and manage itself.
|
||||||
|
|
|
@ -12,23 +12,11 @@
|
||||||
# Default specialisation
|
# Default specialisation
|
||||||
({ lib, config, ... }: {
|
({ lib, config, ... }: {
|
||||||
config = lib.mkIf (config.specialisation != { }) {
|
config = lib.mkIf (config.specialisation != { }) {
|
||||||
hardware.nvidia.open = lib.mkForce true;
|
snowhawk.dwm.enable = true;
|
||||||
|
|
||||||
snowhawk.hyprland = {
|
|
||||||
enable = true;
|
|
||||||
nvidia = true;
|
|
||||||
split-monitor-workspaces = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
home-manager.sharedModules = [{
|
home-manager.sharedModules = [{
|
||||||
wayland.windowManager.hyprland = {
|
snowhawk.dunst.enable = lib.mkDefault true;
|
||||||
settings = {
|
snowhawk.dwm.useXFixes = true;
|
||||||
monitor = [
|
|
||||||
"DP-1, 1920x1080@144, 1920x0, 1"
|
|
||||||
"HDMI-A-1, 1920x1080@60, 0x0, 1"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}];
|
}];
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
@ -60,34 +48,15 @@
|
||||||
#
|
#
|
||||||
# home-manager.sharedModules = [{ snowhawk.dunst.enable = lib.mkDefault true; }];
|
# home-manager.sharedModules = [{ snowhawk.dunst.enable = lib.mkDefault true; }];
|
||||||
# } // nvkConfig;
|
# } // nvkConfig;
|
||||||
# dwl.configuration = {
|
dwl.configuration = {
|
||||||
# environment.etc."specialisation".text = "dwl";
|
environment.etc."specialisation".text = "dwl";
|
||||||
#
|
|
||||||
# hardware.nvidia.open = lib.mkForce true;
|
|
||||||
#
|
|
||||||
# snowhawk.dwl.enable = true;
|
|
||||||
#
|
|
||||||
# home-manager.sharedModules = [{ snowhawk.dunst.enable = lib.mkDefault true; }];
|
|
||||||
# };
|
|
||||||
dwm.configuration = {
|
|
||||||
environment.etc."specialisation".text = "dwm";
|
|
||||||
|
|
||||||
snowhawk.dwm.enable = true;
|
hardware.nvidia.open = lib.mkForce true;
|
||||||
|
|
||||||
home-manager.sharedModules = [{
|
snowhawk.dwl.enable = true;
|
||||||
snowhawk.dunst.enable = lib.mkDefault true;
|
|
||||||
snowhawk.dwm.useXFixes = true;
|
home-manager.sharedModules = [{ snowhawk.dunst.enable = lib.mkDefault true; }];
|
||||||
}];
|
|
||||||
};
|
};
|
||||||
# plasma.configuration = {
|
|
||||||
# environment.etc."specialisation".text = "plasma";
|
|
||||||
#
|
|
||||||
# hardware.nvidia.open = lib.mkForce true;
|
|
||||||
#
|
|
||||||
# services.xserver.enable = true;
|
|
||||||
# services.displayManager.sddm.enable = true;
|
|
||||||
# services.desktopManager.plasma6.enable = true;
|
|
||||||
# };
|
|
||||||
# dwlNVK.configuration = {
|
# dwlNVK.configuration = {
|
||||||
# environment.etc."specialisation".text = "dwlNVK";
|
# environment.etc."specialisation".text = "dwlNVK";
|
||||||
#
|
#
|
||||||
|
@ -97,8 +66,6 @@
|
||||||
# } // nvkConfig;
|
# } // nvkConfig;
|
||||||
};
|
};
|
||||||
|
|
||||||
services.libinput.mouse.middleEmulation = false;
|
|
||||||
|
|
||||||
snowhawk = {
|
snowhawk = {
|
||||||
filesystem.enable = true;
|
filesystem.enable = true;
|
||||||
polkit.enable = true;
|
polkit.enable = true;
|
||||||
|
@ -113,7 +80,6 @@
|
||||||
theme = "owl";
|
theme = "owl";
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.gamemode.enable = true;
|
|
||||||
|
|
||||||
# Enable automatic login for the user.
|
# Enable automatic login for the user.
|
||||||
services.displayManager.autoLogin = {
|
services.displayManager.autoLogin = {
|
||||||
|
@ -146,25 +112,11 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
mysql-workbench
|
|
||||||
|
|
||||||
# FIXME: extract to theme module?
|
|
||||||
pkgs.rose-pine-gtk-theme
|
|
||||||
pkgs.rose-pine-icon-theme
|
|
||||||
pkgs.adwaita-icon-theme
|
|
||||||
|
|
||||||
bluetui
|
|
||||||
blueberry
|
|
||||||
|
|
||||||
brightnessctl
|
|
||||||
|
|
||||||
neovim
|
neovim
|
||||||
curl
|
curl
|
||||||
git
|
git
|
||||||
killall
|
killall
|
||||||
|
|
||||||
gamemode
|
|
||||||
|
|
||||||
linux-manual
|
linux-manual
|
||||||
|
|
||||||
inputs.nh.packages.${pkgs.system}.default
|
inputs.nh.packages.${pkgs.system}.default
|
||||||
|
@ -181,7 +133,6 @@
|
||||||
|
|
||||||
services.ratbagd.enable = true;
|
services.ratbagd.enable = true;
|
||||||
|
|
||||||
programs.gamescope.enable = true;
|
|
||||||
programs.steam = {
|
programs.steam = {
|
||||||
enable = true;
|
enable = true;
|
||||||
remotePlay.openFirewall = true;
|
remotePlay.openFirewall = true;
|
||||||
|
@ -199,16 +150,8 @@
|
||||||
# Also recommended, either as an alternative or in addition
|
# Also recommended, either as an alternative or in addition
|
||||||
zramSwap.enable = true;
|
zramSwap.enable = true;
|
||||||
|
|
||||||
virtualisation.docker.enable = true;
|
|
||||||
users.users.ravenshade.extraGroups = [ "docker" "libvirtd" ];
|
|
||||||
|
|
||||||
virtualisation = {
|
virtualisation = {
|
||||||
libvirtd = {
|
libvirtd.enable = true;
|
||||||
enable = true;
|
|
||||||
qemu = {
|
|
||||||
package = pkgs.qemu_kvm;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.virt-manager.enable = true;
|
programs.virt-manager.enable = true;
|
||||||
|
|
|
@ -135,7 +135,6 @@ in
|
||||||
efiSupport = true;
|
efiSupport = true;
|
||||||
device = "nodev";
|
device = "nodev";
|
||||||
theme = pkgs.rose-pine-grub;
|
theme = pkgs.rose-pine-grub;
|
||||||
default = "saved";
|
|
||||||
|
|
||||||
extraEntries = ''
|
extraEntries = ''
|
||||||
menuentry 'Windows Boot Manager (on /dev/nvme0n1p1)' --class windows --class os {
|
menuentry 'Windows Boot Manager (on /dev/nvme0n1p1)' --class windows --class os {
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
snowhawk = {
|
snowhawk = {
|
||||||
# Desktop
|
# Desktop
|
||||||
firefox.enable = true;
|
firefox.enable = true;
|
||||||
|
dunst.enable = true;
|
||||||
theme.enable = true;
|
theme.enable = true;
|
||||||
redshift.enable = true;
|
redshift.enable = true;
|
||||||
flameshot.enable = true;
|
flameshot.enable = true;
|
||||||
|
@ -84,10 +85,6 @@
|
||||||
fzf
|
fzf
|
||||||
tree
|
tree
|
||||||
|
|
||||||
ncspot
|
|
||||||
|
|
||||||
pathplanner
|
|
||||||
|
|
||||||
gparted
|
gparted
|
||||||
arandr
|
arandr
|
||||||
|
|
||||||
|
|
|
@ -64,7 +64,7 @@ in
|
||||||
environment.variables = {
|
environment.variables = {
|
||||||
QT_QPA_PLATFORM = "wayland;xcb";
|
QT_QPA_PLATFORM = "wayland;xcb";
|
||||||
MOZ_ENABLE_WAYLAND = 1;
|
MOZ_ENABLE_WAYLAND = 1;
|
||||||
SDL_VIDEODRIVER = "wayland,x11"; # TODO: Test me
|
SDL_VIDEODRIVEWR = "walyand,x11";
|
||||||
_JAVA_AWT_WM_NONREPARENTING = 1;
|
_JAVA_AWT_WM_NONREPARENTING = 1;
|
||||||
XDG_CURRENT_DESKTOP = "dwl";
|
XDG_CURRENT_DESKTOP = "dwl";
|
||||||
XDG_SESSION_DESKTOP = "dwl";
|
XDG_SESSION_DESKTOP = "dwl";
|
||||||
|
|
|
@ -1,446 +0,0 @@
|
||||||
{ lib, config, pkgs, inputs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.hyprland;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.hyprland = {
|
|
||||||
enable = lib.mkEnableOption "hyprland";
|
|
||||||
|
|
||||||
split-monitor-workspaces = lib.mkEnableOption "split-monitor-workspaces";
|
|
||||||
|
|
||||||
nvidia = lib.mkEnableOption "hyprland nvidia tweaks";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable (lib.mkMerge [
|
|
||||||
# Core Module
|
|
||||||
{
|
|
||||||
services.graphical-desktop.enable = lib.mkDefault true;
|
|
||||||
|
|
||||||
services.displayManager = {
|
|
||||||
enable = true;
|
|
||||||
sddm = {
|
|
||||||
enable = lib.mkDefault true;
|
|
||||||
wayland.enable = lib.mkDefault true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
security = {
|
|
||||||
polkit.enable = lib.mkDefault true;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs = {
|
|
||||||
dconf.enable = lib.mkDefault true;
|
|
||||||
xwayland.enable = lib.mkDefault true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# xdg.portal = {
|
|
||||||
# enable = true;
|
|
||||||
# extraPortals = [
|
|
||||||
# pkgs.xdg-desktop-portal
|
|
||||||
# pkgs.xdg-desktop-portal-gtk
|
|
||||||
# ];
|
|
||||||
# };
|
|
||||||
|
|
||||||
programs.waybar.enable = true;
|
|
||||||
|
|
||||||
programs.hyprland = {
|
|
||||||
enable = true;
|
|
||||||
withUWSM = true;
|
|
||||||
xwayland.enable = true;
|
|
||||||
package = inputs.hyprland.packages.${pkgs.system}.hyprland;
|
|
||||||
portalPackage = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland;
|
|
||||||
};
|
|
||||||
|
|
||||||
services.hypridle.enable = true;
|
|
||||||
systemd.user.services.hypridle.path = [ pkgs.brightnessctl ];
|
|
||||||
|
|
||||||
# programs.hyprlock.enable = true;
|
|
||||||
|
|
||||||
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1050913
|
|
||||||
# xdg.portal.config.hyprland.default = lib.mkDefault [ "wlr" "gtk" ];
|
|
||||||
|
|
||||||
services.xserver.desktopManager.runXdgAutostartIfNone = lib.mkDefault true;
|
|
||||||
|
|
||||||
environment.variables = {
|
|
||||||
QT_QPA_PLATFORM = "wayland;xcb";
|
|
||||||
MOZ_ENABLE_WAYLAND = 1;
|
|
||||||
SDL_VIDEODRIVEWR = "wayland,x11";
|
|
||||||
_JAVA_AWT_WM_NONREPARENTING = 1;
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = [
|
|
||||||
inputs.rose-pine-hyprcursor.packages.${pkgs.system}.default
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
# hyprland configuration
|
|
||||||
{
|
|
||||||
home-manager.sharedModules = [{
|
|
||||||
wayland.windowManager.hyprland = {
|
|
||||||
enable = true;
|
|
||||||
# extraConfig = builtins.readFile ../home/hypr/hyprland.conf;
|
|
||||||
settings = {
|
|
||||||
source = [ "${../home/hypr/rose-pine.conf}" ];
|
|
||||||
|
|
||||||
env = [
|
|
||||||
"XCURSOR_SIZE,24"
|
|
||||||
"HYPRCURSOR_SIZE,24"
|
|
||||||
"HYPRCURSOR_THEME,rose-pine-hyprcursor"
|
|
||||||
"MOZ_ENABLE_WAYLAND,1"
|
|
||||||
];
|
|
||||||
|
|
||||||
# TODO: Direct links
|
|
||||||
"$terminal" = "kitty";
|
|
||||||
"$fileManager" = "pcmanfm";
|
|
||||||
"$menu" = "wofi --show drun";
|
|
||||||
|
|
||||||
"$mainMod" = "SUPER";
|
|
||||||
|
|
||||||
general = {
|
|
||||||
gaps_in = 5;
|
|
||||||
gaps_out = 5;
|
|
||||||
border_size = 1;
|
|
||||||
|
|
||||||
"col.active_border" = "$foam $pine 45deg";
|
|
||||||
"col.inactive_border" = "$muted";
|
|
||||||
|
|
||||||
resize_on_border = true;
|
|
||||||
|
|
||||||
allow_tearing = false;
|
|
||||||
|
|
||||||
layout = "dwindle";
|
|
||||||
};
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#decoration
|
|
||||||
decoration = {
|
|
||||||
rounding = 5;
|
|
||||||
rounding_power = 2;
|
|
||||||
|
|
||||||
active_opacity = 1.0;
|
|
||||||
inactive_opacity = 1.0;
|
|
||||||
|
|
||||||
shadow = {
|
|
||||||
enabled = true;
|
|
||||||
range = 4;
|
|
||||||
render_power = 3;
|
|
||||||
color = "rgba(1a1a1aee)";
|
|
||||||
};
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#blur
|
|
||||||
blur = {
|
|
||||||
enabled = true;
|
|
||||||
size = 3;
|
|
||||||
passes = 1;
|
|
||||||
|
|
||||||
vibrancy = 0.1696;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#animations
|
|
||||||
animations = {
|
|
||||||
enabled = "no,";
|
|
||||||
|
|
||||||
bezier = [ "easeOutQuint,0.23,1,0.32,1" "easeInOutCubic,0.65,0.05,0.36,1" "linear,0,0,1,1" "almostLinear,0.5,0.5,0.75,1.0" "quick,0.15,0,0.1,1" ];
|
|
||||||
|
|
||||||
# I need to tinker with these some more for llynx
|
|
||||||
# animation = global, 1, 10, default
|
|
||||||
# animation = border, 1, 5.39, easeOutQuint
|
|
||||||
# animation = windows, 1, 4.79, easeOutQuint
|
|
||||||
# animation = windowsIn, 1, 4.1, easeOutQuint, popin 87%
|
|
||||||
# animation = windowsOut, 1, 1.49, linear, popin 87%
|
|
||||||
# animation = windowsMove, 1, 4.79, easeOutQuint
|
|
||||||
# animation = fadeIn, 1, 1.73, almostLinear
|
|
||||||
# animation = fadeOut, 1, 1.46, almostLinear
|
|
||||||
# animation = fade, 1, 3.03, quick
|
|
||||||
# animation = layers, 1, 3.81, easeOutQuint
|
|
||||||
# animation = layersIn, 1, 4, easeOutQuint, fade
|
|
||||||
# animation = layersOut, 1, 1.5, linear, fade
|
|
||||||
# animation = fadeLayersIn, 1, 1.79, almostLinear
|
|
||||||
# animation = fadeLayersOut, 1, 1.39, almostLinear
|
|
||||||
# animation = workspaces, 1, 1.94, almostLinear, fade
|
|
||||||
# animation = workspacesIn, 1, 1.21, almostLinear, fade
|
|
||||||
# animation = workspacesOut, 1, 1.94, almostLinear, fade
|
|
||||||
};
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
|
||||||
dwindle = {
|
|
||||||
pseudotile = true;
|
|
||||||
preserve_split = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
|
||||||
master = {
|
|
||||||
new_status = "master";
|
|
||||||
};
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#misc
|
|
||||||
misc = {
|
|
||||||
force_default_wallpaper = -1;
|
|
||||||
disable_hyprland_logo = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
cursor = {
|
|
||||||
inactive_timeout = 5;
|
|
||||||
};
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#input
|
|
||||||
input = {
|
|
||||||
kb_layout = "us";
|
|
||||||
kb_variant = "";
|
|
||||||
kb_model = "";
|
|
||||||
kb_options = "";
|
|
||||||
kb_rules = "";
|
|
||||||
|
|
||||||
follow_mouse = 1;
|
|
||||||
sensitivity = 0;
|
|
||||||
|
|
||||||
numlock_by_default = true;
|
|
||||||
|
|
||||||
touchpad = {
|
|
||||||
natural_scroll = true;
|
|
||||||
clickfinger_behavior = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
|
||||||
gestures = {
|
|
||||||
workspace_swipe = true;
|
|
||||||
workspace_swipe_distance = 50;
|
|
||||||
};
|
|
||||||
|
|
||||||
plugin = {
|
|
||||||
split-monitor-workspaces = lib.mkIf cfg.split-monitor-workspaces {
|
|
||||||
count = 10;
|
|
||||||
keep_focused = 10;
|
|
||||||
enable_notifications = 0;
|
|
||||||
enable_persistent_workspaces = 0;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
windowrulev2 = [
|
|
||||||
# Ignore maximize requests from apps. You'll probably like this.
|
|
||||||
"suppressevent maximize, class:.*"
|
|
||||||
# Fix some dragging issues with XWayland
|
|
||||||
"nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0"
|
|
||||||
];
|
|
||||||
|
|
||||||
bindm = [
|
|
||||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
|
||||||
"$mainMod, mouse:272, movewindow"
|
|
||||||
"$mainMod, mouse:273, resizewindow"
|
|
||||||
];
|
|
||||||
|
|
||||||
bindel = [
|
|
||||||
# Laptop multimedia keys for volume and LCD brightness
|
|
||||||
",XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"
|
|
||||||
",XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
|
|
||||||
",XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
|
||||||
",XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
|
|
||||||
",XF86MonBrightnessUp, exec, brightnessctl s 10%+"
|
|
||||||
",XF86MonBrightnessDown, exec, brightnessctl s 10%-"
|
|
||||||
];
|
|
||||||
|
|
||||||
bindl = [
|
|
||||||
# Requires playerctl
|
|
||||||
", XF86AudioNext, exec, playerctl next"
|
|
||||||
", XF86AudioPause, exec, playerctl play-pause"
|
|
||||||
", XF86AudioPlay, exec, playerctl play-pause"
|
|
||||||
", XF86AudioPrev, exec, playerctl previous"
|
|
||||||
];
|
|
||||||
|
|
||||||
bind = [
|
|
||||||
"$mainMod, Q, exec, $terminal"
|
|
||||||
"$mainMod, C, killactive,"
|
|
||||||
"$mainMod CTRL SHIFT, M, exit,"
|
|
||||||
"$mainMod, E, exec, $fileManager"
|
|
||||||
"$mainMod, V, togglefloating,"
|
|
||||||
"$mainMod, R, exec, $menu"
|
|
||||||
"$mainMod, P, pseudo, # dwindle"
|
|
||||||
"$mainMod, J, togglesplit, # dwindle"
|
|
||||||
|
|
||||||
"$mainMod SHIFT, minus, exec, bash -c \"XDG_CURRENT_DESKTOP=sway flameshot gui\""
|
|
||||||
"$mainMod, n, exec, swaync-client -t"
|
|
||||||
|
|
||||||
# moving focus
|
|
||||||
"$mainMod, left, movefocus, l"
|
|
||||||
"$mainMod, right, movefocus, r"
|
|
||||||
"$mainMod, up, movefocus, u"
|
|
||||||
"$mainMod, down, movefocus, d"
|
|
||||||
|
|
||||||
# scratchpad
|
|
||||||
"$mainMod, S, togglespecialworkspace, magic"
|
|
||||||
"$mainMod SHIFT, S, movetoworkspace, special:magic"
|
|
||||||
] ++ (
|
|
||||||
# workspaces
|
|
||||||
# binds $mod + [shift +] {1..9} to [move to] workspace {1..9}
|
|
||||||
builtins.concatLists (builtins.genList
|
|
||||||
(i:
|
|
||||||
let ws = i + 1;
|
|
||||||
in [
|
|
||||||
"$mainMod, code:1${toString i}, ${lib.optionalString cfg.split-monitor-workspaces "split-"}workspace, ${toString ws}"
|
|
||||||
"$mainMod SHIFT, code:1${toString i}, ${lib.optionalString cfg.split-monitor-workspaces "split-"}movetoworkspace, ${toString ws}"
|
|
||||||
]
|
|
||||||
)
|
|
||||||
9)
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
package = null;
|
|
||||||
portalPackage = null;
|
|
||||||
};
|
|
||||||
}];
|
|
||||||
}
|
|
||||||
|
|
||||||
# split-monitor-workspaces
|
|
||||||
(lib.mkIf cfg.split-monitor-workspaces {
|
|
||||||
home-manager.sharedModules = [{
|
|
||||||
wayland.windowManager.hyprland = {
|
|
||||||
settings.bind = [
|
|
||||||
"$mainMod SHIFT, comma, split-changemonitor, -1"
|
|
||||||
"$mainMod SHIFT, period, split-changemonitor, +1"
|
|
||||||
];
|
|
||||||
plugins = [
|
|
||||||
inputs.split-monitor-workspaces.packages.${pkgs.system}.split-monitor-workspaces
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}];
|
|
||||||
})
|
|
||||||
|
|
||||||
# useful desktop stuff
|
|
||||||
{
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
# Screenshotting
|
|
||||||
grim
|
|
||||||
slurp
|
|
||||||
satty
|
|
||||||
|
|
||||||
# Hardware Control
|
|
||||||
brightnessctl
|
|
||||||
|
|
||||||
# Desktop
|
|
||||||
wofi
|
|
||||||
kitty
|
|
||||||
pipewire-controller
|
|
||||||
|
|
||||||
# Wayland Utilities
|
|
||||||
wdisplays
|
|
||||||
xorg.xlsclients
|
|
||||||
wl-clipboard
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
# SDDM Theme
|
|
||||||
(
|
|
||||||
let sddmPkg = (pkgs.sddm-astronaut.override { embeddedTheme = "purple_leaves"; });
|
|
||||||
in {
|
|
||||||
services.displayManager = {
|
|
||||||
enable = lib.mkDefault true;
|
|
||||||
sddm = {
|
|
||||||
enable = lib.mkDefault true;
|
|
||||||
wayland.enable = lib.mkDefault true;
|
|
||||||
theme = "sddm-astronaut-theme";
|
|
||||||
package = pkgs.kdePackages.sddm;
|
|
||||||
extraPackages = with pkgs; [
|
|
||||||
sddmPkg
|
|
||||||
kdePackages.qtsvg
|
|
||||||
kdePackages.qtvirtualkeyboard
|
|
||||||
kdePackages.qtmultimedia
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = [ sddmPkg ];
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
# Anyrun
|
|
||||||
(lib.mkIf false {
|
|
||||||
home-manager.sharedModules = [{
|
|
||||||
imports = [
|
|
||||||
inputs.anyrun.homeManagerModules.default
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.anyrun = {
|
|
||||||
enable = true;
|
|
||||||
config = {
|
|
||||||
x = { fraction = 0.5; };
|
|
||||||
y = { fraction = 0.3; };
|
|
||||||
width = { fraction = 0.3; };
|
|
||||||
layer = "overlay";
|
|
||||||
showResultsImmediately = true;
|
|
||||||
hidePluginInfo = true;
|
|
||||||
plugins = [
|
|
||||||
inputs.anyrun.packages.${pkgs.system}.applications
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
extraCss = /* css */ ''
|
|
||||||
window {
|
|
||||||
background: transparent;
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}];
|
|
||||||
})
|
|
||||||
|
|
||||||
({
|
|
||||||
home-manager.sharedModules = [{
|
|
||||||
services.swaync = {
|
|
||||||
enable = true;
|
|
||||||
style = builtins.readFile "${inputs.rose-pine-swaync}/theme/rose-pine.css";
|
|
||||||
settings = {
|
|
||||||
positionX = "right";
|
|
||||||
positionY = "tops";
|
|
||||||
layer = "overlay";
|
|
||||||
control-center-layer = "tops";
|
|
||||||
cssPriority = "application";
|
|
||||||
control-center-margin-top = 0;
|
|
||||||
control-center-margin-bottom = 0;
|
|
||||||
control-center-margin-right = 0;
|
|
||||||
control-center-margin-left = 0;
|
|
||||||
notification-2fa-action = true;
|
|
||||||
notification-inline-replies = false;
|
|
||||||
notification-icon-size = 64;
|
|
||||||
notification-body-image-height = 100;
|
|
||||||
notification-body-image-width = 200;
|
|
||||||
timeout = 10;
|
|
||||||
timeout-low = 5;
|
|
||||||
timeout-critical = 0;
|
|
||||||
fit-to-screen = true;
|
|
||||||
control-center-width = 500;
|
|
||||||
control-center-height = 600;
|
|
||||||
notification-window-width = 500;
|
|
||||||
keyboard-shortcuts = true;
|
|
||||||
image-visibility = "when-available";
|
|
||||||
transition-time = 200;
|
|
||||||
hide-on-clear = false;
|
|
||||||
hide-on-action = true;
|
|
||||||
script-fail-notify = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}];
|
|
||||||
})
|
|
||||||
|
|
||||||
{
|
|
||||||
home-manager.sharedModules = [{
|
|
||||||
services.playerctld.enable = true;
|
|
||||||
systemd.user.services.playerctld = {
|
|
||||||
Unit.PartOf = lib.mkForce [ "graphical-session.target" ];
|
|
||||||
Install.WantedBy = lib.mkForce [ "graphical-session.target" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
playerctl
|
|
||||||
];
|
|
||||||
}];
|
|
||||||
}
|
|
||||||
|
|
||||||
(lib.mkIf cfg.nvidia {
|
|
||||||
environment.variables = {
|
|
||||||
LIBVA_DRIVER_NAME = "nvidia";
|
|
||||||
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
|
|
||||||
};
|
|
||||||
})
|
|
||||||
]);
|
|
||||||
}
|
|
|
@ -14,5 +14,4 @@ in
|
||||||
dwlmsg = callDefaultPackage ./dwlmsg;
|
dwlmsg = callDefaultPackage ./dwlmsg;
|
||||||
uhk-agent = callDefaultPackage ./uhk-agent;
|
uhk-agent = callDefaultPackage ./uhk-agent;
|
||||||
pipewire-controller = callDefaultPackage ./pipewire-controller;
|
pipewire-controller = callDefaultPackage ./pipewire-controller;
|
||||||
dorion = callDefaultPackage ./dorion;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,195 +0,0 @@
|
||||||
{ lib
|
|
||||||
, fetchFromGitHub
|
|
||||||
, fetchurl
|
|
||||||
, rustPlatform
|
|
||||||
, cmake
|
|
||||||
, ninja
|
|
||||||
, wrapGAppsHook4
|
|
||||||
, glib-networking
|
|
||||||
, gst_all_1
|
|
||||||
, libsysprof-capture
|
|
||||||
, libayatana-appindicator
|
|
||||||
, nodejs
|
|
||||||
, openssl
|
|
||||||
, pkg-config
|
|
||||||
, yq-go
|
|
||||||
, pnpm_9
|
|
||||||
, webkitgtk_4_1
|
|
||||||
, cargo-tauri
|
|
||||||
, desktop-file-utils
|
|
||||||
,
|
|
||||||
}:
|
|
||||||
|
|
||||||
let
|
|
||||||
webkitgtk_4_1' = webkitgtk_4_1.override {
|
|
||||||
enableExperimental = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
shelter = fetchurl {
|
|
||||||
url = "https://raw.githubusercontent.com/uwu/shelter-builds/4264c79a7e8efb2c0000c180dd8369c9a5194105/shelter.js";
|
|
||||||
hash = "sha256-C+iPl40QN2CfhHX8cc+5mu+8qfD1VZDJHbUjfY2QcUg=";
|
|
||||||
meta = {
|
|
||||||
homepage = "https://github.com/uwu/shelter";
|
|
||||||
sourceProvenance = [ lib.sourceTypes.binaryBytecode ]; # actually, minified JS
|
|
||||||
license = lib.licenses.cc0;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in
|
|
||||||
|
|
||||||
# nyo finalAttrs :<
|
|
||||||
# https://github.com/NixOS/nixpkgs/pull/194475
|
|
||||||
rustPlatform.buildRustPackage rec {
|
|
||||||
pname = "dorion";
|
|
||||||
version = "6.5.0";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "SpikeHD";
|
|
||||||
repo = "Dorion";
|
|
||||||
tag = "v${version}";
|
|
||||||
hash = "sha256-EetRPa2v2UBav+UwprG7TgcswNzbjfBMvP4xlYOnWYI=";
|
|
||||||
};
|
|
||||||
|
|
||||||
cargoPatches = [
|
|
||||||
./no-cargo-patch.patch
|
|
||||||
];
|
|
||||||
|
|
||||||
cargoRoot = "src-tauri";
|
|
||||||
buildAndTestSubdir = cargoRoot;
|
|
||||||
|
|
||||||
useFetchCargoVendor = true;
|
|
||||||
cargoHash = "sha256-+AVmg/fyIsyksOoGwphePdd+9VtklTO1SFWlM+FBgbE=";
|
|
||||||
|
|
||||||
pnpmDeps = pnpm_9.fetchDeps {
|
|
||||||
inherit pname version src;
|
|
||||||
hash = "sha256-xBonUzA4+1zbViEsKap6CaG6ZRldW1LjNYIB+FmVRFs=";
|
|
||||||
};
|
|
||||||
|
|
||||||
# CMake (webkit extension)
|
|
||||||
cmakeDir = ".";
|
|
||||||
cmakeBuildDir = "src-tauri/extension_webkit";
|
|
||||||
dontUseCmakeConfigure = true;
|
|
||||||
dontUseNinjaBuild = true;
|
|
||||||
dontUseNinjaCheck = true;
|
|
||||||
dontUseNinjaInstall = true;
|
|
||||||
# cmake's supposed to set this automatically
|
|
||||||
# ... but the detection is based on the presence of ninja build hook
|
|
||||||
cmakeFlags = [
|
|
||||||
"-GNinja"
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
pnpm_9.configHook
|
|
||||||
cargo-tauri.hook
|
|
||||||
nodejs
|
|
||||||
pkg-config
|
|
||||||
wrapGAppsHook4
|
|
||||||
yq-go
|
|
||||||
desktop-file-utils
|
|
||||||
cmake
|
|
||||||
ninja
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = [
|
|
||||||
openssl
|
|
||||||
webkitgtk_4_1'
|
|
||||||
gst_all_1.gst-plugins-base
|
|
||||||
gst_all_1.gst-plugins-bad
|
|
||||||
gst_all_1.gst-plugins-good
|
|
||||||
gst_all_1.gst-plugins-rs
|
|
||||||
glib-networking
|
|
||||||
libsysprof-capture
|
|
||||||
libayatana-appindicator
|
|
||||||
];
|
|
||||||
|
|
||||||
postPatch = ''
|
|
||||||
# remove updater
|
|
||||||
rm -rf updater
|
|
||||||
|
|
||||||
# patch cargo-deps
|
|
||||||
pushd $cargoDepsCopy/tauri-plugin-shell-*
|
|
||||||
patch -p1 < /build/source/src-tauri/patches/tauri-plugin-shell+*.patch
|
|
||||||
popd
|
|
||||||
|
|
||||||
substituteInPlace $cargoDepsCopy/libappindicator-sys-*/src/lib.rs \
|
|
||||||
--replace "libayatana-appindicator3.so.1" "${libayatana-appindicator}/lib/libayatana-appindicator3.so.1"
|
|
||||||
|
|
||||||
# disable pre-build script and disable auto-updater
|
|
||||||
yq -iPo=json '
|
|
||||||
.bundle.resources = (.bundle.resources | map(select(. != "updater*")))
|
|
||||||
' src-tauri/tauri.conf.json
|
|
||||||
|
|
||||||
# link shelter injection
|
|
||||||
ln -s ${shelter} src-tauri/injection/shelter.js
|
|
||||||
|
|
||||||
# link html/frontend data
|
|
||||||
ln -s /build/source/src /build/source/src-tauri/html
|
|
||||||
'';
|
|
||||||
|
|
||||||
configurePhase = ''
|
|
||||||
cmakeConfigurePhase
|
|
||||||
pnpmConfigHook
|
|
||||||
'';
|
|
||||||
|
|
||||||
buildPhase = ''
|
|
||||||
ninjaBuildPhase
|
|
||||||
cd /build/source
|
|
||||||
tauriBuildHook
|
|
||||||
'';
|
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
# Set up the resource directories
|
|
||||||
mkdir -p $out/lib/Dorion
|
|
||||||
ln -s $out/lib/Dorion $out/lib/dorion
|
|
||||||
rm -rf $out/lib/Dorion/injection
|
|
||||||
cp -r src-tauri/injection $out/lib/Dorion
|
|
||||||
cp -r src $out/lib/Dorion
|
|
||||||
|
|
||||||
# Modify the desktop file
|
|
||||||
desktop-file-edit \
|
|
||||||
--set-comment "Tiny alternative Discord client" \
|
|
||||||
--set-key="Exec" --set-value="Dorion %U" \
|
|
||||||
--set-key="TryExec" --set-value="Dorion" \
|
|
||||||
--set-key="StartupWMClass" --set-value="Dorion" \
|
|
||||||
--set-key="StartupNotify" --set-value="true" \
|
|
||||||
--set-key="Categories" --set-value="Network;InstantMessaging;Chat;" \
|
|
||||||
--set-key="Keywords" --set-value="dorion;discord;vencord;chat;im;vc;ds;dc;dsc;tauri;" \
|
|
||||||
--set-key="Terminal" --set-value="false" \
|
|
||||||
--set-key="MimeType" --set-value="x-scheme-handler/discord" \
|
|
||||||
$out/share/applications/Dorion.desktop
|
|
||||||
'';
|
|
||||||
|
|
||||||
# error: failed to run custom build command for `Dorion v6.4.1 (/build/source/src-tauri)`
|
|
||||||
# Permission denied (os error 13)
|
|
||||||
doCheck = false;
|
|
||||||
|
|
||||||
env = {
|
|
||||||
TAURI_RESOURCE_DIR = "${placeholder "out"}/lib";
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
homepage = "https://spikehd.github.io/projects/dorion/";
|
|
||||||
description = "Tiny alternative Discord client";
|
|
||||||
longDescription = ''
|
|
||||||
Dorion is an alternative Discord client aimed towards lower-spec or
|
|
||||||
storage-sensitive PCs that supports themes, plugins, and more!
|
|
||||||
'';
|
|
||||||
changelog = "https://github.com/SpikeHD/Dorion/releases/tag/v${version}";
|
|
||||||
downloadPage = "https://github.com/SpikeHD/Dorion/releases/tag/v${version}";
|
|
||||||
license = with lib.licenses; [
|
|
||||||
gpl3Only
|
|
||||||
cc0 # Shelter
|
|
||||||
];
|
|
||||||
mainProgram = "Dorion";
|
|
||||||
maintainers = with lib.maintainers; [
|
|
||||||
nyabinary
|
|
||||||
aleksana
|
|
||||||
griffi-gh
|
|
||||||
getchoo
|
|
||||||
];
|
|
||||||
platforms = lib.platforms.linux;
|
|
||||||
sourceProvenance = [
|
|
||||||
lib.sourceTypes.binaryBytecode # actually, minified JS
|
|
||||||
lib.sourceTypes.fromSource
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,31 +0,0 @@
|
||||||
diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock
|
|
||||||
index 59f676d..b7090d4 100644
|
|
||||||
--- a/src-tauri/Cargo.lock
|
|
||||||
+++ b/src-tauri/Cargo.lock
|
|
||||||
@@ -4954,6 +4954,8 @@ dependencies = [
|
|
||||||
[[package]]
|
|
||||||
name = "tauri-plugin-shell"
|
|
||||||
version = "2.0.2"
|
|
||||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
+checksum = "0ad7880c5586b6b2104be451e3d7fc0f3800c84bda69e9ba81c828f87cb34267"
|
|
||||||
dependencies = [
|
|
||||||
"encoding_rs",
|
|
||||||
"log",
|
|
||||||
diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml
|
|
||||||
index 62a508b..0bbe935 100644
|
|
||||||
--- a/src-tauri/Cargo.toml
|
|
||||||
+++ b/src-tauri/Cargo.toml
|
|
||||||
@@ -12,13 +12,6 @@ rust-version = "1.81"
|
|
||||||
strip = "debuginfo"
|
|
||||||
lto = true
|
|
||||||
|
|
||||||
-# Patches
|
|
||||||
-[package.metadata.patch]
|
|
||||||
-crates = ["tauri-plugin-shell"]
|
|
||||||
-
|
|
||||||
-[patch.crates-io]
|
|
||||||
-tauri-plugin-shell = { path="./target/patch/tauri-plugin-shell-2.0.2" }
|
|
||||||
-
|
|
||||||
[build-dependencies]
|
|
||||||
tauri-build = { version = "2.0.0", features = [] }
|
|
||||||
|
|
37
secrets.yaml
37
secrets.yaml
|
@ -5,7 +5,7 @@ private_keys:
|
||||||
caveserver: ENC[AES256_GCM,data:bf3+bhbbX08NPk31Wy26ZsYzUIg2fv7SjWZ73CEOPTQZf8yLy32A63oJX71qtPIj6PcpbsHfrYGMKYHuMUYr5N9fYDhiXEbesAt1nX9HOsq0UwYSl7HWucRHkorkIq09r5oVB4CWoYEj6/2HmZhbYJgEZdMptActi3+eRobgjTdqtq4Q8K0tp9X3VeE2Ca/M17DEz9y93aMKunXbD38jS+zZs0SI1OtyC0V9MenAtiiadBznexq6IVwsp/4mcAiv0udFn7lwCYpPPsSKoCjFYfNIPu/0rCIEag3/bdJHPJA0fng37E4ZGA3ZCwy4PhaJ88kJBAqLJ8u1mQ+UGNFtZBaqww+RIAStkq958tYoyZaI4C+E+XpGRs6FsthN9lsJZ1skiT41vxsfb9+M2sELv+Jm9xDkHJr7+pjtGkN2xEvWS/DrzsKxl4qCw+ZkyE5VNS7vW+gfM+7XieooxXJlQEihlYWflRd1aikYfEizXXWaM6XlLsHtFYEmtQMvesB8XCeoCVT47XgGNqmaNFEEo6Pdl5ke6WO4Gi5K,iv:FZWDaT+ernolWiLZbE67g9JWNCgCwdUyglv8cwAeFO0=,tag:emCa72E1HIjU6+PAJvICcQ==,type:str]
|
caveserver: ENC[AES256_GCM,data:bf3+bhbbX08NPk31Wy26ZsYzUIg2fv7SjWZ73CEOPTQZf8yLy32A63oJX71qtPIj6PcpbsHfrYGMKYHuMUYr5N9fYDhiXEbesAt1nX9HOsq0UwYSl7HWucRHkorkIq09r5oVB4CWoYEj6/2HmZhbYJgEZdMptActi3+eRobgjTdqtq4Q8K0tp9X3VeE2Ca/M17DEz9y93aMKunXbD38jS+zZs0SI1OtyC0V9MenAtiiadBznexq6IVwsp/4mcAiv0udFn7lwCYpPPsSKoCjFYfNIPu/0rCIEag3/bdJHPJA0fng37E4ZGA3ZCwy4PhaJ88kJBAqLJ8u1mQ+UGNFtZBaqww+RIAStkq958tYoyZaI4C+E+XpGRs6FsthN9lsJZ1skiT41vxsfb9+M2sELv+Jm9xDkHJr7+pjtGkN2xEvWS/DrzsKxl4qCw+ZkyE5VNS7vW+gfM+7XieooxXJlQEihlYWflRd1aikYfEizXXWaM6XlLsHtFYEmtQMvesB8XCeoCVT47XgGNqmaNFEEo6Pdl5ke6WO4Gi5K,iv:FZWDaT+ernolWiLZbE67g9JWNCgCwdUyglv8cwAeFO0=,tag:emCa72E1HIjU6+PAJvICcQ==,type:str]
|
||||||
snowhawk: ENC[AES256_GCM,data:I06s6rV8wURi5db2S+/QEHK2QtAn45PhP7vAvtTOwQUhECA/WD2Q6zPsn6nKxIt5Y7mlrSlN9+/cQ+zkEOqMvfkQIeGGoK5I/zi/196lLqTen6aDF7M0ZQVUJUIlXP3K4aO9b6ZI4BQSOTWAPq5CfMkCyT6BErhG4JnEl5Dxvdic94mrImmzGHJWdA2p9lfc/a+rPBwSqMTS7VAtez/aU/DyzexFYos0k2i2CMnMdLj+5FxAxSarlG6/PilumGj+xVN6msgGv6tN0kpb7RWbiv/ZwQNG+jkKukIduG+PAvhq5+X+ib2y+/JHhTTYZ5sAJrmdHJ0YGQqciu3VS9uLOn/NUksO2zLdvRZf1A0Y5MbE9nHrX2tpv77ivu5Hii7x9kBQXk/0PqvzYpV1thvEyxte18pN68NWm2BdSSU1KHiY6SlmrpqfmIZJqdW4yHn1otJRsDMfOLLSm2Eekjhs7qCrZVGj5bwk4TZALD00UeQsexLpNX+Gi8Njy2HJYtHtVPsMkq8oQ4RnQ/2cv7Pu82AZ98wdRPwFA05M,iv:bZ4fkol7BBjROx9J6cVYG1MQdfTbtgRR8/GiNjVWTcA=,tag:6r5+LCE5UcRjXIe1b0kYrw==,type:str]
|
snowhawk: ENC[AES256_GCM,data:I06s6rV8wURi5db2S+/QEHK2QtAn45PhP7vAvtTOwQUhECA/WD2Q6zPsn6nKxIt5Y7mlrSlN9+/cQ+zkEOqMvfkQIeGGoK5I/zi/196lLqTen6aDF7M0ZQVUJUIlXP3K4aO9b6ZI4BQSOTWAPq5CfMkCyT6BErhG4JnEl5Dxvdic94mrImmzGHJWdA2p9lfc/a+rPBwSqMTS7VAtez/aU/DyzexFYos0k2i2CMnMdLj+5FxAxSarlG6/PilumGj+xVN6msgGv6tN0kpb7RWbiv/ZwQNG+jkKukIduG+PAvhq5+X+ib2y+/JHhTTYZ5sAJrmdHJ0YGQqciu3VS9uLOn/NUksO2zLdvRZf1A0Y5MbE9nHrX2tpv77ivu5Hii7x9kBQXk/0PqvzYpV1thvEyxte18pN68NWm2BdSSU1KHiY6SlmrpqfmIZJqdW4yHn1otJRsDMfOLLSm2Eekjhs7qCrZVGj5bwk4TZALD00UeQsexLpNX+Gi8Njy2HJYtHtVPsMkq8oQ4RnQ/2cv7Pu82AZ98wdRPwFA05M,iv:bZ4fkol7BBjROx9J6cVYG1MQdfTbtgRR8/GiNjVWTcA=,tag:6r5+LCE5UcRjXIe1b0kYrw==,type:str]
|
||||||
ssh_hosts:
|
ssh_hosts:
|
||||||
caveserver: ENC[AES256_GCM,data:gbP+iNnBUOmQTxUuegIv5sgqGuBhAlg9p0dZUC1nlX/DzZW3DOjF7YBdmSx/TYJ7HHAp8DLZ,iv:LIXC3jTQLFK6HDDZm4dbzx+inJMcsTGkyEY3ytaMwfs=,tag:OOP1zQidcic3lgmWqVlOJw==,type:str]
|
caveserver: ENC[AES256_GCM,data:l7P6cqTBaJfjfPO5N8I421KAlJndtcPBIIWgho+NA3ymY23b+pMjIygkViA+L7pFYNZ8Fg==,iv:06skSjRR05Y+nv1TTUzAlSid8vlQtYlgCK/Yr3k8gqA=,tag:mdhPhxut4pK+tpPVN9wxog==,type:str]
|
||||||
locations:
|
locations:
|
||||||
snowhawk:
|
snowhawk:
|
||||||
lat: ENC[AES256_GCM,data:N7CsvQ==,iv:BfSp2jXBZDEEyNHhpo3SAwEVIWI0timAT2S1l76ODn0=,tag:Mf99+rM/m3Wh8BmmITKjpg==,type:str]
|
lat: ENC[AES256_GCM,data:N7CsvQ==,iv:BfSp2jXBZDEEyNHhpo3SAwEVIWI0timAT2S1l76ODn0=,tag:Mf99+rM/m3Wh8BmmITKjpg==,type:str]
|
||||||
|
@ -23,32 +23,23 @@ sops:
|
||||||
- recipient: age1zgd7qpj7vc4gjtetttqgp32aw75fmnjrw6ax2x2meul2w4jclytszvutdd
|
- recipient: age1zgd7qpj7vc4gjtetttqgp32aw75fmnjrw6ax2x2meul2w4jclytszvutdd
|
||||||
enc: |
|
enc: |
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2bENoUVd6cEMvaEJmT1Rj
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBqaUZNVnZaV3Z6WG9zVmw1
|
||||||
NVZteDJqSEp4cDJ0Q2RkL1A3Uk1RMjBJS25JClY2QTAwOTNSb1RkV3hKRmRJS2FR
|
d0tXNlp0OWVHaHp4OFpNTG1GdStMdUlGakhFClg0TS9RZkFjSlFkUFlXOHRQbm1X
|
||||||
eXNLTzl5MzBCVFdaR3hPNENmdWFxM3cKLS0tIHFZcDhqYXZ0UFZqUWRHMHFRYTBp
|
NlZDa0JrMDhQOGM2MWVPRjE2VDBDSDAKLS0tIGg3aWVLTm9DQ2Q0dkdoaFFibHlP
|
||||||
TlRqL0NRTlJjWHFvWU9aMlpKZ3R6VHcK8a0OhvrSbfqGBGZ/wAkFhtGf0dpi8kDh
|
MGgveEdDb1laY3NhUkRyOVVuME9OVlkKUpTeucratE3vrdsHa/Sm0s0ygwD2UBZ7
|
||||||
TqIxry+58JV8EGyMlP2/6JWIZILUVkHUmCGj/RmtnuraNWdYuS4KNw==
|
5wNykjQUGUG+7OluUlWrwvnmgzyYKS0BM3BD0NjpzTS4OiSB6VYD5g==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
- recipient: age1s549sffdhu2yyfk9h06hhks7xc4mqq9a6k53dleurr7y3rmuudpqwz24gv
|
- recipient: age1s549sffdhu2yyfk9h06hhks7xc4mqq9a6k53dleurr7y3rmuudpqwz24gv
|
||||||
enc: |
|
enc: |
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtVldzZkxhajRLaVB5T0dT
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhRVphSzg4NEZWenBWSGY3
|
||||||
T0xKZHlDaU00cnZ0cXBrOFJwWE1rbzBMbmhVCms5YTBqSkFOWlFJc042My9hMW5O
|
L3A5QTVuMFVBOVdrRHlRY3ViK2xjcFpTVkdnCnlCV0dHMmVlRTllbnRpQTdJaVQr
|
||||||
a1VnaFNpUFBidHNMRGdQTHFNcm84M3cKLS0tIC94US81cEpnSCthV1N3NkNRRzNi
|
QjFXV1lPV1N4TEZxL05WaStDYmlRRTAKLS0tIFZSdkdTT3JyQmlqZVNEWDRwSFln
|
||||||
alUrY0ZqQkRRQ3grR280SlNYRUR0TmMK9wh5a+irau+K/bD6jWrs+F7KxzHun4qo
|
Nk1jNmhBV2hFcFVXaVl0TE02L290NDgKq0JV2vKnHUio0d6p8Wo29skOdq1uzjGh
|
||||||
3yMSjNh0Qc+4KNrVZ9F1K5lEYRygAO/pEA+/Jv278YxCEph2Xwea4w==
|
ViIFNODIG8pPVsXQZqCXDWgZIVsAwbavS43d4wkg8iSZ4h6o6sC23Q==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
- recipient: age1vtsdlkxr3wuy5vtrpwfdr6sy7duzl06htusdu3as2knvfzvhhakqmc70rj
|
lastmodified: "2025-01-22T06:46:39Z"
|
||||||
enc: |
|
mac: ENC[AES256_GCM,data:lsf52iWYfXM3Fa3GiO5nlFffMJGOiURGGvyGHey0ajNUzcEOv5VHfgsUWRuAdehht6HlMCUt6MRKODXL5Mo5d1kPfEbfAFX0AgNwxKXLSrDXu6arXCGkbIC8PXFfpcSJ9FRKkk7GjZi6GvCtHMYwQcIjgIQjWnFhIRnKiXMR3bA=,iv:UboPKL3RgZ1zqGcCS2gBSuWzkvc5hIpYX/UIUEgYxLU=,tag:N5EjWnp47pptZ9/ealmXAw==,type:str]
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBqbzQ2M1F2Z1ZLNm51ZkFl
|
|
||||||
SnlxeUxic1lVQXFLc2UySTBPa2l6VmZPUXh3CkI1RHJWc3FlY3RuamxNUVFFVDdh
|
|
||||||
bVIreTZZbzJFdVJhOEdzL292dDR6NFkKLS0tIHVZZ0RGM3J5ODdiS1huNjNDbkpB
|
|
||||||
SzBGRHZHNm5SeGhnZHBlNW9JMnFBWkEK5lRKdGVp9rCL2e7dRXedxNFCvlj6NFfF
|
|
||||||
jy0vb0T8arxL4UlqYKRFgxhm+UriLaiYqNz1eXzIHe5KKyapurFf7w==
|
|
||||||
-----END AGE ENCRYPTED FILE-----
|
|
||||||
lastmodified: "2025-03-14T09:38:21Z"
|
|
||||||
mac: ENC[AES256_GCM,data:znO3sIZuXg/wIZ7Uxf2q+D/3eguMsiQ3+EZjDWQI9j2fE6q0tRzvcpFr/aarVhdIIs8MF7oG3Ka7ZO2s7F+hBsU9Ryu+w1Iyp/kFsf0tfFZAoTv0RdhmZJKe1GK8PH+Tmj0IzlPjCl/9tuWfWHwLe6+IVakP7oi5W00yRgwc71M=,iv:c9JibJ1iDGEYU96v0K0KfWE71lP+p4yBiTUGdxsWp64=,tag:1j7nTWgUe2H9Ny7qZ1aDDw==,type:str]
|
|
||||||
pgp: []
|
pgp: []
|
||||||
unencrypted_suffix: _unencrypted
|
unencrypted_suffix: _unencrypted
|
||||||
version: 3.9.4
|
version: 3.9.2
|
||||||
|
|
Loading…
Reference in a new issue