Compare commits
1 commit
Author | SHA1 | Date | |
---|---|---|---|
e0b1a5bbd9 |
96 changed files with 393 additions and 5357 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,2 +1 @@
|
||||||
result/
|
result/
|
||||||
target/
|
|
||||||
|
|
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
[submodule "fish/themes/val-cat"]
|
||||||
|
path = fish/themes/val-cat
|
||||||
|
url = https://git.zynh.me/Zynh0722/omf-theme.git
|
11
.sops.yaml
11
.sops.yaml
|
@ -1,11 +0,0 @@
|
||||||
keys:
|
|
||||||
users:
|
|
||||||
- &ravenshade age1zgd7qpj7vc4gjtetttqgp32aw75fmnjrw6ax2x2meul2w4jclytszvutdd
|
|
||||||
hosts:
|
|
||||||
- &snowhawk age1s549sffdhu2yyfk9h06hhks7xc4mqq9a6k53dleurr7y3rmuudpqwz24gv
|
|
||||||
creation_rules:
|
|
||||||
- path_regex: secrets.yaml$
|
|
||||||
key_groups:
|
|
||||||
- age:
|
|
||||||
- *ravenshade
|
|
||||||
- *snowhawk
|
|
109
builders.nix
109
builders.nix
|
@ -1,109 +0,0 @@
|
||||||
{ nixpkgs, nix-darwin, self, ... }@inputs:
|
|
||||||
|
|
||||||
let
|
|
||||||
makePkgs = system: (import nixpkgs {
|
|
||||||
inherit system;
|
|
||||||
|
|
||||||
config.allowUnfree = true;
|
|
||||||
overlays = [
|
|
||||||
self.overlays.default
|
|
||||||
inputs.niri.overlays.niri
|
|
||||||
# inputs.lix-module.overlays.default
|
|
||||||
|
|
||||||
inputs.zdwl.overlays.default
|
|
||||||
|
|
||||||
(final: prev: {
|
|
||||||
tmux = prev.tmux.overrideAttrs (old: rec {
|
|
||||||
version = "3.5";
|
|
||||||
src = prev.fetchFromGitHub {
|
|
||||||
owner = "tmux";
|
|
||||||
repo = "tmux";
|
|
||||||
rev = version;
|
|
||||||
hash = "sha256-8CRZj7UyBhuB5QO27Y+tHG62S/eGxPOHWrwvh1aBqq0=";
|
|
||||||
};
|
|
||||||
});
|
|
||||||
})
|
|
||||||
];
|
|
||||||
});
|
|
||||||
|
|
||||||
lib = nixpkgs.lib.extend (import ./lib);
|
|
||||||
|
|
||||||
inherit (inputs.home-manager.lib) homeManagerConfiguration;
|
|
||||||
inherit (lib) nixosSystem;
|
|
||||||
inherit (lib.strings) optionalString;
|
|
||||||
inherit (lib.attrsets) nameValuePair;
|
|
||||||
in
|
|
||||||
rec {
|
|
||||||
toPartialNixosConfig =
|
|
||||||
{ hostname, system ? "x86_64-linux" }:
|
|
||||||
nameValuePair
|
|
||||||
hostname
|
|
||||||
(nixosSystem rec {
|
|
||||||
pkgs = makePkgs system;
|
|
||||||
specialArgs = { inherit inputs self; };
|
|
||||||
|
|
||||||
modules = [
|
|
||||||
./hosts/${hostname}/hardware-configuration.nix
|
|
||||||
./hosts/${hostname}/configuration.nix
|
|
||||||
inputs.home-manager.nixosModules.default
|
|
||||||
inputs.chaotic.nixosModules.default
|
|
||||||
inputs.niri.nixosModules.niri
|
|
||||||
{
|
|
||||||
home-manager.extraSpecialArgs = {
|
|
||||||
inherit inputs self pkgs;
|
|
||||||
lib = pkgs.lib.extend (_: _: inputs.home-manager.lib);
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
});
|
|
||||||
|
|
||||||
toPartialHomeManagerConfig =
|
|
||||||
{ user, system ? "x86_64-linux", hostname ? "", configHostname ? "" }:
|
|
||||||
let
|
|
||||||
configHost = if builtins.stringLength configHostname > 0 then configHostname else hostname;
|
|
||||||
hostStr = optionalString (builtins.stringLength hostname > 0) "@${hostname}";
|
|
||||||
in
|
|
||||||
assert lib.assertMsg (builtins.stringLength configHost > 0) "either configHostname or hostname need to exist";
|
|
||||||
nameValuePair
|
|
||||||
"${user}${hostStr}"
|
|
||||||
(homeManagerConfiguration {
|
|
||||||
pkgs = makePkgs system;
|
|
||||||
extraSpecialArgs = { inherit inputs self; };
|
|
||||||
|
|
||||||
modules = [
|
|
||||||
inputs.chaotic.homeManagerModules.default
|
|
||||||
./hosts/${configHost}/home.nix
|
|
||||||
];
|
|
||||||
});
|
|
||||||
|
|
||||||
toPartialDarwinConfig =
|
|
||||||
{ hostname, system ? "aarch64-darwin", }:
|
|
||||||
nameValuePair
|
|
||||||
hostname
|
|
||||||
(nix-darwin.lib.darwinSystem rec {
|
|
||||||
pkgs = makePkgs system;
|
|
||||||
specialArgs = { inherit inputs self; };
|
|
||||||
|
|
||||||
modules = [
|
|
||||||
inputs.home-manager.darwinModules.home-manager
|
|
||||||
./hosts/${hostname}/configuration.nix
|
|
||||||
{
|
|
||||||
home-manager.extraSpecialArgs = {
|
|
||||||
inherit inputs self pkgs;
|
|
||||||
lib = pkgs.lib.extend (_: _: inputs.home-manager.lib);
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
});
|
|
||||||
|
|
||||||
compileSystems =
|
|
||||||
toPartialConfiguration:
|
|
||||||
systems:
|
|
||||||
lib.right
|
|
||||||
builtins.listToAttrs
|
|
||||||
(map toPartialConfiguration)
|
|
||||||
systems;
|
|
||||||
compileNixosSystems = compileSystems toPartialNixosConfig;
|
|
||||||
compileDarwinSystems = compileSystems toPartialDarwinConfig;
|
|
||||||
compileHomes = compileSystems toPartialHomeManagerConfig;
|
|
||||||
}
|
|
180
configuration.nix
Normal file
180
configuration.nix
Normal file
|
@ -0,0 +1,180 @@
|
||||||
|
# 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’).
|
||||||
|
|
||||||
|
{ config, pkgs, inputs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [ inputs.home-manager.nixosModules.default ];
|
||||||
|
|
||||||
|
# Bootloader.
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
|
||||||
|
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||||
|
|
||||||
|
# Configure network proxy if necessary
|
||||||
|
# networking.proxy.default = "http://user:password@proxy:port/";
|
||||||
|
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||||
|
|
||||||
|
# Enable networking
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
fonts.packages = with pkgs; [
|
||||||
|
(nerdfonts.override { fonts = [ "JetBrainsMono" ]; })
|
||||||
|
];
|
||||||
|
|
||||||
|
# Set your time zone.
|
||||||
|
time.timeZone = "America/Los_Angeles";
|
||||||
|
|
||||||
|
# Select internationalisation properties.
|
||||||
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
|
||||||
|
i18n.extraLocaleSettings = {
|
||||||
|
LC_ADDRESS = "en_US.UTF-8";
|
||||||
|
LC_IDENTIFICATION = "en_US.UTF-8";
|
||||||
|
LC_MEASUREMENT = "en_US.UTF-8";
|
||||||
|
LC_MONETARY = "en_US.UTF-8";
|
||||||
|
LC_NAME = "en_US.UTF-8";
|
||||||
|
LC_NUMERIC = "en_US.UTF-8";
|
||||||
|
LC_PAPER = "en_US.UTF-8";
|
||||||
|
LC_TELEPHONE = "en_US.UTF-8";
|
||||||
|
LC_TIME = "en_US.UTF-8";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable the X11 windowing system.
|
||||||
|
services.xserver.enable = true;
|
||||||
|
|
||||||
|
# Enable the XFCE Desktop Environment.
|
||||||
|
services.xserver.displayManager.lightdm.enable = true;
|
||||||
|
services.xserver.desktopManager.budgie.enable = true;
|
||||||
|
# services.xserver.windowManager.dwm.enable = true;
|
||||||
|
|
||||||
|
# Configure keymap in X11
|
||||||
|
services.xserver = {
|
||||||
|
xkb = {
|
||||||
|
layout = "us";
|
||||||
|
variant = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable CUPS to print documents.
|
||||||
|
services.printing.enable = true;
|
||||||
|
|
||||||
|
# Enable sound with pipewire.
|
||||||
|
sound.enable = true;
|
||||||
|
hardware.pulseaudio.enable = false;
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
# If you want to use JACK applications, uncomment this
|
||||||
|
#jack.enable = true;
|
||||||
|
|
||||||
|
# use the example session manager (no others are packaged yet so this is enabled by default,
|
||||||
|
# no need to redefine it in your config for now)
|
||||||
|
#media-session.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable touchpad support (enabled default in most desktopManager).
|
||||||
|
# services.xserver.libinput.enable = true;
|
||||||
|
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||||
|
|
||||||
|
programs.nix-ld.enable = true;
|
||||||
|
# programs.nix-ld.libraries = with pkgs; [
|
||||||
|
#
|
||||||
|
# ];
|
||||||
|
|
||||||
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
|
users.users.ravenshade = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "Zynh Ludwig";
|
||||||
|
extraGroups = [ "networkmanager" "wheel" ];
|
||||||
|
packages = with pkgs; [
|
||||||
|
rustup
|
||||||
|
neovim
|
||||||
|
gparted
|
||||||
|
fish
|
||||||
|
gnumake
|
||||||
|
zig
|
||||||
|
go
|
||||||
|
nil
|
||||||
|
xclip
|
||||||
|
wezterm
|
||||||
|
firefox
|
||||||
|
fzf
|
||||||
|
tree
|
||||||
|
lazygit
|
||||||
|
ripgrep
|
||||||
|
nodejs_21
|
||||||
|
dotnet-sdk_8
|
||||||
|
unzip
|
||||||
|
nixpkgs-fmt
|
||||||
|
lua-language-server
|
||||||
|
stylua
|
||||||
|
# steam
|
||||||
|
# spotify
|
||||||
|
# discord
|
||||||
|
git-credential-oauth
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable automatic login for the user.
|
||||||
|
services.xserver.displayManager.autoLogin = {
|
||||||
|
enable = true;
|
||||||
|
user = "ravenshade";
|
||||||
|
};
|
||||||
|
|
||||||
|
home-manager = {
|
||||||
|
extraSpecialArgs = { inherit inputs; };
|
||||||
|
users = { "ravenshade" = import ./home.nix; };
|
||||||
|
};
|
||||||
|
|
||||||
|
# Allow unfree packages
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
programs.bash = {
|
||||||
|
interactiveShellInit = ''
|
||||||
|
if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]]
|
||||||
|
then
|
||||||
|
shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION=""
|
||||||
|
exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
# programs.hyprland.enable = true;
|
||||||
|
# environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||||
|
|
||||||
|
# List packages installed in system profile. To search, run:
|
||||||
|
# $ nix search wget
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
neovim
|
||||||
|
curl
|
||||||
|
git
|
||||||
|
];
|
||||||
|
|
||||||
|
# Some programs need SUID wrappers, can be configured further or are
|
||||||
|
# started in user sessions.
|
||||||
|
# programs.mtr.enable = true;
|
||||||
|
# programs.gnupg.agent = {
|
||||||
|
# enable = true;
|
||||||
|
# enableSSHSupport = true;
|
||||||
|
# };
|
||||||
|
|
||||||
|
# List services that you want to enable:
|
||||||
|
|
||||||
|
# Enable the OpenSSH daemon.
|
||||||
|
services.openssh.enable = true;
|
||||||
|
|
||||||
|
# Open ports in the firewall.
|
||||||
|
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||||
|
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||||
|
# Or disable the firewall altogether.
|
||||||
|
# networking.firewall.enable = false;
|
||||||
|
|
||||||
|
# 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?
|
||||||
|
}
|
1
fish/themes/val-cat
Submodule
1
fish/themes/val-cat
Submodule
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 75549ce64044336ed14e502f1c1ab8bf98184990
|
815
flake.lock
815
flake.lock
|
@ -1,320 +1,17 @@
|
||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"backgrounds": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1719630871,
|
|
||||||
"narHash": "sha256-laSbApuWgBoDLJUzeJKSGiqP8wwxXXQ/XnIJKihezqk=",
|
|
||||||
"ref": "refs/heads/main",
|
|
||||||
"rev": "42d5fff03e9a8aa5ad8a1dac45be209ca12b66d5",
|
|
||||||
"revCount": 8,
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://git.zynh.me/Zynh0722/backgrounds"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://git.zynh.me/Zynh0722/backgrounds"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"chaotic": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-schemas": "flake-schemas",
|
|
||||||
"home-manager": "home-manager",
|
|
||||||
"jovian": "jovian",
|
|
||||||
"nixpkgs": "nixpkgs"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733677156,
|
|
||||||
"narHash": "sha256-TSgU+M0Zm0PMnb6J/gOovC63wtqSbhgdmN7CucDO0oU=",
|
|
||||||
"owner": "chaotic-cx",
|
|
||||||
"repo": "nyx",
|
|
||||||
"rev": "354bcbbadbd00f5bda884bb2c119b7de63b197e9",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "chaotic-cx",
|
|
||||||
"ref": "nyxpkgs-unstable",
|
|
||||||
"repo": "nyx",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"dunst-theme": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1732015406,
|
|
||||||
"narHash": "sha256-3KAx56IGhab9fZi+WVwCpar1HkR37WV/cE10aSSLGDc=",
|
|
||||||
"owner": "d2718nis",
|
|
||||||
"repo": "rose-pine-dunst",
|
|
||||||
"rev": "449e806b7e9e266cf4bf722007ac01b60ffcec01",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "d2718nis",
|
|
||||||
"repo": "rose-pine-dunst",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"fish_theme": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1732816380,
|
|
||||||
"narHash": "sha256-MeLe3T8eWd0xqq/exwz1vq7Fo+Sx4NZqyOoERNiwIos=",
|
|
||||||
"ref": "refs/heads/main",
|
|
||||||
"rev": "bdb3fad8d279cd39a0b74e935e84fb641a0ea05a",
|
|
||||||
"revCount": 29,
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://git.zynh.me/Zynh0722/omf-theme"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://git.zynh.me/Zynh0722/omf-theme"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-compat": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733328505,
|
|
||||||
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
|
||||||
"owner": "edolstra",
|
|
||||||
"repo": "flake-compat",
|
|
||||||
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "edolstra",
|
|
||||||
"repo": "flake-compat",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-compat_2": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1696426674,
|
|
||||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
|
||||||
"owner": "edolstra",
|
|
||||||
"repo": "flake-compat",
|
|
||||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "edolstra",
|
|
||||||
"repo": "flake-compat",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-parts": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs-lib": [
|
|
||||||
"neovim-overlay",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733312601,
|
|
||||||
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-parts_2": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs-lib": [
|
|
||||||
"neovim-overlay",
|
|
||||||
"hercules-ci-effects",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733312601,
|
|
||||||
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"id": "flake-parts",
|
|
||||||
"type": "indirect"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-parts_3": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs-lib": "nixpkgs-lib"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733312601,
|
|
||||||
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-parts_4": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs-lib": "nixpkgs-lib_2"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733312601,
|
|
||||||
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-schemas": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1721999734,
|
|
||||||
"narHash": "sha256-G5CxYeJVm4lcEtaO87LKzOsVnWeTcHGKbKxNamNWgOw=",
|
|
||||||
"rev": "0a5c42297d870156d9c57d8f99e476b738dcd982",
|
|
||||||
"revCount": 75,
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/flake-schemas/0.1.5/0190ef2f-61e0-794b-ba14-e82f225e55e6/source.tar.gz"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://flakehub.com/f/DeterminateSystems/flake-schemas/%3D0.1.5.tar.gz"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-utils": {
|
|
||||||
"inputs": {
|
|
||||||
"systems": "systems"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1710146030,
|
|
||||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flakey-profile": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1712898590,
|
|
||||||
"narHash": "sha256-FhGIEU93VHAChKEXx905TSiPZKga69bWl1VB37FK//I=",
|
|
||||||
"owner": "lf-",
|
|
||||||
"repo": "flakey-profile",
|
|
||||||
"rev": "243c903fd8eadc0f63d205665a92d4df91d42d9d",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "lf-",
|
|
||||||
"repo": "flakey-profile",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"git-hooks": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-compat": "flake-compat_2",
|
|
||||||
"gitignore": "gitignore",
|
|
||||||
"nixpkgs": [
|
|
||||||
"neovim-overlay",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"nixpkgs-stable": [
|
|
||||||
"neovim-overlay",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733665616,
|
|
||||||
"narHash": "sha256-+XTFXYlFJBxohhMGLDpYdEnhUNdxN8dyTA8WAd+lh2A=",
|
|
||||||
"owner": "cachix",
|
|
||||||
"repo": "git-hooks.nix",
|
|
||||||
"rev": "d8c02f0ffef0ef39f6063731fc539d8c71eb463a",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "cachix",
|
|
||||||
"repo": "git-hooks.nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"gitignore": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"neovim-overlay",
|
|
||||||
"git-hooks",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1709087332,
|
|
||||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "gitignore.nix",
|
|
||||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "gitignore.nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"hercules-ci-effects": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-parts": "flake-parts_2",
|
|
||||||
"nixpkgs": [
|
|
||||||
"neovim-overlay",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733333617,
|
|
||||||
"narHash": "sha256-nMMQXREGvLOLvUa0ByhYFdaL0Jov0t1wzLbKjr05P2w=",
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "hercules-ci-effects",
|
|
||||||
"rev": "56f8ea8d502c87cf62444bec4ee04512e8ea24ea",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "hercules-ci-effects",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"chaotic",
|
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733484277,
|
"lastModified": 1708806879,
|
||||||
"narHash": "sha256-i5ay20XsvpW91N4URET/nOc0VQWOAd4c4vbqYtcH8Rc=",
|
"narHash": "sha256-MSbxtF3RThI8ANs/G4o1zIqF5/XlShHvwjl9Ws0QAbI=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "d00c6f6d0ad16d598bf7e2956f52c1d9d5de3c3a",
|
"rev": "4ee704cb13a5a7645436f400b9acc89a67b9c08a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -323,324 +20,13 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"home-manager_2": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733484277,
|
|
||||||
"narHash": "sha256-i5ay20XsvpW91N4URET/nOc0VQWOAd4c4vbqYtcH8Rc=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "home-manager",
|
|
||||||
"rev": "d00c6f6d0ad16d598bf7e2956f52c1d9d5de3c3a",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "home-manager",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"jovian": {
|
|
||||||
"inputs": {
|
|
||||||
"nix-github-actions": "nix-github-actions",
|
|
||||||
"nixpkgs": [
|
|
||||||
"chaotic",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733491721,
|
|
||||||
"narHash": "sha256-n4fTKTYXeGRngeanNDxSxbuWSRCQ6l74IwOBlqp8dcw=",
|
|
||||||
"owner": "Jovian-Experiments",
|
|
||||||
"repo": "Jovian-NixOS",
|
|
||||||
"rev": "0f415721ee427270bc078ef3a5ba2a308d47461f",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "Jovian-Experiments",
|
|
||||||
"repo": "Jovian-NixOS",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"lix": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1723503926,
|
|
||||||
"narHash": "sha256-Rosl9iA9MybF5Bud4BTAQ9adbY81aGmPfV8dDBGl34s=",
|
|
||||||
"rev": "bcaeb6388b8916ac6d1736e3aa2b13313e6a6bd2",
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/bcaeb6388b8916ac6d1736e3aa2b13313e6a6bd2.tar.gz?rev=bcaeb6388b8916ac6d1736e3aa2b13313e6a6bd2"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://git.lix.systems/lix-project/lix/archive/2.91.0.tar.gz"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"lix-module": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-utils": "flake-utils",
|
|
||||||
"flakey-profile": "flakey-profile",
|
|
||||||
"lix": "lix",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1723510904,
|
|
||||||
"narHash": "sha256-zNW/rqNJwhq2lYmQf19wJerRuNimjhxHKmzrWWFJYts=",
|
|
||||||
"rev": "622a2253a071a1fb97a4d3c8103a91114acc1140",
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/622a2253a071a1fb97a4d3c8103a91114acc1140.tar.gz"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://git.lix.systems/lix-project/nixos-module/archive/2.91.0.tar.gz"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"neovim-overlay": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-compat": "flake-compat",
|
|
||||||
"flake-parts": "flake-parts",
|
|
||||||
"git-hooks": "git-hooks",
|
|
||||||
"hercules-ci-effects": "hercules-ci-effects",
|
|
||||||
"neovim-src": "neovim-src",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733703025,
|
|
||||||
"narHash": "sha256-lMWofhJTYhnqvd+QzeRb5J58cYGOEI+zzqcHybKxkWU=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "neovim-nightly-overlay",
|
|
||||||
"rev": "dae2f13b6d2a39d1e56df54fabe5c6452ddf6b2a",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "neovim-nightly-overlay",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"neovim-src": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733660965,
|
|
||||||
"narHash": "sha256-Nm+9/OZfpb4hayCz/IpAzO2waQimlt+kM1fMOM1viWo=",
|
|
||||||
"owner": "neovim",
|
|
||||||
"repo": "neovim",
|
|
||||||
"rev": "84d9f4f9f9efbfc72630f01f5f837c50fd7020d4",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "neovim",
|
|
||||||
"repo": "neovim",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"niri": {
|
|
||||||
"inputs": {
|
|
||||||
"niri-stable": "niri-stable",
|
|
||||||
"niri-unstable": "niri-unstable",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"nixpkgs-stable": "nixpkgs-stable",
|
|
||||||
"xwayland-satellite-stable": "xwayland-satellite-stable",
|
|
||||||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733707204,
|
|
||||||
"narHash": "sha256-s9LQ/6ZTupaXZSs79k8NM5TAl7UKx+me0VCngGY+eIA=",
|
|
||||||
"owner": "sodiboo",
|
|
||||||
"repo": "niri-flake",
|
|
||||||
"rev": "269566b355c4fd98f730483035fc5fe077b91251",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "sodiboo",
|
|
||||||
"repo": "niri-flake",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"niri-stable": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1731483594,
|
|
||||||
"narHash": "sha256-Qjf7alRbPPERfiZsM9EMKX+HwjESky1tieh5PJIkLwE=",
|
|
||||||
"owner": "YaLTeR",
|
|
||||||
"repo": "niri",
|
|
||||||
"rev": "75c79116a7e40cbc0e110ce0cdd500e896458679",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "YaLTeR",
|
|
||||||
"ref": "v0.1.10.1",
|
|
||||||
"repo": "niri",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"niri-unstable": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733639139,
|
|
||||||
"narHash": "sha256-oQ7YwoK/Hhpal6URjypm+BEB3n2S8GAJQVG8sVLC0/I=",
|
|
||||||
"owner": "YaLTeR",
|
|
||||||
"repo": "niri",
|
|
||||||
"rev": "9824321fc9499b9987f344308a5c5c69cb9b7a77",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "YaLTeR",
|
|
||||||
"repo": "niri",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nix-darwin": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733570843,
|
|
||||||
"narHash": "sha256-sQJAxY1TYWD1UyibN/FnN97paTFuwBw3Vp3DNCyKsMk=",
|
|
||||||
"owner": "LnL7",
|
|
||||||
"repo": "nix-darwin",
|
|
||||||
"rev": "a35b08d09efda83625bef267eb24347b446c80b8",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "LnL7",
|
|
||||||
"repo": "nix-darwin",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nix-gaming": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-parts": "flake-parts_3",
|
|
||||||
"nixpkgs": "nixpkgs_2",
|
|
||||||
"umu": "umu"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733795424,
|
|
||||||
"narHash": "sha256-1jtgOKNK/lpj3xlc+ZTlIhks3DhSs7UshGjCZg7kgzY=",
|
|
||||||
"owner": "fufexan",
|
|
||||||
"repo": "nix-gaming",
|
|
||||||
"rev": "8563347a85fd3735dec7b22e172c0c5d6f756ea0",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "fufexan",
|
|
||||||
"repo": "nix-gaming",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nix-github-actions": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"chaotic",
|
|
||||||
"jovian",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1729697500,
|
|
||||||
"narHash": "sha256-VFTWrbzDlZyFHHb1AlKRiD/qqCJIripXKiCSFS8fAOY=",
|
|
||||||
"owner": "zhaofengli",
|
|
||||||
"repo": "nix-github-actions",
|
|
||||||
"rev": "e418aeb728b6aa5ca8c5c71974e7159c2df1d8cf",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "zhaofengli",
|
|
||||||
"ref": "matrix-name",
|
|
||||||
"repo": "nix-github-actions",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733581040,
|
"lastModified": 1708807242,
|
||||||
"narHash": "sha256-Qn3nPMSopRQJgmvHzVqPcE3I03zJyl8cSbgnnltfFDY=",
|
"narHash": "sha256-sRTRkhMD4delO/hPxxi+XwLqPn8BuUq6nnj4JqLwOu0=",
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "22c3f2cf41a0e70184334a958e6b124fb0ce3e01",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs-lib": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733096140,
|
|
||||||
"narHash": "sha256-1qRH7uAUsyQI7R1Uwl4T+XvdNv778H0Nb5njNrqvylY=",
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs-lib_2": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733096140,
|
|
||||||
"narHash": "sha256-1qRH7uAUsyQI7R1Uwl4T+XvdNv778H0Nb5njNrqvylY=",
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs-stable": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733384649,
|
|
||||||
"narHash": "sha256-K5DJ2LpPqht7K76bsxetI+YHhGGRyVteTPRQaIIKJpw=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "190c31a89e5eec80dd6604d7f9e5af3802a58a13",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-24.05",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_2": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733376361,
|
|
||||||
"narHash": "sha256-aLJxoTDDSqB+/3orsulE6/qdlX6MzDLIITLZqdgMpqo=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "929116e316068c7318c54eb4d827f7d9756d5e9c",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixpkgs-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_3": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733581040,
|
|
||||||
"narHash": "sha256-Qn3nPMSopRQJgmvHzVqPcE3I03zJyl8cSbgnnltfFDY=",
|
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "22c3f2cf41a0e70184334a958e6b124fb0ce3e01",
|
"rev": "73de017ef2d18a04ac4bfd0c02650007ccb31c2a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -650,195 +36,10 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"repo-clone": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1722509718,
|
|
||||||
"narHash": "sha256-VkdEMyhUl5RwyOsGsBzpA0WgDAWzEkngCrgiJAkQdr0=",
|
|
||||||
"ref": "refs/heads/main",
|
|
||||||
"rev": "b227fc74a6c24c8586ac0cee2e49400f3572957a",
|
|
||||||
"revCount": 43,
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://git.zynh.me/Zynh0722/repo-clone"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://git.zynh.me/Zynh0722/repo-clone"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"backgrounds": "backgrounds",
|
"home-manager": "home-manager",
|
||||||
"chaotic": "chaotic",
|
"nixpkgs": "nixpkgs"
|
||||||
"dunst-theme": "dunst-theme",
|
|
||||||
"fish_theme": "fish_theme",
|
|
||||||
"home-manager": "home-manager_2",
|
|
||||||
"lix-module": "lix-module",
|
|
||||||
"neovim-overlay": "neovim-overlay",
|
|
||||||
"niri": "niri",
|
|
||||||
"nix-darwin": "nix-darwin",
|
|
||||||
"nix-gaming": "nix-gaming",
|
|
||||||
"nixpkgs": "nixpkgs_3",
|
|
||||||
"repo-clone": "repo-clone",
|
|
||||||
"sops-nix": "sops-nix",
|
|
||||||
"umu": "umu_2",
|
|
||||||
"zdwl": "zdwl",
|
|
||||||
"zdwm": "zdwm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"sops-nix": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733128155,
|
|
||||||
"narHash": "sha256-m6/qwJAJYcidGMEdLqjKzRIjapK4nUfMq7rDCTmZajc=",
|
|
||||||
"owner": "mic92",
|
|
||||||
"repo": "sops-nix",
|
|
||||||
"rev": "c6134b6fff6bda95a1ac872a2a9d5f32e3c37856",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "mic92",
|
|
||||||
"repo": "sops-nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"systems": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"umu": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nix-gaming",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"dir": "packaging/nix",
|
|
||||||
"lastModified": 1733509971,
|
|
||||||
"narHash": "sha256-LZIrb7HNWyLMU+dSI4fhbo2dMzJbbKKFWwYOpJwVXKE=",
|
|
||||||
"ref": "refs/heads/main",
|
|
||||||
"rev": "562e3900eebde0fb276dd2f425c097c8b44ccb92",
|
|
||||||
"revCount": 865,
|
|
||||||
"submodules": true,
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"dir": "packaging/nix",
|
|
||||||
"submodules": true,
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"umu_2": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"dir": "packaging/nix",
|
|
||||||
"lastModified": 1733681789,
|
|
||||||
"narHash": "sha256-cwTTwiYkUdFpJFpFlnalteT0bn7s7bC3ngj2tdKWhZk=",
|
|
||||||
"ref": "refs/heads/main",
|
|
||||||
"rev": "b0c0d44e0e533b42790360d30430a69b330849d6",
|
|
||||||
"revCount": 867,
|
|
||||||
"submodules": true,
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"dir": "packaging/nix",
|
|
||||||
"submodules": true,
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"xwayland-satellite-stable": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1730166465,
|
|
||||||
"narHash": "sha256-nq7bouXQXaaPPo/E+Jbq+wNHnatD4dY8OxSrRqzvy6s=",
|
|
||||||
"owner": "Supreeeme",
|
|
||||||
"repo": "xwayland-satellite",
|
|
||||||
"rev": "a713cf46cb7db84a0d1b57c3a397c610cad3cf98",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "Supreeeme",
|
|
||||||
"ref": "v0.5",
|
|
||||||
"repo": "xwayland-satellite",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"xwayland-satellite-unstable": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1732233710,
|
|
||||||
"narHash": "sha256-gWf9dX6DVx0ssK2G3yrFG9yMT9UU0mDwyD51z/Q6FTA=",
|
|
||||||
"owner": "Supreeeme",
|
|
||||||
"repo": "xwayland-satellite",
|
|
||||||
"rev": "02f30546264ff8407cbb39528b3a3cc3045e53c1",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "Supreeeme",
|
|
||||||
"repo": "xwayland-satellite",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"zdwl": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-parts": "flake-parts_4",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1734097112,
|
|
||||||
"narHash": "sha256-orgIP31BsPt/sefmoOA8UDs91WPgYWtgxm0RpO8uVKw=",
|
|
||||||
"ref": "0.7",
|
|
||||||
"rev": "389d476f5b6c544874e6d01cd23d7c1ad213f1c9",
|
|
||||||
"revCount": 1259,
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://git.zynh.me/Zynh0722/dwl"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"ref": "0.7",
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://git.zynh.me/Zynh0722/dwl"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"zdwm": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733723532,
|
|
||||||
"narHash": "sha256-3BGFjI4hn2O9DKVN5IDznGNxuZ/kZQ4/A7o0LyDOw20=",
|
|
||||||
"ref": "preanybar-systray",
|
|
||||||
"rev": "f64f6f401571296da949e1fae4fbadec72582144",
|
|
||||||
"revCount": 1732,
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://git.zynh.me/Zynh0722/dwm"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"ref": "preanybar-systray",
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://git.zynh.me/Zynh0722/dwm"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
63
flake.nix
63
flake.nix
|
@ -1,47 +1,36 @@
|
||||||
{
|
{
|
||||||
description = "snowhawk: a nixos configuration flake";
|
description = "Nixos config flake";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
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"; };
|
|
||||||
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"; };
|
|
||||||
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";
|
|
||||||
|
|
||||||
nix-darwin = { url = "github:LnL7/nix-darwin"; inputs.nixpkgs.follows = "nixpkgs"; };
|
home-manager = {
|
||||||
|
url = "github:nix-community/home-manager";
|
||||||
repo-clone.url = "git+https://git.zynh.me/Zynh0722/repo-clone";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
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"; };
|
|
||||||
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"; };
|
|
||||||
umu = { url = "git+https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging\/nix&submodules=1"; inputs.nixpkgs.follows = "nixpkgs"; };
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs = { self, nixpkgs, ... }@inputs:
|
||||||
{ self, nixpkgs, ... }@inputs:
|
|
||||||
let
|
|
||||||
builders = import ./builders.nix inputs;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
nixosConfigurations = builders.compileNixosSystems [
|
nixosConfigurations = {
|
||||||
{ hostname = "snowhawk"; }
|
snowhawk = nixpkgs.lib.nixosSystem {
|
||||||
];
|
specialArgs = { inherit inputs; };
|
||||||
|
system = "x86_64-linux";
|
||||||
darwinConfigurations = builders.compileDarwinSystems [
|
modules = [
|
||||||
{ hostname = "lynx"; }
|
./hosts/snowhawk/hardware-configuration.nix
|
||||||
];
|
./configuration.nix
|
||||||
|
inputs.home-manager.nixosModules.default
|
||||||
homeConfigurations = builders.compileHomes [
|
];
|
||||||
{ user = "zynh"; hostname = "msiserver"; }
|
};
|
||||||
{ user = "val"; hostname = "caveserver"; }
|
sprite = nixpkgs.lib.nixosSystem {
|
||||||
{ user = "ravenshade"; hostname = "virtmsi"; }
|
specialArgs = { inherit inputs; };
|
||||||
];
|
system = "aarch64-linux";
|
||||||
|
modules = [
|
||||||
overlays.default = import ./pkgs;
|
./hosts/sprite/hardware-configuration.nix
|
||||||
|
./configuration.nix
|
||||||
|
inputs.home-manager.nixosModules.default
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
131
home.nix
Normal file
131
home.nix
Normal file
|
@ -0,0 +1,131 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# Home Manager needs a bit of information about you and the paths it should
|
||||||
|
# manage.
|
||||||
|
home.username = "ravenshade";
|
||||||
|
home.homeDirectory = "/home/ravenshade";
|
||||||
|
|
||||||
|
# This value determines the Home Manager release that your configuration is
|
||||||
|
# compatible with. This helps avoid breakage when a new Home Manager release
|
||||||
|
# introduces backwards incompatible changes.
|
||||||
|
#
|
||||||
|
# You should not change this value, even if you update Home Manager. If you do
|
||||||
|
# want to update the value, then make sure to first check the Home Manager
|
||||||
|
# release notes.
|
||||||
|
home.stateVersion = "23.11"; # Please read the comment before changing.
|
||||||
|
|
||||||
|
# The home.packages option allows you to install Nix packages into your
|
||||||
|
# environment.
|
||||||
|
home.packages = [
|
||||||
|
# # Adds the 'hello' command to your environment. It prints a friendly
|
||||||
|
# # "Hello, world!" when run.
|
||||||
|
# pkgs.hello
|
||||||
|
|
||||||
|
# # It is sometimes useful to fine-tune packages, for example, by applying
|
||||||
|
# # overrides. You can do that directly here, just don't forget the
|
||||||
|
# # parentheses. Maybe you want to install Nerd Fonts with a limited number of
|
||||||
|
# # fonts?
|
||||||
|
# (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; })
|
||||||
|
|
||||||
|
# # You can also create simple shell scripts directly inside your
|
||||||
|
# # configuration. For example, this adds a command 'my-hello' to your
|
||||||
|
# # environment:
|
||||||
|
# (pkgs.writeShellScriptBin "my-hello" ''
|
||||||
|
# echo "Hello, ${config.home.username}!"
|
||||||
|
# '')
|
||||||
|
];
|
||||||
|
|
||||||
|
# Home Manager is pretty good at managing dotfiles. The primary way to manage
|
||||||
|
# plain files is through 'home.file'.
|
||||||
|
home.file = {
|
||||||
|
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
|
||||||
|
# # the Nix store. Activating the configuration will then make '~/.screenrc' a
|
||||||
|
# # symlink to the Nix store copy.
|
||||||
|
# ".screenrc".source = dotfiles/screenrc;
|
||||||
|
".local/share/omf/themes/val-cat" = {
|
||||||
|
enable = true;
|
||||||
|
source = config.lib.file.mkOutOfStoreSymlink ./fish/themes/val-cat;
|
||||||
|
};
|
||||||
|
# # You can also set the file content immediately.
|
||||||
|
# ".gradle/gradle.properties".text = ''
|
||||||
|
# org.gradle.console=verbose
|
||||||
|
# org.gradle.daemon.idletimeout=3600000
|
||||||
|
# '';
|
||||||
|
};
|
||||||
|
|
||||||
|
home.sessionVariables = {
|
||||||
|
EDITOR = "nvim";
|
||||||
|
MANPAGER = "nvim +Man!";
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.fish = {
|
||||||
|
enable = true;
|
||||||
|
interactiveShellInit = ''
|
||||||
|
set -U fish_greeting
|
||||||
|
|
||||||
|
if status is-interactive
|
||||||
|
# Commands to run in interactive sessions can go here
|
||||||
|
end
|
||||||
|
|
||||||
|
function fish_user_key_bindings
|
||||||
|
# Execute this once per mode that emacs bindings should be used in
|
||||||
|
fish_default_key_bindings -M insert
|
||||||
|
|
||||||
|
# Then execute the vi-bindings so they take precedence when there's a conflict.
|
||||||
|
# Without --no-erase fish_vi_key_bindings will default to
|
||||||
|
# resetting all bindings.
|
||||||
|
# The argument specifies the initial mode (insert, "default" or visual).
|
||||||
|
fish_vi_key_bindings --no-erase insert
|
||||||
|
|
||||||
|
bind \cf 'fg 2>/dev/null; commandline -f repaint'
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
userName = "Zynh Ludwig";
|
||||||
|
userEmail = "zynh0722@gmail.com";
|
||||||
|
aliases = {
|
||||||
|
co = "checkout";
|
||||||
|
ci = "commit";
|
||||||
|
st = "status";
|
||||||
|
br = "branch";
|
||||||
|
hist = "log --pretty=format:'%h %ad | %s%d [%an]' --graph --date=short";
|
||||||
|
type = "cat-file -t";
|
||||||
|
dump = "cat-file -p";
|
||||||
|
graph = "log --graph --decorate --pretty=oneline --abbrev-commit";
|
||||||
|
};
|
||||||
|
extraConfig = {
|
||||||
|
init.defaultBranch = "main";
|
||||||
|
core = {
|
||||||
|
editor = "nvim";
|
||||||
|
autocrlf = "input";
|
||||||
|
safecrlf = true;
|
||||||
|
};
|
||||||
|
credential = {
|
||||||
|
helper = [
|
||||||
|
"cache --timeout 7200"
|
||||||
|
"oauth"
|
||||||
|
];
|
||||||
|
"https://git.zynh.me" = {
|
||||||
|
oauthClientId = "13d5b95d-565d-4264-8961-c45cc38eaa8a";
|
||||||
|
oauthScopes = "read_repository write_repository";
|
||||||
|
oauthAuthURL = "/login/oauth/authorize";
|
||||||
|
oauthTokenURL = "/login/oauth/access_token";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# wayland.windowManager.hyprland = {
|
||||||
|
# enable = true;
|
||||||
|
# package = pkgs.hyprland;
|
||||||
|
# xwayland.enable = true;
|
||||||
|
# systemd.enable = true;
|
||||||
|
# };
|
||||||
|
|
||||||
|
# Let Home Manager install and manage itself.
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
}
|
Binary file not shown.
Binary file not shown.
|
@ -1,213 +0,0 @@
|
||||||
complete -c rustup -n "__fish_use_subcommand" -s v -l verbose -d 'Enable verbose output'
|
|
||||||
complete -c rustup -n "__fish_use_subcommand" -s q -l quiet -d 'Disable progress output'
|
|
||||||
complete -c rustup -n "__fish_use_subcommand" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_use_subcommand" -s V -l version -d 'Print version'
|
|
||||||
complete -c rustup -n "__fish_use_subcommand" -f -a "dump-testament" -d 'Dump information about the build'
|
|
||||||
complete -c rustup -n "__fish_use_subcommand" -f -a "show" -d 'Show the active and installed toolchains or profiles'
|
|
||||||
complete -c rustup -n "__fish_use_subcommand" -f -a "install" -d 'Update Rust toolchains'
|
|
||||||
complete -c rustup -n "__fish_use_subcommand" -f -a "uninstall" -d 'Uninstall Rust toolchains'
|
|
||||||
complete -c rustup -n "__fish_use_subcommand" -f -a "update" -d 'Update Rust toolchains and rustup'
|
|
||||||
complete -c rustup -n "__fish_use_subcommand" -f -a "check" -d 'Check for updates to Rust toolchains and rustup'
|
|
||||||
complete -c rustup -n "__fish_use_subcommand" -f -a "default" -d 'Set the default toolchain'
|
|
||||||
complete -c rustup -n "__fish_use_subcommand" -f -a "toolchain" -d 'Modify or query the installed toolchains'
|
|
||||||
complete -c rustup -n "__fish_use_subcommand" -f -a "target" -d 'Modify a toolchain\'s supported targets'
|
|
||||||
complete -c rustup -n "__fish_use_subcommand" -f -a "component" -d 'Modify a toolchain\'s installed components'
|
|
||||||
complete -c rustup -n "__fish_use_subcommand" -f -a "override" -d 'Modify toolchain overrides for directories'
|
|
||||||
complete -c rustup -n "__fish_use_subcommand" -f -a "run" -d 'Run a command with an environment configured for a given toolchain'
|
|
||||||
complete -c rustup -n "__fish_use_subcommand" -f -a "which" -d 'Display which binary will be run for a given command'
|
|
||||||
complete -c rustup -n "__fish_use_subcommand" -f -a "doc" -d 'Open the documentation for the current toolchain'
|
|
||||||
complete -c rustup -n "__fish_use_subcommand" -f -a "man" -d 'View the man page for a given command'
|
|
||||||
complete -c rustup -n "__fish_use_subcommand" -f -a "self" -d 'Modify the rustup installation'
|
|
||||||
complete -c rustup -n "__fish_use_subcommand" -f -a "set" -d 'Alter rustup settings'
|
|
||||||
complete -c rustup -n "__fish_use_subcommand" -f -a "completions" -d 'Generate tab-completion scripts for your shell'
|
|
||||||
complete -c rustup -n "__fish_use_subcommand" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from dump-testament" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from show; and not __fish_seen_subcommand_from active-toolchain; and not __fish_seen_subcommand_from home; and not __fish_seen_subcommand_from profile; and not __fish_seen_subcommand_from help" -s v -l verbose -d 'Enable verbose output with rustc information for all installed toolchains'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from show; and not __fish_seen_subcommand_from active-toolchain; and not __fish_seen_subcommand_from home; and not __fish_seen_subcommand_from profile; and not __fish_seen_subcommand_from help" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from show; and not __fish_seen_subcommand_from active-toolchain; and not __fish_seen_subcommand_from home; and not __fish_seen_subcommand_from profile; and not __fish_seen_subcommand_from help" -f -a "active-toolchain" -d 'Show the active toolchain'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from show; and not __fish_seen_subcommand_from active-toolchain; and not __fish_seen_subcommand_from home; and not __fish_seen_subcommand_from profile; and not __fish_seen_subcommand_from help" -f -a "home" -d 'Display the computed value of RUSTUP_HOME'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from show; and not __fish_seen_subcommand_from active-toolchain; and not __fish_seen_subcommand_from home; and not __fish_seen_subcommand_from profile; and not __fish_seen_subcommand_from help" -f -a "profile" -d 'Show the default profile used for the `rustup install` command'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from show; and not __fish_seen_subcommand_from active-toolchain; and not __fish_seen_subcommand_from home; and not __fish_seen_subcommand_from profile; and not __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from show; and __fish_seen_subcommand_from active-toolchain" -s v -l verbose -d 'Enable verbose output with rustc information'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from show; and __fish_seen_subcommand_from active-toolchain" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from show; and __fish_seen_subcommand_from home" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from show; and __fish_seen_subcommand_from profile" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from show; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from active-toolchain; and not __fish_seen_subcommand_from home; and not __fish_seen_subcommand_from profile; and not __fish_seen_subcommand_from help" -f -a "active-toolchain" -d 'Show the active toolchain'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from show; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from active-toolchain; and not __fish_seen_subcommand_from home; and not __fish_seen_subcommand_from profile; and not __fish_seen_subcommand_from help" -f -a "home" -d 'Display the computed value of RUSTUP_HOME'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from show; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from active-toolchain; and not __fish_seen_subcommand_from home; and not __fish_seen_subcommand_from profile; and not __fish_seen_subcommand_from help" -f -a "profile" -d 'Show the default profile used for the `rustup install` command'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from show; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from active-toolchain; and not __fish_seen_subcommand_from home; and not __fish_seen_subcommand_from profile; and not __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from install" -l profile -r -f -a "{minimal '',default '',complete ''}"
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from install" -l no-self-update -d 'Don\'t perform self-update when running the `rustup install` command'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from install" -l force -d 'Force an update, even if some components are missing'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from install" -l force-non-host -d 'Install toolchains that require an emulator. See https://github.com/rust-lang/rustup/wiki/Non-host-toolchains'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from install" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from uninstall" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from update" -l no-self-update -d 'Don\'t perform self update when running the `rustup update` command'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from update" -l force -d 'Force an update, even if some components are missing'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from update" -l force-non-host -d 'Install toolchains that require an emulator. See https://github.com/rust-lang/rustup/wiki/Non-host-toolchains'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from update" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from check" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from default" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from toolchain; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from install; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from link; and not __fish_seen_subcommand_from help" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from toolchain; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from install; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from link; and not __fish_seen_subcommand_from help" -f -a "list" -d 'List installed toolchains'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from toolchain; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from install; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from link; and not __fish_seen_subcommand_from help" -f -a "install" -d 'Install or update a given toolchain'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from toolchain; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from install; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from link; and not __fish_seen_subcommand_from help" -f -a "uninstall" -d 'Uninstall a toolchain'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from toolchain; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from install; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from link; and not __fish_seen_subcommand_from help" -f -a "link" -d 'Create a custom toolchain by symlinking to a directory'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from toolchain; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from install; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from link; and not __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from toolchain; and __fish_seen_subcommand_from list" -s v -l verbose -d 'Enable verbose output with toolchain information'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from toolchain; and __fish_seen_subcommand_from list" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from toolchain; and __fish_seen_subcommand_from install" -l profile -r -f -a "{minimal '',default '',complete ''}"
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from toolchain; and __fish_seen_subcommand_from install" -s c -l component -d 'Add specific components on installation' -r
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from toolchain; and __fish_seen_subcommand_from install" -s t -l target -d 'Add specific targets on installation' -r
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from toolchain; and __fish_seen_subcommand_from install" -l no-self-update -d 'Don\'t perform self update when running the`rustup toolchain install` command'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from toolchain; and __fish_seen_subcommand_from install" -l force -d 'Force an update, even if some components are missing'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from toolchain; and __fish_seen_subcommand_from install" -l allow-downgrade -d 'Allow rustup to downgrade the toolchain to satisfy your component choice'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from toolchain; and __fish_seen_subcommand_from install" -l force-non-host -d 'Install toolchains that require an emulator. See https://github.com/rust-lang/rustup/wiki/Non-host-toolchains'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from toolchain; and __fish_seen_subcommand_from install" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from toolchain; and __fish_seen_subcommand_from uninstall" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from toolchain; and __fish_seen_subcommand_from link" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from toolchain; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from install; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from link; and not __fish_seen_subcommand_from help" -f -a "list" -d 'List installed toolchains'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from toolchain; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from install; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from link; and not __fish_seen_subcommand_from help" -f -a "install" -d 'Install or update a given toolchain'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from toolchain; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from install; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from link; and not __fish_seen_subcommand_from help" -f -a "uninstall" -d 'Uninstall a toolchain'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from toolchain; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from install; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from link; and not __fish_seen_subcommand_from help" -f -a "link" -d 'Create a custom toolchain by symlinking to a directory'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from toolchain; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from install; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from link; and not __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from target; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from add; and not __fish_seen_subcommand_from remove; and not __fish_seen_subcommand_from help" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from target; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from add; and not __fish_seen_subcommand_from remove; and not __fish_seen_subcommand_from help" -f -a "list" -d 'List installed and available targets'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from target; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from add; and not __fish_seen_subcommand_from remove; and not __fish_seen_subcommand_from help" -f -a "add" -d 'Add a target to a Rust toolchain'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from target; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from add; and not __fish_seen_subcommand_from remove; and not __fish_seen_subcommand_from help" -f -a "remove" -d 'Remove a target from a Rust toolchain'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from target; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from add; and not __fish_seen_subcommand_from remove; and not __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from target; and __fish_seen_subcommand_from list" -l toolchain -d 'Toolchain name, such as \'stable\', \'nightly\', or \'1.8.0\'. For more information see `rustup help toolchain`' -r
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from target; and __fish_seen_subcommand_from list" -l installed -d 'List only installed targets'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from target; and __fish_seen_subcommand_from list" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from target; and __fish_seen_subcommand_from add" -l toolchain -d 'Toolchain name, such as \'stable\', \'nightly\', or \'1.8.0\'. For more information see `rustup help toolchain`' -r
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from target; and __fish_seen_subcommand_from add" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from target; and __fish_seen_subcommand_from remove" -l toolchain -d 'Toolchain name, such as \'stable\', \'nightly\', or \'1.8.0\'. For more information see `rustup help toolchain`' -r
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from target; and __fish_seen_subcommand_from remove" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from target; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from add; and not __fish_seen_subcommand_from remove; and not __fish_seen_subcommand_from help" -f -a "list" -d 'List installed and available targets'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from target; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from add; and not __fish_seen_subcommand_from remove; and not __fish_seen_subcommand_from help" -f -a "add" -d 'Add a target to a Rust toolchain'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from target; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from add; and not __fish_seen_subcommand_from remove; and not __fish_seen_subcommand_from help" -f -a "remove" -d 'Remove a target from a Rust toolchain'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from target; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from add; and not __fish_seen_subcommand_from remove; and not __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from component; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from add; and not __fish_seen_subcommand_from remove; and not __fish_seen_subcommand_from help" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from component; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from add; and not __fish_seen_subcommand_from remove; and not __fish_seen_subcommand_from help" -f -a "list" -d 'List installed and available components'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from component; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from add; and not __fish_seen_subcommand_from remove; and not __fish_seen_subcommand_from help" -f -a "add" -d 'Add a component to a Rust toolchain'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from component; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from add; and not __fish_seen_subcommand_from remove; and not __fish_seen_subcommand_from help" -f -a "remove" -d 'Remove a component from a Rust toolchain'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from component; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from add; and not __fish_seen_subcommand_from remove; and not __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from component; and __fish_seen_subcommand_from list" -l toolchain -d 'Toolchain name, such as \'stable\', \'nightly\', or \'1.8.0\'. For more information see `rustup help toolchain`' -r
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from component; and __fish_seen_subcommand_from list" -l installed -d 'List only installed components'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from component; and __fish_seen_subcommand_from list" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from component; and __fish_seen_subcommand_from add" -l toolchain -d 'Toolchain name, such as \'stable\', \'nightly\', or \'1.8.0\'. For more information see `rustup help toolchain`' -r
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from component; and __fish_seen_subcommand_from add" -l target -r
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from component; and __fish_seen_subcommand_from add" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from component; and __fish_seen_subcommand_from remove" -l toolchain -d 'Toolchain name, such as \'stable\', \'nightly\', or \'1.8.0\'. For more information see `rustup help toolchain`' -r
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from component; and __fish_seen_subcommand_from remove" -l target -r
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from component; and __fish_seen_subcommand_from remove" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from component; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from add; and not __fish_seen_subcommand_from remove; and not __fish_seen_subcommand_from help" -f -a "list" -d 'List installed and available components'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from component; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from add; and not __fish_seen_subcommand_from remove; and not __fish_seen_subcommand_from help" -f -a "add" -d 'Add a component to a Rust toolchain'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from component; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from add; and not __fish_seen_subcommand_from remove; and not __fish_seen_subcommand_from help" -f -a "remove" -d 'Remove a component from a Rust toolchain'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from component; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from add; and not __fish_seen_subcommand_from remove; and not __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from override; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from set; and not __fish_seen_subcommand_from unset; and not __fish_seen_subcommand_from help" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from override; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from set; and not __fish_seen_subcommand_from unset; and not __fish_seen_subcommand_from help" -f -a "list" -d 'List directory toolchain overrides'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from override; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from set; and not __fish_seen_subcommand_from unset; and not __fish_seen_subcommand_from help" -f -a "set" -d 'Set the override toolchain for a directory'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from override; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from set; and not __fish_seen_subcommand_from unset; and not __fish_seen_subcommand_from help" -f -a "unset" -d 'Remove the override toolchain for a directory'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from override; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from set; and not __fish_seen_subcommand_from unset; and not __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from override; and __fish_seen_subcommand_from list" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from override; and __fish_seen_subcommand_from set" -l path -d 'Path to the directory' -r
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from override; and __fish_seen_subcommand_from set" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from override; and __fish_seen_subcommand_from unset" -l path -d 'Path to the directory' -r
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from override; and __fish_seen_subcommand_from unset" -l nonexistent -d 'Remove override toolchain for all nonexistent directories'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from override; and __fish_seen_subcommand_from unset" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from override; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from set; and not __fish_seen_subcommand_from unset; and not __fish_seen_subcommand_from help" -f -a "list" -d 'List directory toolchain overrides'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from override; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from set; and not __fish_seen_subcommand_from unset; and not __fish_seen_subcommand_from help" -f -a "set" -d 'Set the override toolchain for a directory'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from override; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from set; and not __fish_seen_subcommand_from unset; and not __fish_seen_subcommand_from help" -f -a "unset" -d 'Remove the override toolchain for a directory'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from override; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from set; and not __fish_seen_subcommand_from unset; and not __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from run" -l install -d 'Install the requested toolchain if needed'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from run" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from which" -l toolchain -d 'Toolchain name, such as \'stable\', \'nightly\', \'1.8.0\', or a custom toolchain name. For more information see `rustup help toolchain`' -r
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from which" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from doc" -l toolchain -d 'Toolchain name, such as \'stable\', \'nightly\', or \'1.8.0\'. For more information see `rustup help toolchain`' -r
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from doc" -l path -d 'Only print the path to the documentation'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from doc" -l alloc -d 'The Rust core allocation and collections library'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from doc" -l book -d 'The Rust Programming Language book'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from doc" -l cargo -d 'The Cargo Book'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from doc" -l core -d 'The Rust Core Library'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from doc" -l edition-guide -d 'The Rust Edition Guide'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from doc" -l nomicon -d 'The Dark Arts of Advanced and Unsafe Rust Programming'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from doc" -l proc_macro -d 'A support library for macro authors when defining new macros'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from doc" -l reference -d 'The Rust Reference'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from doc" -l rust-by-example -d 'A collection of runnable examples that illustrate various Rust concepts and standard libraries'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from doc" -l rustc -d 'The compiler for the Rust programming language'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from doc" -l rustdoc -d 'Documentation generator for Rust projects'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from doc" -l std -d 'Standard library API documentation'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from doc" -l test -d 'Support code for rustc\'s built in unit-test and micro-benchmarking framework'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from doc" -l unstable-book -d 'The Unstable Book'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from doc" -l embedded-book -d 'The Embedded Rust Book'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from doc" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from man" -l toolchain -d 'Toolchain name, such as \'stable\', \'nightly\', or \'1.8.0\'. For more information see `rustup help toolchain`' -r
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from man" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from self; and not __fish_seen_subcommand_from update; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from upgrade-data; and not __fish_seen_subcommand_from help" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from self; and not __fish_seen_subcommand_from update; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from upgrade-data; and not __fish_seen_subcommand_from help" -f -a "update" -d 'Download and install updates to rustup'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from self; and not __fish_seen_subcommand_from update; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from upgrade-data; and not __fish_seen_subcommand_from help" -f -a "uninstall" -d 'Uninstall rustup.'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from self; and not __fish_seen_subcommand_from update; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from upgrade-data; and not __fish_seen_subcommand_from help" -f -a "upgrade-data" -d 'Upgrade the internal data format.'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from self; and not __fish_seen_subcommand_from update; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from upgrade-data; and not __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from self; and __fish_seen_subcommand_from update" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from self; and __fish_seen_subcommand_from uninstall" -s y
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from self; and __fish_seen_subcommand_from uninstall" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from self; and __fish_seen_subcommand_from upgrade-data" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from self; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from update; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from upgrade-data; and not __fish_seen_subcommand_from help" -f -a "update" -d 'Download and install updates to rustup'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from self; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from update; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from upgrade-data; and not __fish_seen_subcommand_from help" -f -a "uninstall" -d 'Uninstall rustup.'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from self; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from update; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from upgrade-data; and not __fish_seen_subcommand_from help" -f -a "upgrade-data" -d 'Upgrade the internal data format.'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from self; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from update; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from upgrade-data; and not __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from set; and not __fish_seen_subcommand_from default-host; and not __fish_seen_subcommand_from profile; and not __fish_seen_subcommand_from auto-self-update; and not __fish_seen_subcommand_from help" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from set; and not __fish_seen_subcommand_from default-host; and not __fish_seen_subcommand_from profile; and not __fish_seen_subcommand_from auto-self-update; and not __fish_seen_subcommand_from help" -f -a "default-host" -d 'The triple used to identify toolchains when not specified'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from set; and not __fish_seen_subcommand_from default-host; and not __fish_seen_subcommand_from profile; and not __fish_seen_subcommand_from auto-self-update; and not __fish_seen_subcommand_from help" -f -a "profile" -d 'The default components installed with a toolchain'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from set; and not __fish_seen_subcommand_from default-host; and not __fish_seen_subcommand_from profile; and not __fish_seen_subcommand_from auto-self-update; and not __fish_seen_subcommand_from help" -f -a "auto-self-update" -d 'The rustup auto self update mode'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from set; and not __fish_seen_subcommand_from default-host; and not __fish_seen_subcommand_from profile; and not __fish_seen_subcommand_from auto-self-update; and not __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from set; and __fish_seen_subcommand_from default-host" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from set; and __fish_seen_subcommand_from profile" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from set; and __fish_seen_subcommand_from auto-self-update" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from set; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from default-host; and not __fish_seen_subcommand_from profile; and not __fish_seen_subcommand_from auto-self-update; and not __fish_seen_subcommand_from help" -f -a "default-host" -d 'The triple used to identify toolchains when not specified'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from set; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from default-host; and not __fish_seen_subcommand_from profile; and not __fish_seen_subcommand_from auto-self-update; and not __fish_seen_subcommand_from help" -f -a "profile" -d 'The default components installed with a toolchain'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from set; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from default-host; and not __fish_seen_subcommand_from profile; and not __fish_seen_subcommand_from auto-self-update; and not __fish_seen_subcommand_from help" -f -a "auto-self-update" -d 'The rustup auto self update mode'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from set; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from default-host; and not __fish_seen_subcommand_from profile; and not __fish_seen_subcommand_from auto-self-update; and not __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from completions" -s h -l help -d 'Print help'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from dump-testament; and not __fish_seen_subcommand_from show; and not __fish_seen_subcommand_from install; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from update; and not __fish_seen_subcommand_from check; and not __fish_seen_subcommand_from default; and not __fish_seen_subcommand_from toolchain; and not __fish_seen_subcommand_from target; and not __fish_seen_subcommand_from component; and not __fish_seen_subcommand_from override; and not __fish_seen_subcommand_from run; and not __fish_seen_subcommand_from which; and not __fish_seen_subcommand_from doc; and not __fish_seen_subcommand_from man; and not __fish_seen_subcommand_from self; and not __fish_seen_subcommand_from set; and not __fish_seen_subcommand_from completions; and not __fish_seen_subcommand_from help" -f -a "dump-testament" -d 'Dump information about the build'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from dump-testament; and not __fish_seen_subcommand_from show; and not __fish_seen_subcommand_from install; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from update; and not __fish_seen_subcommand_from check; and not __fish_seen_subcommand_from default; and not __fish_seen_subcommand_from toolchain; and not __fish_seen_subcommand_from target; and not __fish_seen_subcommand_from component; and not __fish_seen_subcommand_from override; and not __fish_seen_subcommand_from run; and not __fish_seen_subcommand_from which; and not __fish_seen_subcommand_from doc; and not __fish_seen_subcommand_from man; and not __fish_seen_subcommand_from self; and not __fish_seen_subcommand_from set; and not __fish_seen_subcommand_from completions; and not __fish_seen_subcommand_from help" -f -a "show" -d 'Show the active and installed toolchains or profiles'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from dump-testament; and not __fish_seen_subcommand_from show; and not __fish_seen_subcommand_from install; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from update; and not __fish_seen_subcommand_from check; and not __fish_seen_subcommand_from default; and not __fish_seen_subcommand_from toolchain; and not __fish_seen_subcommand_from target; and not __fish_seen_subcommand_from component; and not __fish_seen_subcommand_from override; and not __fish_seen_subcommand_from run; and not __fish_seen_subcommand_from which; and not __fish_seen_subcommand_from doc; and not __fish_seen_subcommand_from man; and not __fish_seen_subcommand_from self; and not __fish_seen_subcommand_from set; and not __fish_seen_subcommand_from completions; and not __fish_seen_subcommand_from help" -f -a "install" -d 'Update Rust toolchains'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from dump-testament; and not __fish_seen_subcommand_from show; and not __fish_seen_subcommand_from install; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from update; and not __fish_seen_subcommand_from check; and not __fish_seen_subcommand_from default; and not __fish_seen_subcommand_from toolchain; and not __fish_seen_subcommand_from target; and not __fish_seen_subcommand_from component; and not __fish_seen_subcommand_from override; and not __fish_seen_subcommand_from run; and not __fish_seen_subcommand_from which; and not __fish_seen_subcommand_from doc; and not __fish_seen_subcommand_from man; and not __fish_seen_subcommand_from self; and not __fish_seen_subcommand_from set; and not __fish_seen_subcommand_from completions; and not __fish_seen_subcommand_from help" -f -a "uninstall" -d 'Uninstall Rust toolchains'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from dump-testament; and not __fish_seen_subcommand_from show; and not __fish_seen_subcommand_from install; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from update; and not __fish_seen_subcommand_from check; and not __fish_seen_subcommand_from default; and not __fish_seen_subcommand_from toolchain; and not __fish_seen_subcommand_from target; and not __fish_seen_subcommand_from component; and not __fish_seen_subcommand_from override; and not __fish_seen_subcommand_from run; and not __fish_seen_subcommand_from which; and not __fish_seen_subcommand_from doc; and not __fish_seen_subcommand_from man; and not __fish_seen_subcommand_from self; and not __fish_seen_subcommand_from set; and not __fish_seen_subcommand_from completions; and not __fish_seen_subcommand_from help" -f -a "update" -d 'Update Rust toolchains and rustup'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from dump-testament; and not __fish_seen_subcommand_from show; and not __fish_seen_subcommand_from install; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from update; and not __fish_seen_subcommand_from check; and not __fish_seen_subcommand_from default; and not __fish_seen_subcommand_from toolchain; and not __fish_seen_subcommand_from target; and not __fish_seen_subcommand_from component; and not __fish_seen_subcommand_from override; and not __fish_seen_subcommand_from run; and not __fish_seen_subcommand_from which; and not __fish_seen_subcommand_from doc; and not __fish_seen_subcommand_from man; and not __fish_seen_subcommand_from self; and not __fish_seen_subcommand_from set; and not __fish_seen_subcommand_from completions; and not __fish_seen_subcommand_from help" -f -a "check" -d 'Check for updates to Rust toolchains and rustup'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from dump-testament; and not __fish_seen_subcommand_from show; and not __fish_seen_subcommand_from install; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from update; and not __fish_seen_subcommand_from check; and not __fish_seen_subcommand_from default; and not __fish_seen_subcommand_from toolchain; and not __fish_seen_subcommand_from target; and not __fish_seen_subcommand_from component; and not __fish_seen_subcommand_from override; and not __fish_seen_subcommand_from run; and not __fish_seen_subcommand_from which; and not __fish_seen_subcommand_from doc; and not __fish_seen_subcommand_from man; and not __fish_seen_subcommand_from self; and not __fish_seen_subcommand_from set; and not __fish_seen_subcommand_from completions; and not __fish_seen_subcommand_from help" -f -a "default" -d 'Set the default toolchain'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from dump-testament; and not __fish_seen_subcommand_from show; and not __fish_seen_subcommand_from install; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from update; and not __fish_seen_subcommand_from check; and not __fish_seen_subcommand_from default; and not __fish_seen_subcommand_from toolchain; and not __fish_seen_subcommand_from target; and not __fish_seen_subcommand_from component; and not __fish_seen_subcommand_from override; and not __fish_seen_subcommand_from run; and not __fish_seen_subcommand_from which; and not __fish_seen_subcommand_from doc; and not __fish_seen_subcommand_from man; and not __fish_seen_subcommand_from self; and not __fish_seen_subcommand_from set; and not __fish_seen_subcommand_from completions; and not __fish_seen_subcommand_from help" -f -a "toolchain" -d 'Modify or query the installed toolchains'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from dump-testament; and not __fish_seen_subcommand_from show; and not __fish_seen_subcommand_from install; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from update; and not __fish_seen_subcommand_from check; and not __fish_seen_subcommand_from default; and not __fish_seen_subcommand_from toolchain; and not __fish_seen_subcommand_from target; and not __fish_seen_subcommand_from component; and not __fish_seen_subcommand_from override; and not __fish_seen_subcommand_from run; and not __fish_seen_subcommand_from which; and not __fish_seen_subcommand_from doc; and not __fish_seen_subcommand_from man; and not __fish_seen_subcommand_from self; and not __fish_seen_subcommand_from set; and not __fish_seen_subcommand_from completions; and not __fish_seen_subcommand_from help" -f -a "target" -d 'Modify a toolchain\'s supported targets'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from dump-testament; and not __fish_seen_subcommand_from show; and not __fish_seen_subcommand_from install; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from update; and not __fish_seen_subcommand_from check; and not __fish_seen_subcommand_from default; and not __fish_seen_subcommand_from toolchain; and not __fish_seen_subcommand_from target; and not __fish_seen_subcommand_from component; and not __fish_seen_subcommand_from override; and not __fish_seen_subcommand_from run; and not __fish_seen_subcommand_from which; and not __fish_seen_subcommand_from doc; and not __fish_seen_subcommand_from man; and not __fish_seen_subcommand_from self; and not __fish_seen_subcommand_from set; and not __fish_seen_subcommand_from completions; and not __fish_seen_subcommand_from help" -f -a "component" -d 'Modify a toolchain\'s installed components'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from dump-testament; and not __fish_seen_subcommand_from show; and not __fish_seen_subcommand_from install; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from update; and not __fish_seen_subcommand_from check; and not __fish_seen_subcommand_from default; and not __fish_seen_subcommand_from toolchain; and not __fish_seen_subcommand_from target; and not __fish_seen_subcommand_from component; and not __fish_seen_subcommand_from override; and not __fish_seen_subcommand_from run; and not __fish_seen_subcommand_from which; and not __fish_seen_subcommand_from doc; and not __fish_seen_subcommand_from man; and not __fish_seen_subcommand_from self; and not __fish_seen_subcommand_from set; and not __fish_seen_subcommand_from completions; and not __fish_seen_subcommand_from help" -f -a "override" -d 'Modify toolchain overrides for directories'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from dump-testament; and not __fish_seen_subcommand_from show; and not __fish_seen_subcommand_from install; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from update; and not __fish_seen_subcommand_from check; and not __fish_seen_subcommand_from default; and not __fish_seen_subcommand_from toolchain; and not __fish_seen_subcommand_from target; and not __fish_seen_subcommand_from component; and not __fish_seen_subcommand_from override; and not __fish_seen_subcommand_from run; and not __fish_seen_subcommand_from which; and not __fish_seen_subcommand_from doc; and not __fish_seen_subcommand_from man; and not __fish_seen_subcommand_from self; and not __fish_seen_subcommand_from set; and not __fish_seen_subcommand_from completions; and not __fish_seen_subcommand_from help" -f -a "run" -d 'Run a command with an environment configured for a given toolchain'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from dump-testament; and not __fish_seen_subcommand_from show; and not __fish_seen_subcommand_from install; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from update; and not __fish_seen_subcommand_from check; and not __fish_seen_subcommand_from default; and not __fish_seen_subcommand_from toolchain; and not __fish_seen_subcommand_from target; and not __fish_seen_subcommand_from component; and not __fish_seen_subcommand_from override; and not __fish_seen_subcommand_from run; and not __fish_seen_subcommand_from which; and not __fish_seen_subcommand_from doc; and not __fish_seen_subcommand_from man; and not __fish_seen_subcommand_from self; and not __fish_seen_subcommand_from set; and not __fish_seen_subcommand_from completions; and not __fish_seen_subcommand_from help" -f -a "which" -d 'Display which binary will be run for a given command'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from dump-testament; and not __fish_seen_subcommand_from show; and not __fish_seen_subcommand_from install; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from update; and not __fish_seen_subcommand_from check; and not __fish_seen_subcommand_from default; and not __fish_seen_subcommand_from toolchain; and not __fish_seen_subcommand_from target; and not __fish_seen_subcommand_from component; and not __fish_seen_subcommand_from override; and not __fish_seen_subcommand_from run; and not __fish_seen_subcommand_from which; and not __fish_seen_subcommand_from doc; and not __fish_seen_subcommand_from man; and not __fish_seen_subcommand_from self; and not __fish_seen_subcommand_from set; and not __fish_seen_subcommand_from completions; and not __fish_seen_subcommand_from help" -f -a "doc" -d 'Open the documentation for the current toolchain'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from dump-testament; and not __fish_seen_subcommand_from show; and not __fish_seen_subcommand_from install; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from update; and not __fish_seen_subcommand_from check; and not __fish_seen_subcommand_from default; and not __fish_seen_subcommand_from toolchain; and not __fish_seen_subcommand_from target; and not __fish_seen_subcommand_from component; and not __fish_seen_subcommand_from override; and not __fish_seen_subcommand_from run; and not __fish_seen_subcommand_from which; and not __fish_seen_subcommand_from doc; and not __fish_seen_subcommand_from man; and not __fish_seen_subcommand_from self; and not __fish_seen_subcommand_from set; and not __fish_seen_subcommand_from completions; and not __fish_seen_subcommand_from help" -f -a "man" -d 'View the man page for a given command'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from dump-testament; and not __fish_seen_subcommand_from show; and not __fish_seen_subcommand_from install; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from update; and not __fish_seen_subcommand_from check; and not __fish_seen_subcommand_from default; and not __fish_seen_subcommand_from toolchain; and not __fish_seen_subcommand_from target; and not __fish_seen_subcommand_from component; and not __fish_seen_subcommand_from override; and not __fish_seen_subcommand_from run; and not __fish_seen_subcommand_from which; and not __fish_seen_subcommand_from doc; and not __fish_seen_subcommand_from man; and not __fish_seen_subcommand_from self; and not __fish_seen_subcommand_from set; and not __fish_seen_subcommand_from completions; and not __fish_seen_subcommand_from help" -f -a "self" -d 'Modify the rustup installation'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from dump-testament; and not __fish_seen_subcommand_from show; and not __fish_seen_subcommand_from install; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from update; and not __fish_seen_subcommand_from check; and not __fish_seen_subcommand_from default; and not __fish_seen_subcommand_from toolchain; and not __fish_seen_subcommand_from target; and not __fish_seen_subcommand_from component; and not __fish_seen_subcommand_from override; and not __fish_seen_subcommand_from run; and not __fish_seen_subcommand_from which; and not __fish_seen_subcommand_from doc; and not __fish_seen_subcommand_from man; and not __fish_seen_subcommand_from self; and not __fish_seen_subcommand_from set; and not __fish_seen_subcommand_from completions; and not __fish_seen_subcommand_from help" -f -a "set" -d 'Alter rustup settings'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from dump-testament; and not __fish_seen_subcommand_from show; and not __fish_seen_subcommand_from install; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from update; and not __fish_seen_subcommand_from check; and not __fish_seen_subcommand_from default; and not __fish_seen_subcommand_from toolchain; and not __fish_seen_subcommand_from target; and not __fish_seen_subcommand_from component; and not __fish_seen_subcommand_from override; and not __fish_seen_subcommand_from run; and not __fish_seen_subcommand_from which; and not __fish_seen_subcommand_from doc; and not __fish_seen_subcommand_from man; and not __fish_seen_subcommand_from self; and not __fish_seen_subcommand_from set; and not __fish_seen_subcommand_from completions; and not __fish_seen_subcommand_from help" -f -a "completions" -d 'Generate tab-completion scripts for your shell'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from dump-testament; and not __fish_seen_subcommand_from show; and not __fish_seen_subcommand_from install; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from update; and not __fish_seen_subcommand_from check; and not __fish_seen_subcommand_from default; and not __fish_seen_subcommand_from toolchain; and not __fish_seen_subcommand_from target; and not __fish_seen_subcommand_from component; and not __fish_seen_subcommand_from override; and not __fish_seen_subcommand_from run; and not __fish_seen_subcommand_from which; and not __fish_seen_subcommand_from doc; and not __fish_seen_subcommand_from man; and not __fish_seen_subcommand_from self; and not __fish_seen_subcommand_from set; and not __fish_seen_subcommand_from completions; and not __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from show; and not __fish_seen_subcommand_from active-toolchain; and not __fish_seen_subcommand_from home; and not __fish_seen_subcommand_from profile" -f -a "active-toolchain" -d 'Show the active toolchain'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from show; and not __fish_seen_subcommand_from active-toolchain; and not __fish_seen_subcommand_from home; and not __fish_seen_subcommand_from profile" -f -a "home" -d 'Display the computed value of RUSTUP_HOME'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from show; and not __fish_seen_subcommand_from active-toolchain; and not __fish_seen_subcommand_from home; and not __fish_seen_subcommand_from profile" -f -a "profile" -d 'Show the default profile used for the `rustup install` command'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from toolchain; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from install; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from link" -f -a "list" -d 'List installed toolchains'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from toolchain; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from install; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from link" -f -a "install" -d 'Install or update a given toolchain'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from toolchain; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from install; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from link" -f -a "uninstall" -d 'Uninstall a toolchain'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from toolchain; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from install; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from link" -f -a "link" -d 'Create a custom toolchain by symlinking to a directory'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from target; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from add; and not __fish_seen_subcommand_from remove" -f -a "list" -d 'List installed and available targets'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from target; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from add; and not __fish_seen_subcommand_from remove" -f -a "add" -d 'Add a target to a Rust toolchain'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from target; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from add; and not __fish_seen_subcommand_from remove" -f -a "remove" -d 'Remove a target from a Rust toolchain'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from component; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from add; and not __fish_seen_subcommand_from remove" -f -a "list" -d 'List installed and available components'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from component; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from add; and not __fish_seen_subcommand_from remove" -f -a "add" -d 'Add a component to a Rust toolchain'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from component; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from add; and not __fish_seen_subcommand_from remove" -f -a "remove" -d 'Remove a component from a Rust toolchain'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from override; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from set; and not __fish_seen_subcommand_from unset" -f -a "list" -d 'List directory toolchain overrides'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from override; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from set; and not __fish_seen_subcommand_from unset" -f -a "set" -d 'Set the override toolchain for a directory'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from override; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from set; and not __fish_seen_subcommand_from unset" -f -a "unset" -d 'Remove the override toolchain for a directory'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from self; and not __fish_seen_subcommand_from update; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from upgrade-data" -f -a "update" -d 'Download and install updates to rustup'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from self; and not __fish_seen_subcommand_from update; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from upgrade-data" -f -a "uninstall" -d 'Uninstall rustup.'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from self; and not __fish_seen_subcommand_from update; and not __fish_seen_subcommand_from uninstall; and not __fish_seen_subcommand_from upgrade-data" -f -a "upgrade-data" -d 'Upgrade the internal data format.'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from set; and not __fish_seen_subcommand_from default-host; and not __fish_seen_subcommand_from profile; and not __fish_seen_subcommand_from auto-self-update" -f -a "default-host" -d 'The triple used to identify toolchains when not specified'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from set; and not __fish_seen_subcommand_from default-host; and not __fish_seen_subcommand_from profile; and not __fish_seen_subcommand_from auto-self-update" -f -a "profile" -d 'The default components installed with a toolchain'
|
|
||||||
complete -c rustup -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from set; and not __fish_seen_subcommand_from default-host; and not __fish_seen_subcommand_from profile; and not __fish_seen_subcommand_from auto-self-update" -f -a "auto-self-update" -d 'The rustup auto self update mode'
|
|
|
@ -1,20 +0,0 @@
|
||||||
set -U fish_greeting
|
|
||||||
|
|
||||||
if status is-interactive
|
|
||||||
# Commands to run in interactive sessions can go here
|
|
||||||
|
|
||||||
bind \cG lazygit
|
|
||||||
end
|
|
||||||
|
|
||||||
function fish_user_key_bindings
|
|
||||||
# Execute this once per mode that emacs bindings should be used in
|
|
||||||
fish_default_key_bindings -M insert
|
|
||||||
|
|
||||||
# Then execute the vi-bindings so they take precedence when there's a conflict.
|
|
||||||
# Without --no-erase fish_vi_key_bindings will default to
|
|
||||||
# resetting all bindings.
|
|
||||||
# The argument specifies the initial mode (insert, "default" or visual).
|
|
||||||
fish_vi_key_bindings --no-erase insert
|
|
||||||
|
|
||||||
bind \cf 'fg 2>/dev/null; commandline -f repaint'
|
|
||||||
end
|
|
|
@ -1,53 +0,0 @@
|
||||||
|
|
||||||
## name: Rosé Pine
|
|
||||||
## author: mvllow
|
|
||||||
## license: MIT
|
|
||||||
## upstream: https://github.com/rose-pine/kitty/blob/main/dist/rose-pine.conf
|
|
||||||
## blurb: All natural pine, faux fur and a bit of soho vibes for the classy minimalist
|
|
||||||
|
|
||||||
foreground #d8d8d8
|
|
||||||
# background #050505
|
|
||||||
selection_foreground #e0def4
|
|
||||||
selection_background #403d52
|
|
||||||
|
|
||||||
cursor #524f67
|
|
||||||
cursor_text_color #e0def4
|
|
||||||
|
|
||||||
url_color #c4a7e7
|
|
||||||
|
|
||||||
active_tab_foreground #e0def4
|
|
||||||
active_tab_background #26233a
|
|
||||||
inactive_tab_foreground #6e6a86
|
|
||||||
inactive_tab_background #191724
|
|
||||||
|
|
||||||
# black
|
|
||||||
color0 #181818
|
|
||||||
color8 #6b6b6b
|
|
||||||
|
|
||||||
# red
|
|
||||||
color1 #ac4242
|
|
||||||
color9 #c55555
|
|
||||||
|
|
||||||
# green
|
|
||||||
color2 #90a959
|
|
||||||
color10 #aac474
|
|
||||||
|
|
||||||
# yellow
|
|
||||||
color3 #f4bf75
|
|
||||||
color11 #fcea88
|
|
||||||
|
|
||||||
# blue
|
|
||||||
color4 #6a9fb5
|
|
||||||
color12 #82b8c8
|
|
||||||
|
|
||||||
# magenta
|
|
||||||
color5 #aa759f
|
|
||||||
color13 #c28cb8
|
|
||||||
|
|
||||||
# cyan
|
|
||||||
color6 #75b5aa
|
|
||||||
color14 #93d3c3
|
|
||||||
|
|
||||||
# white
|
|
||||||
color7 #d8d8d8
|
|
||||||
color15 #f8f8f8
|
|
|
@ -1,54 +0,0 @@
|
||||||
## name: Rosé Pine
|
|
||||||
## author: mvllow
|
|
||||||
## license: MIT
|
|
||||||
## upstream: https://github.com/rose-pine/kitty/blob/main/dist/rose-pine.conf
|
|
||||||
## blurb: All natural pine, faux fur and a bit of soho vibes for the classy minimalist
|
|
||||||
|
|
||||||
foreground #e0def4
|
|
||||||
background #191724
|
|
||||||
selection_foreground #e0def4
|
|
||||||
selection_background #403d52
|
|
||||||
|
|
||||||
cursor #524f67
|
|
||||||
cursor_text_color #e0def4
|
|
||||||
|
|
||||||
url_color #c4a7e7
|
|
||||||
|
|
||||||
active_tab_foreground #e0def4
|
|
||||||
active_tab_background #26233a
|
|
||||||
inactive_tab_foreground #6e6a86
|
|
||||||
inactive_tab_background #191724
|
|
||||||
|
|
||||||
# black
|
|
||||||
color0 #26233a
|
|
||||||
color8 #6e6a86
|
|
||||||
|
|
||||||
# red
|
|
||||||
color1 #eb6f92
|
|
||||||
color9 #eb6f92
|
|
||||||
|
|
||||||
# green
|
|
||||||
color2 #31748f
|
|
||||||
color10 #31748f
|
|
||||||
|
|
||||||
# yellow
|
|
||||||
color3 #f6c177
|
|
||||||
color11 #f6c177
|
|
||||||
|
|
||||||
# blue
|
|
||||||
color4 #9ccfd8
|
|
||||||
color12 #9ccfd8
|
|
||||||
|
|
||||||
# magenta
|
|
||||||
color5 #c4a7e7
|
|
||||||
color13 #c4a7e7
|
|
||||||
|
|
||||||
# cyan
|
|
||||||
color6 #ebbcba
|
|
||||||
color14 #ebbcba
|
|
||||||
|
|
||||||
# white
|
|
||||||
color7 #e0def4
|
|
||||||
color15 #e0def4
|
|
||||||
|
|
||||||
|
|
|
@ -1,46 +0,0 @@
|
||||||
{ lib, config, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.alacritty;
|
|
||||||
macos = config.snowhawk.macos.enable;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.alacritty = {
|
|
||||||
enable = lib.mkEnableOption "alacritty home-manager module";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
programs.alacritty = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
window = {
|
|
||||||
opacity = 0.98;
|
|
||||||
decorations = lib.mkIf macos "buttonless";
|
|
||||||
option_as_alt = lib.mkIf macos "Both";
|
|
||||||
};
|
|
||||||
colors = {
|
|
||||||
primary.background = "#050505";
|
|
||||||
};
|
|
||||||
font = {
|
|
||||||
size = 12.0;
|
|
||||||
normal = {
|
|
||||||
family = "JetBrainsMono Nerd Font";
|
|
||||||
style = "Regular";
|
|
||||||
};
|
|
||||||
bold = {
|
|
||||||
family = "JetBrainsMono Nerd Font";
|
|
||||||
style = "SemiBold";
|
|
||||||
};
|
|
||||||
italic = {
|
|
||||||
family = "JetBrainsMono Nerd Font";
|
|
||||||
style = "Italic";
|
|
||||||
};
|
|
||||||
bold_italic = {
|
|
||||||
family = "JetBrainsMono Nerd Font";
|
|
||||||
style = "SemiBold Italic";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,84 +0,0 @@
|
||||||
{ pkgs, lib, config, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
inherit (lib) mkEnableOption mkOption mkIf;
|
|
||||||
inherit (lib.attrsets) mapAttrsToList;
|
|
||||||
inherit (builtins) filter toString attrNames attrValues length;
|
|
||||||
inherit (pkgs) writeShellScript writeShellScriptBin coreutils;
|
|
||||||
|
|
||||||
cfg = config.snowhawk.brave-apps;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.brave-apps = {
|
|
||||||
enable = mkEnableOption "brave-apps home-manager module";
|
|
||||||
|
|
||||||
chromium-package = mkOption {
|
|
||||||
description = ''
|
|
||||||
chromium package to use for the chromium apps
|
|
||||||
'';
|
|
||||||
type = with lib.types; package;
|
|
||||||
default = pkgs.brave;
|
|
||||||
};
|
|
||||||
|
|
||||||
apps = mkOption {
|
|
||||||
description = ''
|
|
||||||
chromium based desktop apps configuration
|
|
||||||
'';
|
|
||||||
type = with lib.types; attrsOf (submodule {
|
|
||||||
options = {
|
|
||||||
url = mkOption {
|
|
||||||
description = ''
|
|
||||||
the url to open as a chromium window
|
|
||||||
|
|
||||||
only one of `url` `urlEval` or `urlFile` may be set
|
|
||||||
'';
|
|
||||||
default = null;
|
|
||||||
type = with lib.types; nullOr str;
|
|
||||||
};
|
|
||||||
urlEval = mkOption {
|
|
||||||
description = ''
|
|
||||||
the bash script to evaluate to get url to open as chromium window. May be useful for secrets management
|
|
||||||
|
|
||||||
only one of `url` `urlEval` or `urlFile` may be set
|
|
||||||
'';
|
|
||||||
default = null;
|
|
||||||
type = with lib.types; nullOr str;
|
|
||||||
};
|
|
||||||
urlFile = mkOption {
|
|
||||||
description = ''
|
|
||||||
file to read which contains the url to open as a chromium window. May be useful for secrets management
|
|
||||||
|
|
||||||
|
|
||||||
only one of `url` `urlEval` or `urlFile` may be set
|
|
||||||
'';
|
|
||||||
default = null;
|
|
||||||
type = with lib.types; nullOr str;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
});
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
home.packages =
|
|
||||||
let
|
|
||||||
evalString = s: "\$(${s})";
|
|
||||||
readFile = f: evalString "${coreutils}/bin/cat ${f}";
|
|
||||||
writeChromiumDesktopApp = name: app: writeShellScriptBin name ''
|
|
||||||
${lib.getExe cfg.chromium-package} --new-window --app=${app}
|
|
||||||
'';
|
|
||||||
in
|
|
||||||
mapAttrsToList
|
|
||||||
(n: v:
|
|
||||||
assert lib.assertMsg (length (filter (v: v != null) (attrValues v)) == 1)
|
|
||||||
"only one of `url` `urlEval` or `urlFile` may be set: ${toString n} has multiple urls set";
|
|
||||||
(writeChromiumDesktopApp n (
|
|
||||||
if v.url != null then v.url
|
|
||||||
else if v.urlEval != null then evalString v.urlEval
|
|
||||||
else if v.urlFile != null then readFile v.urlFile
|
|
||||||
else throw "grr >:( -- this should be unreachable"
|
|
||||||
)))
|
|
||||||
cfg.apps;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,24 +0,0 @@
|
||||||
{ lib, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
getModules = path:
|
|
||||||
let
|
|
||||||
dirEntries = builtins.removeAttrs (builtins.readDir path) [ "default.nix" ];
|
|
||||||
moduleEntries = lib.attrsets.filterAttrs (n: v: v == "regular") dirEntries;
|
|
||||||
moduleNames = builtins.attrNames moduleEntries;
|
|
||||||
|
|
||||||
|
|
||||||
modulePaths = builtins.map (name: path + /${name}) moduleNames;
|
|
||||||
in
|
|
||||||
modulePaths;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
imports = getModules ./.;
|
|
||||||
|
|
||||||
snowhawk.user.enable = lib.mkDefault true;
|
|
||||||
snowhawk.tmux.enable = lib.mkDefault true;
|
|
||||||
snowhawk.tmux.sessionizer.enable = lib.mkDefault true;
|
|
||||||
snowhawk.fish.enable = lib.mkDefault true;
|
|
||||||
snowhawk.git.enable = lib.mkDefault true;
|
|
||||||
snowhawk.lazygit.enable = lib.mkDefault true;
|
|
||||||
}
|
|
|
@ -1,17 +0,0 @@
|
||||||
{ lib, config, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.direnv;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.direnv = {
|
|
||||||
enable = lib.mkEnableOption "direnv home-manager module";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
programs.direnv = {
|
|
||||||
enable = true;
|
|
||||||
nix-direnv.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,28 +0,0 @@
|
||||||
{ lib, pkgs, config, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.dunst;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.dunst = {
|
|
||||||
enable = lib.mkEnableOption "lazygit";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
services.dunst = {
|
|
||||||
enable = true;
|
|
||||||
iconTheme = {
|
|
||||||
name = "rose-pine";
|
|
||||||
package = pkgs.rose-pine-icon-theme;
|
|
||||||
};
|
|
||||||
settings = lib.mkMerge [
|
|
||||||
(import ./util/rose-pine-dunst.nix { theme = "default"; })
|
|
||||||
{
|
|
||||||
global = { offset = lib.mkForce "5x25"; };
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
# xdg.configFile."dunst/dunstrc.d/50-theme.conf".source = inputs.dunst-theme.outPath + "/rose-pine.conf";
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,17 +0,0 @@
|
||||||
|
|
||||||
{ lib, config, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.easyeffects;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.easyeffects = {
|
|
||||||
enable = lib.mkEnableOption "easyeffects";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
# for easyeffects
|
|
||||||
dconf.enable = true;
|
|
||||||
services.easyeffects.enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,48 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
let cfg = config.snowhawk.defaultPrograms;
|
|
||||||
in {
|
|
||||||
options.snowhawk.defaultPrograms = {
|
|
||||||
enable = lib.mkEnableOption "default programs";
|
|
||||||
};
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
xdg.mimeApps =
|
|
||||||
let
|
|
||||||
browser = "firefox.desktop";
|
|
||||||
browserApps = [
|
|
||||||
"application/pdf"
|
|
||||||
"application/x-extension-htm"
|
|
||||||
"application/x-extension-html"
|
|
||||||
"application/x-extension-shtml"
|
|
||||||
"application/x-extension-xht"
|
|
||||||
"application/x-extension-xhtml"
|
|
||||||
"application/xhtml+xml"
|
|
||||||
"text/html"
|
|
||||||
"x-scheme-handler/http"
|
|
||||||
"x-scheme-handler/https"
|
|
||||||
];
|
|
||||||
|
|
||||||
mimeAppsFor =
|
|
||||||
value: list:
|
|
||||||
lib.genAttrs list (name: value);
|
|
||||||
|
|
||||||
in
|
|
||||||
{
|
|
||||||
enable = true;
|
|
||||||
defaultApplications = lib.mkMerge [
|
|
||||||
(mimeAppsFor browser browserApps)
|
|
||||||
|
|
||||||
(mimeAppsFor "brave-browser.desktop" [
|
|
||||||
"x-scheme-handler/chrome"
|
|
||||||
])
|
|
||||||
];
|
|
||||||
associations.added = lib.mkMerge [
|
|
||||||
(mimeAppsFor browser browserApps)
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
home.sessionVariables = {
|
|
||||||
DEFAULT_BROWSER = lib.getExe pkgs.firefox;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,50 +0,0 @@
|
||||||
{ lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.firefox;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.firefox = {
|
|
||||||
enable = lib.mkEnableOption "firefox home-manager module";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
programs.firefox = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.firefox;
|
|
||||||
|
|
||||||
profiles.default = {
|
|
||||||
isDefault = true;
|
|
||||||
path = "x56262ch.default";
|
|
||||||
userChrome = /* css */ ''
|
|
||||||
#main-window[tabsintitlebar="true"]:not([extradragspace="true"]) #TabsToolbar > .toolbar-items {
|
|
||||||
opacity: 0;
|
|
||||||
pointer-events: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#main-window:not([tabsintitlebar="true"]) #TabsToolbar {
|
|
||||||
visibility: collapse !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
#titlebar {display: none !important;}
|
|
||||||
#main-window {-moz-appearance:none !important;}
|
|
||||||
|
|
||||||
#sidebar-box[sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"] #sidebar-header {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
profiles.alt = {
|
|
||||||
id = 1;
|
|
||||||
path = "05fb1no8.casualypurple";
|
|
||||||
userChrome = config.programs.firefox.profiles.default.userChrome;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
(writeShellScriptBin "alt-firefox" ''
|
|
||||||
${lib.getExe config.programs.firefox.package} -P "alt"
|
|
||||||
'')
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,69 +0,0 @@
|
||||||
{ pkgs, inputs, config, lib, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.fish;
|
|
||||||
macos = config.snowhawk.macos.enable;
|
|
||||||
rust = config.snowhawk.rust.enable;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.fish = {
|
|
||||||
enable = lib.mkEnableOption "fish";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
xdg.configFile."fish/completions/rustup.fish" = {
|
|
||||||
enable = rust;
|
|
||||||
source = ../completions/rustup.fish;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.bash = lib.mkIf (!macos) {
|
|
||||||
enable = true;
|
|
||||||
initExtra = ''
|
|
||||||
if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]]
|
|
||||||
then
|
|
||||||
shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION=""
|
|
||||||
exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.zsh = lib.mkIf macos {
|
|
||||||
enable = true;
|
|
||||||
initExtra = ''
|
|
||||||
if [[ $(${pkgs.procps}/bin/ps $(${pkgs.procps}/bin/ps -p $$ -co "ppid=") -co "comm=") != "fish" && -z ''${ZSH_EXECUTION_STRING} ]]
|
|
||||||
then
|
|
||||||
exec ${pkgs.fish}/bin/fish
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.fish = {
|
|
||||||
enable = true;
|
|
||||||
shellAbbrs = lib.mkIf (!macos) {
|
|
||||||
copy = "xclip -sel clip";
|
|
||||||
};
|
|
||||||
interactiveShellInit =
|
|
||||||
builtins.readFile "${inputs.fish_theme}/fish_prompt.fish" + "\n" +
|
|
||||||
builtins.readFile ../fish/config.fish;
|
|
||||||
};
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
(writeShellApplication {
|
|
||||||
name = "lnmv";
|
|
||||||
runtimeInputs = [ coreutils ];
|
|
||||||
text = ''
|
|
||||||
# This is crude i know, more shell guards and stuff that I'm bad at
|
|
||||||
|
|
||||||
# Usage:
|
|
||||||
# lnmv <source> <target>
|
|
||||||
|
|
||||||
data=''${1%/}
|
|
||||||
target=''${2%/}
|
|
||||||
|
|
||||||
mv "$data" "$target"
|
|
||||||
ln -s "$target" "$data"
|
|
||||||
'';
|
|
||||||
})
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,29 +0,0 @@
|
||||||
{ lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.flameshot;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.flameshot = {
|
|
||||||
enable = lib.mkEnableOption "flameshot home-manager module";
|
|
||||||
|
|
||||||
config = lib.mkOption {
|
|
||||||
type = with lib.types; attrsOf attrs;
|
|
||||||
description = "the flameshot config as an attrs of attrs";
|
|
||||||
default = {
|
|
||||||
General = {
|
|
||||||
contrastOpacity = 188;
|
|
||||||
contrastUiColor = "#8affc1";
|
|
||||||
drawColor = "#00ff00";
|
|
||||||
uiColor = "#007d96";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
# home.packages = with pkgs; [ flameshot ];
|
|
||||||
|
|
||||||
xdg.configFile."flameshot/flameshot.ini".text = lib.generators.toINI { } cfg.config;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,94 +0,0 @@
|
||||||
{ lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.git;
|
|
||||||
macos = config.snowhawk.macos.enable;
|
|
||||||
direnv = config.snowhawk.direnv.enable;
|
|
||||||
|
|
||||||
sshifyPushUrl =
|
|
||||||
let
|
|
||||||
urlParser = "${pkgs.url-parser}/bin/url-parser";
|
|
||||||
git = "${pkgs.git}/bin/git";
|
|
||||||
cut = "${pkgs.coreutils}/bin/cut";
|
|
||||||
in
|
|
||||||
pkgs.writeShellScriptBin "sshify-push-url" ''
|
|
||||||
base=$(${urlParser} --url $(${git} remote get-url origin) host)
|
|
||||||
path=$(${urlParser} --url $(${git} remote get-url origin) path | ${cut} -b 2-)
|
|
||||||
echo "$base:$path"
|
|
||||||
'';
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.git = {
|
|
||||||
enable = lib.mkEnableOption "git";
|
|
||||||
oauth = lib.mkEnableOption "enable git-credential-oauth";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
home.packages = lib.mkIf cfg.oauth [
|
|
||||||
pkgs.git-credential-oauth
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.git = {
|
|
||||||
enable = true;
|
|
||||||
userName = "Zynh Ludwig";
|
|
||||||
userEmail = "zynh0722@gmail.com";
|
|
||||||
|
|
||||||
ignores = [
|
|
||||||
"Session.vim"
|
|
||||||
(lib.mkIf macos ".DS_Store")
|
|
||||||
(lib.mkIf direnv ".direnv/")
|
|
||||||
(lib.mkIf direnv ".envrc")
|
|
||||||
];
|
|
||||||
|
|
||||||
aliases = {
|
|
||||||
co = "checkout";
|
|
||||||
ci = "commit";
|
|
||||||
st = "status";
|
|
||||||
br = "branch";
|
|
||||||
hist = "log --pretty=format:'%h %ad | %s%d [%an]' --graph --date=short";
|
|
||||||
type = "cat-file -t";
|
|
||||||
dump = "cat-file -p";
|
|
||||||
graph = "log --graph --decorate --pretty=oneline --abbrev-commit";
|
|
||||||
|
|
||||||
# Convert pull url into ssh push url
|
|
||||||
sshify-push-url = ''
|
|
||||||
!${pkgs.bash}/bin/bash -c "git remote set-url --push origin $(${sshifyPushUrl}/bin/sshify-push-url)"
|
|
||||||
'';
|
|
||||||
|
|
||||||
# local patch-wise ignore workflow
|
|
||||||
unchanged = "update-index --assume-unchanged";
|
|
||||||
changed = "update-index --no-assume-unchanged";
|
|
||||||
show-unchanged = ''
|
|
||||||
!git ls-files -v | sed -e 's/^[a-z] //p; d'
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
extraConfig = {
|
|
||||||
init.defaultBranch = "main";
|
|
||||||
|
|
||||||
core = {
|
|
||||||
editor = "nvim";
|
|
||||||
autocrlf = "input";
|
|
||||||
safecrlf = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
pull.rebase = true;
|
|
||||||
|
|
||||||
credential = {
|
|
||||||
helper = [
|
|
||||||
"cache --timeout 7200"
|
|
||||||
(lib.mkIf cfg.oauth "oauth")
|
|
||||||
];
|
|
||||||
|
|
||||||
"https://git.zynh.me" = {
|
|
||||||
oauthClientId = "13d5b95d-565d-4264-8961-c45cc38eaa8a";
|
|
||||||
oauthScopes = "read_repository write_repository";
|
|
||||||
oauthAuthURL = "/login/oauth/authorize";
|
|
||||||
oauthTokenURL = "/login/oauth/access_token";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,51 +0,0 @@
|
||||||
{ lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.kitty;
|
|
||||||
macos = config.snowhawk.macos.enable;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.kitty = {
|
|
||||||
enable = lib.mkEnableOption "kitty home-manager module";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
programs.kitty = {
|
|
||||||
enable = true;
|
|
||||||
shellIntegration.enableFishIntegration = true;
|
|
||||||
|
|
||||||
settings =
|
|
||||||
let
|
|
||||||
macos_fonts = {
|
|
||||||
font_family = lib.mkForce "family=\"JetBrainsMono Nerd Font Mono\" style=\"Light\"";
|
|
||||||
bold_font = lib.mkForce "family=\"JetBrainsMono Nerd Font Mono\" style=\"Regular\"";
|
|
||||||
italic_font = lib.mkForce "family=\"JetBrainsMono Nerd Font Mono\" style=\"Light Italic\"";
|
|
||||||
bold_italic_font = lib.mkForce "family=\"JetBrainsMono Nerd Font Mono\" style=\"Regular Italic\"";
|
|
||||||
};
|
|
||||||
linux_fonts = {
|
|
||||||
font_family = "family=\"JetBrainsMono Nerd Font\" style=\"ExtraLight\"";
|
|
||||||
bold_font = "family=\"JetBrainsMono Nerd Font\" style=\"Light\"";
|
|
||||||
italic_font = "family=\"JetBrainsMono Nerd Font\" style=\"ExtraLight Italic\"";
|
|
||||||
bold_italic_font = "family=\"JetBrainsMono Nerd Font\" style=\"Light Italic\"";
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
background = "#050505";
|
|
||||||
background_opacity = 0.98;
|
|
||||||
font_size = 12;
|
|
||||||
|
|
||||||
# allow_remote_control = "yes";
|
|
||||||
} // (if !macos then linux_fonts else macos_fonts);
|
|
||||||
|
|
||||||
extraConfig =
|
|
||||||
let
|
|
||||||
kitten = "${pkgs.kitty}/bin/kitten";
|
|
||||||
in
|
|
||||||
''
|
|
||||||
include ${../../home/kitty/alacritty-colors.conf}
|
|
||||||
|
|
||||||
# map ctrl+k ${pkgs.writeShellScript "kitten-snap" "${kitten} @ get-text --self --ansi > /tmp/test"}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,32 +0,0 @@
|
||||||
{ lib, config, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.lazygit;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.lazygit = {
|
|
||||||
enable = lib.mkEnableOption "lazygit";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
programs.lazygit = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
customCommands = [{
|
|
||||||
# We call this the double yoinky sploinky
|
|
||||||
# https://github.com/jesseduffield/lazygit/wiki/Custom-Commands-Compendium#pushing-a-specific-commit
|
|
||||||
key = "P";
|
|
||||||
context = "commits";
|
|
||||||
loadingText = "Pushing commit";
|
|
||||||
description = "Push a specific commit (and any preceding)";
|
|
||||||
stream = "yes";
|
|
||||||
command = "git push {{.SelectedRemote.Name}} {{.SelectedLocalCommit.Sha}}:{{.SelectedLocalBranch.Name}}";
|
|
||||||
}];
|
|
||||||
services = {
|
|
||||||
"git.zynh.me" = "gitea:git.zynh.me";
|
|
||||||
"git.nullcube.net" = "gitea:git.nullcube.net";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,19 +0,0 @@
|
||||||
{ lib, config, pkgs, inputs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.lutris;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.lutris = {
|
|
||||||
enable = lib.mkEnableOption "lutris";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
home.packages = [
|
|
||||||
(inputs.umu.packages.${pkgs.system}.umu.override
|
|
||||||
{ version = "${inputs.umu.shortRev}"; })
|
|
||||||
|
|
||||||
pkgs.lutris
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,7 +0,0 @@
|
||||||
{ lib, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
options.snowhawk.macos = {
|
|
||||||
enable = lib.mkEnableOption "macos";
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,74 +0,0 @@
|
||||||
{ pkgs, lib, config, inputs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.neovim;
|
|
||||||
|
|
||||||
nightlyNeovim = inputs.neovim-overlay.packages.${pkgs.system}.default;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.neovim = {
|
|
||||||
enable = lib.mkEnableOption "neovim home-manager module";
|
|
||||||
|
|
||||||
nightly = lib.mkEnableOption "nightly build of neovim";
|
|
||||||
|
|
||||||
package = lib.mkOption {
|
|
||||||
type = with lib.types; package;
|
|
||||||
default = if cfg.nightly then nightlyNeovim else pkgs.neovim-unwrapped;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config =
|
|
||||||
let
|
|
||||||
nvim-treesitter = pkgs.vimPlugins.nvim-treesitter;
|
|
||||||
treesitterWithGrammars = nvim-treesitter.withAllGrammars;
|
|
||||||
|
|
||||||
treesitter-parsers = pkgs.symlinkJoin {
|
|
||||||
name = "treesitter-parsers";
|
|
||||||
paths = treesitterWithGrammars.dependencies;
|
|
||||||
};
|
|
||||||
in
|
|
||||||
lib.mkIf cfg.enable {
|
|
||||||
snowhawk.repo-clone.enable = true;
|
|
||||||
repo-clone.repos = {
|
|
||||||
"${config.home.homeDirectory}/.config/nvim".url = lib.zgitRepo "nvim";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Set nvim as manpager and default editor
|
|
||||||
home.sessionVariables = {
|
|
||||||
EDITOR = "nvim";
|
|
||||||
MANPAGER = "nvim +Man!";
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg.configFile."nvim/lua/parsers.lua".text = /* lua */ ''
|
|
||||||
vim.opt.runtimepath:append ("${treesitter-parsers}")
|
|
||||||
'';
|
|
||||||
|
|
||||||
programs.neovim = {
|
|
||||||
enable = true;
|
|
||||||
coc.enable = false;
|
|
||||||
package = cfg.package;
|
|
||||||
withNodeJs = true;
|
|
||||||
withPython3 = true;
|
|
||||||
withRuby = true;
|
|
||||||
|
|
||||||
plugins = [
|
|
||||||
treesitterWithGrammars
|
|
||||||
];
|
|
||||||
|
|
||||||
extraPackages = with pkgs; [
|
|
||||||
marksman
|
|
||||||
nil
|
|
||||||
nixpkgs-fmt
|
|
||||||
rustup
|
|
||||||
lua-language-server
|
|
||||||
fzf
|
|
||||||
stylua
|
|
||||||
taplo
|
|
||||||
gnumake
|
|
||||||
zig
|
|
||||||
clang-tools
|
|
||||||
coreutils
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,84 +0,0 @@
|
||||||
{ lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.pipewire-controller;
|
|
||||||
|
|
||||||
pipewire-controller =
|
|
||||||
let
|
|
||||||
mpv = lib.getExe pkgs.mpv;
|
|
||||||
pamixer = lib.getExe pkgs.pamixer;
|
|
||||||
in
|
|
||||||
pkgs.writers.writeRustBin "pipewire-controller" { } ''
|
|
||||||
use std::{process::Command, str};
|
|
||||||
|
|
||||||
const MUTE_AUDIO: &str = "${../audio/discord-mute.mp3}";
|
|
||||||
const UNMUTE_AUDIO: &str = "${../audio/discord-unmute.mp3}";
|
|
||||||
|
|
||||||
fn main() {
|
|
||||||
let mute_status = Command::new("${pamixer}")
|
|
||||||
.args(["--default-source", "--get-mute"])
|
|
||||||
.output()
|
|
||||||
.expect("Unable to get mute status from pamixer")
|
|
||||||
.stdout;
|
|
||||||
|
|
||||||
let mute_status = str::from_utf8(&mute_status[..]).expect("pamixer output wasn't a string").trim();
|
|
||||||
|
|
||||||
if mute_status == "false" {
|
|
||||||
Command::new("${pamixer}")
|
|
||||||
.args(["--default-source", "--mute"])
|
|
||||||
.output()
|
|
||||||
.expect("Unable to mute via pamixer");
|
|
||||||
|
|
||||||
Command::new("${mpv}")
|
|
||||||
.args(["--no-video", "--volume=80", MUTE_AUDIO])
|
|
||||||
.output()
|
|
||||||
.expect("Unable to play audio via mpv");
|
|
||||||
} else {
|
|
||||||
Command::new("${pamixer}")
|
|
||||||
.args(["--default-source", "--unmute"])
|
|
||||||
.output()
|
|
||||||
.expect("Unable to unmute via pamixer");
|
|
||||||
|
|
||||||
Command::new("${mpv}")
|
|
||||||
.args(["--no-video", "--volume=80", UNMUTE_AUDIO])
|
|
||||||
.output()
|
|
||||||
.expect("Unable to play audio via mpv");
|
|
||||||
}
|
|
||||||
|
|
||||||
let xrootdatetime_pid_raw =
|
|
||||||
Command::new("systemctl")
|
|
||||||
.args([
|
|
||||||
"--user",
|
|
||||||
"show",
|
|
||||||
"--property", "MainPID",
|
|
||||||
"--value", "xrootdatetime"
|
|
||||||
])
|
|
||||||
.output();
|
|
||||||
|
|
||||||
if let Ok(xrootdatetime_pid_raw) = xrootdatetime_pid_raw {
|
|
||||||
if let Ok(xrootdatetime_pid) = str::from_utf8(&xrootdatetime_pid_raw.stdout[..]) {
|
|
||||||
let _ = Command::new("kill")
|
|
||||||
.args([
|
|
||||||
"-s",
|
|
||||||
"SIGUSR1",
|
|
||||||
xrootdatetime_pid
|
|
||||||
])
|
|
||||||
.spawn();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.pipewire-controller = {
|
|
||||||
enable = lib.mkEnableOption "pipewire-controller home-manager module";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
snowhawk.sxhkd.enable = true;
|
|
||||||
|
|
||||||
services.sxhkd.keybindings = {
|
|
||||||
"XF86TouchpadOn" = "${lib.getExe pipewire-controller}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,32 +0,0 @@
|
||||||
{ lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.playerctl;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.playerctl = {
|
|
||||||
enable = lib.mkEnableOption "playerctl";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
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
|
|
||||||
];
|
|
||||||
|
|
||||||
snowhawk.sxhkd.enable = lib.mkDefault true;
|
|
||||||
|
|
||||||
services.sxhkd.keybindings =
|
|
||||||
let playerctl = "${pkgs.playerctl}/bin/playerctl";
|
|
||||||
in {
|
|
||||||
"XF86AudioPlay" = "${playerctl} play-pause";
|
|
||||||
"XF86AudioPrev" = "${playerctl} previous";
|
|
||||||
"XF86AudioNext" = "${playerctl} next";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,22 +0,0 @@
|
||||||
{ lib, config, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.projects;
|
|
||||||
|
|
||||||
link = config.lib.file.mkOutOfStoreSymlink;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.projects = {
|
|
||||||
enable = lib.mkEnableOption "projects";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
home.file.projects.source = link "${config.home.homeDirectory}/Documents/projects/";
|
|
||||||
|
|
||||||
snowhawk.tmux.sessionizer.paths =
|
|
||||||
let folder = config.home.file.projects.target;
|
|
||||||
in [
|
|
||||||
"~/${folder}"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,42 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.rbw;
|
|
||||||
|
|
||||||
rbw-fzf = pkgs.writeShellApplication {
|
|
||||||
name = "rbw-fzf";
|
|
||||||
runtimeInputs = with pkgs; [ rbw fzf perl findutils coreutils jq ];
|
|
||||||
text = /*bash*/ ''
|
|
||||||
rbw ls --fields name,user |
|
|
||||||
sort -bi |
|
|
||||||
perl -ple 's/^([^\t]*)\t([^\t]*)$/$1 ($2)/gm' |
|
|
||||||
fzf --tmux --no-sort --with-shell='bash -c' \
|
|
||||||
--preview="echo {} | perl -plE 's/^(.*) \((.*)?\)$/\"\$1\" \"\$2\"/' |
|
|
||||||
xargs rbw get --full --raw | \
|
|
||||||
jq --color-output 'if .data.password != \"\" then setpath([\"data\", \"password\"]; \"************\") else . end | del(.history) | del(.id) | walk(if type == \"object\" then map_values(. // empty) else . end)'" \
|
|
||||||
--preview-label="Vault Item" --preview-window=wrap |
|
|
||||||
perl -plE 's/^(.*) \((.*)?\)$/"$1" "$2"/' |
|
|
||||||
xargs -r rbw get |
|
|
||||||
xclip -sel copy
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
inherit (lib) mkIf mkEnableOption;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.rbw = {
|
|
||||||
enable = mkEnableOption "rbw home-manager module";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
programs.rbw.enable = true;
|
|
||||||
|
|
||||||
home.packages =
|
|
||||||
|
|
||||||
with pkgs; [
|
|
||||||
rbw
|
|
||||||
pinentry-tty
|
|
||||||
rbw-fzf
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,47 +0,0 @@
|
||||||
{ lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.redshift;
|
|
||||||
cfgDir = config.xdg.configHome + "/redshift";
|
|
||||||
|
|
||||||
sops = config.snowhawk.sops.enable;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.redshift = {
|
|
||||||
enable = lib.mkEnableOption "redshift home-manager module";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
systemd.user.services.redshift = {
|
|
||||||
Unit = {
|
|
||||||
Description = "redshift service";
|
|
||||||
PartOf = [ "graphical-session.target" ];
|
|
||||||
After = lib.mkIf sops [ "sops-nix.service" ];
|
|
||||||
};
|
|
||||||
Service = {
|
|
||||||
Type = "exec";
|
|
||||||
ExecStart =
|
|
||||||
let
|
|
||||||
catFile = file: "\$(${pkgs.coreutils}/bin/cat ${file})";
|
|
||||||
toPaths = deg: "${cfgDir}/${deg}";
|
|
||||||
fetchLatLon = lib.right
|
|
||||||
(lib.strings.concatStringsSep ":")
|
|
||||||
(map catFile)
|
|
||||||
(map toPaths)
|
|
||||||
[ "lat" "lon" ];
|
|
||||||
in
|
|
||||||
''${pkgs.bash}/bin/bash -c "${pkgs.redshift}/bin/redshift -l ${fetchLatLon}"'';
|
|
||||||
};
|
|
||||||
Install.WantedBy = [ "graphical-session.target" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
sops.secrets = lib.mkIf sops {
|
|
||||||
"locations/snowhawk/lat".path = "${cfgDir}/lat";
|
|
||||||
"locations/snowhawk/lon".path = "${cfgDir}/lon";
|
|
||||||
};
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
redshift
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,18 +0,0 @@
|
||||||
{ lib, config, inputs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.repo-clone;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
inputs.repo-clone.homeManagerModule
|
|
||||||
];
|
|
||||||
|
|
||||||
options.snowhawk.repo-clone = {
|
|
||||||
enable = lib.mkEnableOption "repo-clone home-manager module";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
systemd.user.startServices = "sd-switch";
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,33 +0,0 @@
|
||||||
{ lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.rust;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.rust = {
|
|
||||||
enable = lib.mkEnableOption "rust home-manager module";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
snowhawk.direnv.enable = true;
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
rustup
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.bacon = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
keybindings = {
|
|
||||||
esc = "back";
|
|
||||||
g = "scroll-to-top";
|
|
||||||
shift-g = "scroll-to-bottom";
|
|
||||||
k = "scroll-lines(-1)";
|
|
||||||
j = "scroll-lines(1)";
|
|
||||||
ctrl-u = "scroll-page(-1)";
|
|
||||||
ctrl-d = "scroll-page(1)";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,28 +0,0 @@
|
||||||
{ lib, config, inputs, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.sops;
|
|
||||||
home = config.home.homeDirectory;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
inputs.sops-nix.homeManagerModules.sops
|
|
||||||
];
|
|
||||||
|
|
||||||
options.snowhawk.sops = {
|
|
||||||
enable = lib.mkEnableOption "sops";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
home.packages = [
|
|
||||||
pkgs.sops
|
|
||||||
];
|
|
||||||
|
|
||||||
sops = {
|
|
||||||
age.keyFile = "${home}/.config/sops/age/keys.txt";
|
|
||||||
|
|
||||||
defaultSopsFile = ../../secrets.yaml;
|
|
||||||
validateSopsFiles = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,21 +0,0 @@
|
||||||
{ lib, inputs, config, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.sources;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.sources = {
|
|
||||||
enable = lib.mkEnableOption "nix sources home-manager module";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
home.file = {
|
|
||||||
"src/nixpkgs".source = inputs.nixpkgs;
|
|
||||||
"src/home-manager".source = inputs.home-manager;
|
|
||||||
};
|
|
||||||
|
|
||||||
snowhawk.tmux.sessionizer.paths = [
|
|
||||||
"~/src"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,69 +0,0 @@
|
||||||
{ lib, config, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.ssh;
|
|
||||||
sops = config.snowhawk.sops.enable;
|
|
||||||
secrets = config.sops.secrets;
|
|
||||||
|
|
||||||
ifSops = lib.mkIf sops;
|
|
||||||
|
|
||||||
keyPathIfSops = key: ifSops secrets.${"private_keys/" + key}.path;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.ssh = {
|
|
||||||
enable = lib.mkEnableOption "ssh";
|
|
||||||
|
|
||||||
homeNetwork = lib.mkEnableOption "include local hostnames for home network devices";
|
|
||||||
};
|
|
||||||
|
|
||||||
config =
|
|
||||||
let sshDir = config.home.homeDirectory + "/.ssh";
|
|
||||||
in lib.mkIf cfg.enable {
|
|
||||||
programs.ssh = {
|
|
||||||
enable = true;
|
|
||||||
includes = [ "conf.d/*" ];
|
|
||||||
matchBlocks = {
|
|
||||||
"git.zynh.me" = {
|
|
||||||
hostname = "git.zynh.me";
|
|
||||||
user = "git";
|
|
||||||
port = 2221;
|
|
||||||
identityFile = keyPathIfSops "personal_git";
|
|
||||||
};
|
|
||||||
"github.com" = {
|
|
||||||
hostname = "github.com";
|
|
||||||
user = "git";
|
|
||||||
identityFile = keyPathIfSops "github";
|
|
||||||
};
|
|
||||||
snowhawk = {
|
|
||||||
hostname = "192.168.0.22";
|
|
||||||
user = "ravenshade";
|
|
||||||
proxyJump = "zynh@msiserver";
|
|
||||||
identityFile = keyPathIfSops "snowhawk";
|
|
||||||
};
|
|
||||||
msiserver = {
|
|
||||||
hostname = "scarlet.zynh.me";
|
|
||||||
user = "zynh";
|
|
||||||
identityFile = keyPathIfSops "msiserver";
|
|
||||||
};
|
|
||||||
"msiserver.local" = lib.mkIf cfg.homeNetwork {
|
|
||||||
hostname = "msiserver";
|
|
||||||
user = "zynh";
|
|
||||||
identityFile = keyPathIfSops "msiserver";
|
|
||||||
};
|
|
||||||
caveserver = {
|
|
||||||
identityFile = keyPathIfSops "caveserver";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
sops.secrets = ifSops {
|
|
||||||
"private_keys/msiserver" = { };
|
|
||||||
"private_keys/caveserver" = { };
|
|
||||||
"private_keys/snowhawk" = { };
|
|
||||||
"private_keys/personal_git" = { };
|
|
||||||
"private_keys/github" = { };
|
|
||||||
|
|
||||||
"ssh_hosts/caveserver".path = "${sshDir}/conf.d/caveserver_config";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,33 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.sxhkd;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.sxhkd = {
|
|
||||||
enable = lib.mkEnableOption "custom sxhkd home-manager module";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
systemd.user.services.sxhkd = {
|
|
||||||
Unit = {
|
|
||||||
Description = "sxhkd service";
|
|
||||||
PartOf = [ "graphical-session.target" ];
|
|
||||||
};
|
|
||||||
Service = {
|
|
||||||
Type = "exec";
|
|
||||||
ExecStart = "${pkgs.sxhkd}/bin/sxhkd";
|
|
||||||
};
|
|
||||||
Install.WantedBy = [ "graphical-session.target" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg.configFile."sxhkd/sxhkdrc".text =
|
|
||||||
lib.concatStringsSep "\n" (lib.mapAttrsToList
|
|
||||||
(hotkey: command:
|
|
||||||
lib.optionalString (command != null) ''
|
|
||||||
${hotkey}
|
|
||||||
${command}
|
|
||||||
'')
|
|
||||||
config.services.sxhkd.keybindings);
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,65 +0,0 @@
|
||||||
{ pkgs, lib, config, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.theme;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.theme = {
|
|
||||||
enable = lib.mkEnableOption "theme";
|
|
||||||
|
|
||||||
cursor = lib.mkOption {
|
|
||||||
default = true;
|
|
||||||
example = false;
|
|
||||||
description = "enable home.pointerCursor theme";
|
|
||||||
type = lib.types.bool;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
gtk = {
|
|
||||||
enable = true;
|
|
||||||
theme = {
|
|
||||||
package = pkgs.rose-pine-gtk-theme;
|
|
||||||
name = "rose-pine";
|
|
||||||
};
|
|
||||||
iconTheme = {
|
|
||||||
package = pkgs.rose-pine-icon-theme;
|
|
||||||
name = "rose-pine-icons";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Set system dark mode
|
|
||||||
dconf.settings = {
|
|
||||||
"org/freedesktop/appearance" = {
|
|
||||||
color-scheme = 1;
|
|
||||||
};
|
|
||||||
"org/gnome/desktop/interface" = {
|
|
||||||
color-scheme = "prefer-dark";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
home.pointerCursor = lib.mkIf cfg.cursor
|
|
||||||
(
|
|
||||||
let
|
|
||||||
getFrom = url: hash: name: {
|
|
||||||
gtk.enable = true;
|
|
||||||
x11.enable = true;
|
|
||||||
name = name;
|
|
||||||
size = 16;
|
|
||||||
package =
|
|
||||||
pkgs.runCommand "moveUp" { } ''
|
|
||||||
mkdir -p $out/share/icons
|
|
||||||
ln -s ${pkgs.fetchzip {
|
|
||||||
url = url;
|
|
||||||
hash = hash;
|
|
||||||
}} $out/share/icons/${name}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
in
|
|
||||||
getFrom
|
|
||||||
"https://github.com/rose-pine/cursor/releases/download/v1.1.0/BreezeX-RosePine-Linux.tar.xz"
|
|
||||||
"sha256-t5xwAPGhuQUfGThedLsmtZEEp1Ljjo3Udhd5Ql3O67c="
|
|
||||||
"BreezeX-RosePine"
|
|
||||||
);
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,20 +0,0 @@
|
||||||
{ lib, config, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.tldr;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.tldr = {
|
|
||||||
enable = lib.mkEnableOption "tldr";
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
programs.tealdeer = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
updates.auto_update = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,75 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
inherit (lib) getExe;
|
|
||||||
|
|
||||||
cfg = config.snowhawk.tmux.sessionizer;
|
|
||||||
tmuxCfg = config.snowhawk.tmux;
|
|
||||||
|
|
||||||
enable = cfg.enable && tmuxCfg.enable;
|
|
||||||
|
|
||||||
tmux-sessionizer = pkgs.writeShellApplication {
|
|
||||||
name = "tmux-sessionizer";
|
|
||||||
runtimeInputs = with pkgs; [ tmux fzf findutils coreutils procps ];
|
|
||||||
text = ''
|
|
||||||
if [[ $# -eq 1 ]]; then
|
|
||||||
selected=$1
|
|
||||||
else
|
|
||||||
selected=$(find -L ${lib.concatStringsSep " " cfg.paths} -mindepth 1 -maxdepth 1 -type d \
|
|
||||||
| fzf --tmux center --preview="ls {} --color || true")
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ -z $selected ]]; then
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
selected_name=$(basename "$selected" | tr . _)
|
|
||||||
tmux_running=$(pgrep tmux)
|
|
||||||
|
|
||||||
if [[ -z $TMUX ]] && [[ -z $tmux_running ]]; then
|
|
||||||
tmux new-session -s "$selected_name" -c "$selected"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! tmux has-session -t="$selected_name" 2>/dev/null; then
|
|
||||||
tmux new-session -ds "$selected_name" -c "$selected"
|
|
||||||
fi
|
|
||||||
|
|
||||||
tmux switch-client -t "$selected_name"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.tmux.sessionizer = {
|
|
||||||
enable = lib.mkEnableOption "tmux-sessionizer home-manager module";
|
|
||||||
|
|
||||||
paths = lib.mkOption {
|
|
||||||
type = with lib.types; listOf str;
|
|
||||||
description = ''
|
|
||||||
list of paths to select with tmux-sessionizer
|
|
||||||
'';
|
|
||||||
default = [ ];
|
|
||||||
example = [
|
|
||||||
"~"
|
|
||||||
"~/projects"
|
|
||||||
"~/src"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
package = lib.mkOption {
|
|
||||||
type = lib.types.package;
|
|
||||||
default = tmux-sessionizer;
|
|
||||||
description = ''
|
|
||||||
tmux-sessionizer binary package
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf enable {
|
|
||||||
home.packages = [ cfg.package ];
|
|
||||||
|
|
||||||
programs.tmux.extraConfig = ''
|
|
||||||
bind-key -r f run-shell "tmux neww ${getExe cfg.package}"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,52 +0,0 @@
|
||||||
{ lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
inherit (lib) getExe;
|
|
||||||
|
|
||||||
cfg = config.snowhawk.tmux;
|
|
||||||
macos = config.snowhawk.macos.enable;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.tmux = {
|
|
||||||
enable = lib.mkEnableOption "tmux";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
programs.tmux = {
|
|
||||||
enable = true;
|
|
||||||
shell = getExe (if macos then pkgs.zsh else pkgs.fish);
|
|
||||||
# shell = if macos then "/bin/zsh" else (getExe pkgs.fish);
|
|
||||||
# shell = getExe pkgs.fish;
|
|
||||||
mouse = true;
|
|
||||||
baseIndex = 1;
|
|
||||||
terminal = "screen-256color";
|
|
||||||
newSession = true;
|
|
||||||
escapeTime = 0;
|
|
||||||
|
|
||||||
plugins = with pkgs; [
|
|
||||||
{
|
|
||||||
plugin = tmuxPlugins.rose-pine;
|
|
||||||
extraConfig = ''
|
|
||||||
set -g @rose_pine_variant 'main' # Options are 'main', 'moon' or 'dawn'
|
|
||||||
set -g @rose_pine_host 'on'
|
|
||||||
set -g @rose_pine_date_time '%c' # %c is a good value but
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
{ plugin = tmuxPlugins.vim-tmux-navigator; }
|
|
||||||
];
|
|
||||||
|
|
||||||
extraConfig = ''
|
|
||||||
set-option -g renumber-windows on
|
|
||||||
set-option -g focus-events on
|
|
||||||
set-option -g terminal-features 'alacritty:RGB'
|
|
||||||
|
|
||||||
bind '"' split-window -v -c "#{pane_current_path}"
|
|
||||||
bind % split-window -h -c "#{pane_current_path}"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.fish.shellAbbrs = {
|
|
||||||
a = "tmux a";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,32 +0,0 @@
|
||||||
{ lib, config, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.user;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.user = {
|
|
||||||
enable = lib.mkEnableOption "user";
|
|
||||||
|
|
||||||
username = lib.mkOption {
|
|
||||||
default = "ravenshade";
|
|
||||||
example = "zynh";
|
|
||||||
description = "the username to use. also defines the default home folder as /home/\${username}";
|
|
||||||
type = lib.types.str;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
home.username = lib.mkDefault cfg.username;
|
|
||||||
home.homeDirectory = lib.mkDefault "/home/${cfg.username}";
|
|
||||||
|
|
||||||
home.sessionPath = [
|
|
||||||
"${config.home.homeDirectory}/.cargo/bin"
|
|
||||||
"${config.home.homeDirectory}/.dotnet/tools"
|
|
||||||
];
|
|
||||||
|
|
||||||
snowhawk.tmux.sessionizer.paths = [
|
|
||||||
"~"
|
|
||||||
"~/.config"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,73 +0,0 @@
|
||||||
{ theme ? "default" }:
|
|
||||||
|
|
||||||
let
|
|
||||||
configs = {
|
|
||||||
default = {
|
|
||||||
global = { background = "#26233a"; foreground = "#e0def4"; };
|
|
||||||
urgency_low = { background = "#26273d"; highlight = "#31748f"; };
|
|
||||||
urgency_normal = { background = "#362e3c"; highlight = "#f6c177"; };
|
|
||||||
urgency_critical = { background = "#362e3c"; highlight = "#eb6f92"; };
|
|
||||||
};
|
|
||||||
|
|
||||||
moon = {
|
|
||||||
global = { background = "#393552"; foreground = "#e0def4"; };
|
|
||||||
urgency_low = { background = "#393955"; highlight = "#3e8fb0"; };
|
|
||||||
urgency_normal = { background = "#443c53"; highlight = "#f6c177"; };
|
|
||||||
urgency_critical = { background = "#433754"; highlight = "#eb6f92"; };
|
|
||||||
};
|
|
||||||
|
|
||||||
dawn = {
|
|
||||||
global = { background = "#f2e9e1"; foreground = "#393552"; };
|
|
||||||
urgency_low = { background = "#e7e0da"; highlight = "#286983"; };
|
|
||||||
urgency_normal = { background = "#3e8fb0"; highlight = "#ea9d34"; };
|
|
||||||
urgency_critical = { background = "#ede0d9"; highlight = "#b4637a"; };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
formatWithColor = color: "<b><span foreground='${color}'>%s</span></b>\n%b";
|
|
||||||
|
|
||||||
getConfig = name:
|
|
||||||
if name == "moon" then configs.moon
|
|
||||||
else if name == "dawn" then configs.dawn
|
|
||||||
else configs.default;
|
|
||||||
|
|
||||||
selectedConfig = getConfig theme;
|
|
||||||
|
|
||||||
urgencyIcons = {
|
|
||||||
urgency_low = "dialog-information";
|
|
||||||
urgency_normal = "dialog-warning";
|
|
||||||
urgency_critical = "dialog-error";
|
|
||||||
};
|
|
||||||
|
|
||||||
urgencyColors =
|
|
||||||
builtins.listToAttrs (map
|
|
||||||
(urgency: {
|
|
||||||
name = urgency;
|
|
||||||
value = rec {
|
|
||||||
inherit (selectedConfig.${urgency}) background highlight;
|
|
||||||
frame_color = highlight;
|
|
||||||
default_icon = urgencyIcons.${urgency};
|
|
||||||
format = formatWithColor highlight;
|
|
||||||
};
|
|
||||||
})
|
|
||||||
[ "urgency_low" "urgency_normal" "urgency_critical" ]);
|
|
||||||
in
|
|
||||||
{
|
|
||||||
global = {
|
|
||||||
width = 400;
|
|
||||||
offset = "5x5";
|
|
||||||
progress_bar_min_width = 380;
|
|
||||||
progress_bar_max_width = 380;
|
|
||||||
progress_bar_corner_radius = 2;
|
|
||||||
|
|
||||||
padding = 10;
|
|
||||||
horizontal_padding = 10;
|
|
||||||
frame_width = 1;
|
|
||||||
gap_size = 3;
|
|
||||||
font = "Monospace 14";
|
|
||||||
|
|
||||||
icon_theme = "rose-pine-icons";
|
|
||||||
enable_recursive_icon_lookup = true;
|
|
||||||
corner_radius = 2;
|
|
||||||
} // selectedConfig.global;
|
|
||||||
} // urgencyColors
|
|
|
@ -1,33 +0,0 @@
|
||||||
{ lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.wezterm;
|
|
||||||
macos = config.snowhawk.macos.enable;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.wezterm = {
|
|
||||||
enable = lib.mkEnableOption "kitty home-manager module";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
wezterm
|
|
||||||
fd
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.wezterm = {
|
|
||||||
enable = true;
|
|
||||||
extraConfig = /* lua */''
|
|
||||||
return require 'modules'
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg.configFile = {
|
|
||||||
wezterm = {
|
|
||||||
source = ../../home/wezterm;
|
|
||||||
recursive = true;
|
|
||||||
executable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,31 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.xivlauncher;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.xivlauncher = {
|
|
||||||
enable = lib.mkEnableOption "xivlauncher home-manager module";
|
|
||||||
|
|
||||||
textools.enable = lib.mkEnableOption "TexTools wine application";
|
|
||||||
};
|
|
||||||
|
|
||||||
config =
|
|
||||||
let launchffxiv = "${pkgs.xivlauncher}/bin/XIVLauncher.Core";
|
|
||||||
in lib.mkIf cfg.enable {
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
xivlauncher
|
|
||||||
fflogs
|
|
||||||
|
|
||||||
(writeShellScriptBin "iinact" ''
|
|
||||||
${pkgs.brave}/bin/brave --new-window "http://proxy.iinact.com/overlay/skyline/?OVERLAY_WS=ws://127.0.0.1:10501/ws"
|
|
||||||
'')
|
|
||||||
|
|
||||||
# (lib.mkIf cfg.textools.enable pkgs.wrapWine {
|
|
||||||
# # https://gist.github.com/helpful-fox-senko-san/6238143f5c7352ab44e62c5a0f7f7642
|
|
||||||
# name = "textools";
|
|
||||||
# tricks = [ "dotnet48" "dxvk" ];
|
|
||||||
# })
|
|
||||||
] ++ map (name: (writeShellScriptBin name launchffxiv)) [ "ff14" "xivlauncher" ];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,50 +0,0 @@
|
||||||
local wezterm = require("wezterm")
|
|
||||||
|
|
||||||
-- This is the M table that we will export
|
|
||||||
local M = {}
|
|
||||||
|
|
||||||
-- define a function in the M table.
|
|
||||||
-- Only functions defined in `M` will be exported to
|
|
||||||
-- code that imports this M.
|
|
||||||
-- The suggested convention for making Ms that update
|
|
||||||
-- the config is for them to export an `apply_to_config`
|
|
||||||
-- function that accepts the config object, like this:
|
|
||||||
function M.apply_to_config(config)
|
|
||||||
config.colors = {
|
|
||||||
foreground = "#d8d8d8",
|
|
||||||
background = "#050505",
|
|
||||||
|
|
||||||
selection_fg = "#e0def4",
|
|
||||||
selection_bg = "#403d52",
|
|
||||||
|
|
||||||
cursor_bg = "#524f67",
|
|
||||||
cursor_fg = "#e0def4",
|
|
||||||
|
|
||||||
cursor_border = "#524f67",
|
|
||||||
|
|
||||||
ansi = {
|
|
||||||
"#181818",
|
|
||||||
"#ac4242",
|
|
||||||
"#90a959",
|
|
||||||
"#f4bf75",
|
|
||||||
"#6a8fb5",
|
|
||||||
"#aa759f",
|
|
||||||
"#75b5aa",
|
|
||||||
"#d8d8d8",
|
|
||||||
},
|
|
||||||
|
|
||||||
brights = {
|
|
||||||
"#6b6b6b",
|
|
||||||
"#c55555",
|
|
||||||
"#aac474",
|
|
||||||
"#fcea88",
|
|
||||||
"#82b8c8",
|
|
||||||
"#c28cb8",
|
|
||||||
"#93d3c3",
|
|
||||||
"#f8f8f8",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
-- return our M table
|
|
||||||
return M
|
|
|
@ -1,49 +0,0 @@
|
||||||
local wezterm = require("wezterm")
|
|
||||||
local config = wezterm.config_builder()
|
|
||||||
|
|
||||||
local colors = require("modules/colors")
|
|
||||||
colors.apply_to_config(config)
|
|
||||||
|
|
||||||
config.unix_domains = { { name = "unix" } }
|
|
||||||
config.default_gui_startup_args = { "connect", "unix" }
|
|
||||||
|
|
||||||
config.font = wezterm.font("JetBrainsMono Nerd Font")
|
|
||||||
|
|
||||||
config.use_fancy_tab_bar = false
|
|
||||||
config.tab_bar_at_bottom = true
|
|
||||||
|
|
||||||
-- https://github.com/wez/wezterm/issues/5990
|
|
||||||
config.front_end = "WebGpu"
|
|
||||||
|
|
||||||
local act = wezterm.action
|
|
||||||
local sessionizer = require("modules/sessionizer")
|
|
||||||
local navigator = require("modules/navigator")
|
|
||||||
|
|
||||||
-- timeout_milliseconds defaults to 1000 and can be omitted
|
|
||||||
config.leader = { key = "b", mods = "CTRL", timeout_milliseconds = 1000 }
|
|
||||||
|
|
||||||
config.keys = {
|
|
||||||
{ key = "b", mods = "LEADER|CTRL", action = act.ActivateLastTab },
|
|
||||||
{ key = "p", mods = "LEADER", action = act.ActivateTabRelative(-1) },
|
|
||||||
{ key = "p", mods = "LEADER|CTRL", action = act.ActivateTabRelative(-1) },
|
|
||||||
{ key = "n", mods = "LEADER", action = act.ActivateTabRelative(1) },
|
|
||||||
{ key = "n", mods = "LEADER|CTRL", action = act.ActivateTabRelative(1) },
|
|
||||||
{ key = "s", mods = "LEADER", action = act.ShowLauncherArgs({ flags = "WORKSPACES" }) },
|
|
||||||
|
|
||||||
{ key = "\\", mods = "LEADER", action = act.SplitHorizontal({ domain = "CurrentPaneDomain" }) },
|
|
||||||
{ key = "-", mods = "LEADER", action = act.SplitVertical({ domain = "CurrentPaneDomain" }) },
|
|
||||||
{ key = "c", mods = "LEADER", action = act.SpawnTab("CurrentPaneDomain") },
|
|
||||||
|
|
||||||
{ key = "a", mods = "LEADER", action = act.AttachDomain("unix") },
|
|
||||||
{ key = "d", mods = "LEADER|CTRL", action = act.DetachDomain("CurrentPaneDomain") },
|
|
||||||
|
|
||||||
-- Integration with neovim panes
|
|
||||||
-- { key = "h", mods = "CTRL", action = act.EmitEvent("ActivatePaneDirection-left") },
|
|
||||||
-- { key = "j", mods = "CTRL", action = act.EmitEvent("ActivatePaneDirection-down") },
|
|
||||||
-- { key = "k", mods = "CTRL", action = act.EmitEvent("ActivatePaneDirection-up") },
|
|
||||||
-- { key = "l", mods = "CTRL", action = act.EmitEvent("ActivatePaneDirection-right") },
|
|
||||||
|
|
||||||
{ key = "f", mods = "LEADER", action = wezterm.action_callback(sessionizer.toggle) },
|
|
||||||
}
|
|
||||||
|
|
||||||
return config
|
|
|
@ -1,53 +0,0 @@
|
||||||
local wezterm = require("wezterm")
|
|
||||||
local M = {}
|
|
||||||
|
|
||||||
-- https://github.com/lrvdijk/dotfiles/blob/master/wezterm/wezterm.lua
|
|
||||||
-- Integration with neovim panes
|
|
||||||
function M.isViProcess(pane)
|
|
||||||
-- get_foreground_process_name On Linux, macOS and Windows,
|
|
||||||
-- the process can be queried to determine this path. Other operating systems
|
|
||||||
-- (notably, FreeBSD and other unix systems) are not currently supported
|
|
||||||
-- return pane:get_foreground_process_name():find('n?vim') ~= nil
|
|
||||||
-- Use get_title as it works for multiplexed sessions too
|
|
||||||
return pane:get_title():find("n?vim") ~= nil
|
|
||||||
end
|
|
||||||
|
|
||||||
function M.conditionalActivatePane(window, pane, pane_direction, vim_direction)
|
|
||||||
local vim_pane_changed = false
|
|
||||||
|
|
||||||
if M.isViProcess(pane) then
|
|
||||||
local before = pane:get_cursor_position()
|
|
||||||
window:perform_action(
|
|
||||||
-- This should match the keybinds you set in Neovim.
|
|
||||||
wezterm.action.SendKey({ key = vim_direction, mods = "CTRL" }),
|
|
||||||
pane
|
|
||||||
)
|
|
||||||
wezterm.sleep_ms(50)
|
|
||||||
local after = pane:get_cursor_position()
|
|
||||||
|
|
||||||
if before.x ~= after.x and before.y ~= after.y then
|
|
||||||
vim_pane_changed = true
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
if not vim_pane_changed then
|
|
||||||
window:perform_action(wezterm.action.ActivatePaneDirection(pane_direction), pane)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function M.apply_to_config(config)
|
|
||||||
wezterm.on("ActivatePaneDirection-right", function(window, pane)
|
|
||||||
M.conditionalActivatePane(window, pane, "Right", "l")
|
|
||||||
end)
|
|
||||||
wezterm.on("ActivatePaneDirection-left", function(window, pane)
|
|
||||||
M.conditionalActivatePane(window, pane, "Left", "h")
|
|
||||||
end)
|
|
||||||
wezterm.on("ActivatePaneDirection-up", function(window, pane)
|
|
||||||
M.conditionalActivatePane(window, pane, "Up", "k")
|
|
||||||
end)
|
|
||||||
wezterm.on("ActivatePaneDirection-down", function(window, pane)
|
|
||||||
M.conditionalActivatePane(window, pane, "Down", "j")
|
|
||||||
end)
|
|
||||||
end
|
|
||||||
|
|
||||||
return M
|
|
|
@ -1,52 +0,0 @@
|
||||||
local wezterm = require("wezterm")
|
|
||||||
local act = wezterm.action
|
|
||||||
|
|
||||||
local M = {}
|
|
||||||
|
|
||||||
local fd = "/home/ravenshade/.nix-profile/bin/fd"
|
|
||||||
|
|
||||||
M.toggle = function(window, pane)
|
|
||||||
local projects = {}
|
|
||||||
|
|
||||||
local success, stdout, stderr = wezterm.run_child_process({
|
|
||||||
fd,
|
|
||||||
"-HI",
|
|
||||||
"^.git$",
|
|
||||||
"--max-depth=4",
|
|
||||||
"--prune",
|
|
||||||
os.getenv("HOME") .. "/projects",
|
|
||||||
os.getenv("HOME") .. "/.config",
|
|
||||||
os.getenv("HOME") .. "/src",
|
|
||||||
})
|
|
||||||
|
|
||||||
if not success then
|
|
||||||
wezterm.log_error("Failed to run fd: " .. stderr)
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
for line in stdout:gmatch("([^\n]*)\n?") do
|
|
||||||
local project = line:gsub("/.git.*$", "")
|
|
||||||
local label = project
|
|
||||||
local id = project:gsub(".*/", "")
|
|
||||||
table.insert(projects, { label = tostring(label), id = tostring(id) })
|
|
||||||
end
|
|
||||||
|
|
||||||
window:perform_action(
|
|
||||||
act.InputSelector({
|
|
||||||
action = wezterm.action_callback(function(win, _, id, label)
|
|
||||||
if not id and not label then
|
|
||||||
wezterm.log_info("Cancelled")
|
|
||||||
else
|
|
||||||
wezterm.log_info("Selected " .. label)
|
|
||||||
win:perform_action(act.SwitchToWorkspace({ name = id, spawn = { cwd = label } }), pane)
|
|
||||||
end
|
|
||||||
end),
|
|
||||||
fuzzy = true,
|
|
||||||
title = "Select project",
|
|
||||||
choices = projects,
|
|
||||||
}),
|
|
||||||
pane
|
|
||||||
)
|
|
||||||
end
|
|
||||||
|
|
||||||
return M
|
|
|
@ -1,30 +0,0 @@
|
||||||
{ pkgs, inputs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
../../home/modules
|
|
||||||
];
|
|
||||||
|
|
||||||
snowhawk.neovim = {
|
|
||||||
enable = true;
|
|
||||||
package = inputs.neovim-overlay.packages.${pkgs.system}.default;
|
|
||||||
};
|
|
||||||
snowhawk.ssh.enable = true;
|
|
||||||
|
|
||||||
snowhawk.user.username = "val";
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
nix-output-monitor
|
|
||||||
(writeShellScriptBin "rebuild" ''
|
|
||||||
home-manager switch -v |& nom
|
|
||||||
'')
|
|
||||||
|
|
||||||
go
|
|
||||||
rustup
|
|
||||||
fzf
|
|
||||||
];
|
|
||||||
|
|
||||||
# Let Home Manager install and manage itself.
|
|
||||||
programs.home-manager.enable = true;
|
|
||||||
home.stateVersion = "23.11";
|
|
||||||
}
|
|
|
@ -1,195 +0,0 @@
|
||||||
{ pkgs, lib, self, ... }: {
|
|
||||||
# List packages installed in system profile. To search by name, run:
|
|
||||||
# $ nix-env -qaP | grep wget
|
|
||||||
environment.systemPackages = [ ];
|
|
||||||
|
|
||||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
|
||||||
nix.optimise.automatic = true;
|
|
||||||
|
|
||||||
environment.shells = with pkgs; [ bashInteractive zsh fish ];
|
|
||||||
|
|
||||||
# Auto upgrade nix package and the daemon service.
|
|
||||||
services.nix-daemon.enable = true;
|
|
||||||
|
|
||||||
# Enable alternative shell support in nix-darwin.
|
|
||||||
# programs.fish.enable = true;
|
|
||||||
|
|
||||||
services.yabai =
|
|
||||||
let
|
|
||||||
gap = 10;
|
|
||||||
|
|
||||||
gapListParts = builtins.map
|
|
||||||
(x: lib.attrsets.nameValuePair (x + "_padding") gap)
|
|
||||||
[ "top" "bottom" "left" "right" ];
|
|
||||||
|
|
||||||
gapSettings = (builtins.listToAttrs gapListParts) // { window_gap = gap; };
|
|
||||||
in
|
|
||||||
{
|
|
||||||
enable = true;
|
|
||||||
enableScriptingAddition = true;
|
|
||||||
config = {
|
|
||||||
layout = "bsp";
|
|
||||||
window_shadow = "float";
|
|
||||||
|
|
||||||
mouse_modifier = "fn";
|
|
||||||
mouse_action1 = "move";
|
|
||||||
mouse_action2 = "resize";
|
|
||||||
focus_follows_mouse = "autoraise";
|
|
||||||
mouse_follows_focus = "off";
|
|
||||||
window_topmost = "off";
|
|
||||||
} // gapSettings;
|
|
||||||
extraConfig = ''
|
|
||||||
yabai -m rule --add app="^System Settings$" manage=off
|
|
||||||
yabai -m rule --add app="Python" manage=off
|
|
||||||
yabai -m rule --add app="macroquad_playground" manage=off
|
|
||||||
yabai -m rule --add app="^coreautha$" manage=off
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
services.skhd =
|
|
||||||
let
|
|
||||||
yabaiSwapToFullscreen = pkgs.writeShellApplication {
|
|
||||||
name = "yabai-swap-to-fullscreen";
|
|
||||||
runtimeInputs = [ pkgs.jq pkgs.yabai ];
|
|
||||||
text = ''
|
|
||||||
focus() {
|
|
||||||
yabai -m space --focus "$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
get_fs_displays() {
|
|
||||||
yabai -m query --spaces | jq -c 'map(select(."is-native-fullscreen" == true))'
|
|
||||||
}
|
|
||||||
|
|
||||||
get_visible() {
|
|
||||||
printf '%s' "$1" | jq -c 'map(select(."is-visible" == true))'
|
|
||||||
}
|
|
||||||
|
|
||||||
is_empty() {
|
|
||||||
length="$(printf '%s' "$1" | jq 'length')"
|
|
||||||
[ "$length" -le 0 ]
|
|
||||||
}
|
|
||||||
|
|
||||||
first() {
|
|
||||||
printf '%s' "$1" | jq 'sort_by(.index) | .[0].index'
|
|
||||||
}
|
|
||||||
|
|
||||||
try_focus_visible() {
|
|
||||||
# This should be at max length 1. Though this may likely break in a multimonitor environment
|
|
||||||
visible_fullscreen_displays=$(get_visible "$1")
|
|
||||||
|
|
||||||
if ! is_empty "$visible_fullscreen_displays"; then
|
|
||||||
visible_index=$(printf '%s' "$visible_fullscreen_displays" | jq -c '.[0].index')
|
|
||||||
next_index=$((visible_index + 1))
|
|
||||||
if [ "$(printf '%s' "$fullscreen_displays" | jq "map(select(.index == $next_index)) | length")" -gt "0" ]; then
|
|
||||||
focus "$next_index"
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
main() {
|
|
||||||
fullscreen_displays="$(get_fs_displays)"
|
|
||||||
|
|
||||||
is_empty "$fullscreen_displays" && focus 1 && return 1
|
|
||||||
|
|
||||||
try_focus_visible "$fullscreen_displays" && return 1
|
|
||||||
|
|
||||||
focus "$(first "$fullscreen_displays")"
|
|
||||||
}
|
|
||||||
|
|
||||||
main
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
# Idk if macos' 'open' is something I can find in nixpkgs lmfao
|
|
||||||
newAlacrityWindow = pkgs.writeShellApplication {
|
|
||||||
name = "new-alacritty-window";
|
|
||||||
runtimeInputs = [ pkgs.alacritty ];
|
|
||||||
text = ''
|
|
||||||
alacritty_output=$(alacritty msg create-window 2>/dev/null)
|
|
||||||
|
|
||||||
if [ -z "$alacritty_output" ]; then
|
|
||||||
open /Applications/Alacritty.app
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
session = pkgs.writeText "main-kitty-session" ''
|
|
||||||
cd /Users/zynh
|
|
||||||
'';
|
|
||||||
|
|
||||||
yabai = lib.getExe pkgs.yabai;
|
|
||||||
kitty = lib.getExe pkgs.kitty;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
enable = true;
|
|
||||||
skhdConfig = ''
|
|
||||||
# float / unfloat window and center on screen
|
|
||||||
alt - t : ${yabai} -m window --toggle float --grid 4:4:1:1:2:2
|
|
||||||
|
|
||||||
# open terminal window using shell script
|
|
||||||
cmd - return : ${kitty} --session ${session} --single-instance
|
|
||||||
|
|
||||||
# rebind space switching
|
|
||||||
ctrl - left : ${yabai} -m space --focus prev || ${yabai} -m space --focus last
|
|
||||||
ctrl - right : ${yabai} -m space --focus next || ${yabai} -m space --focus first
|
|
||||||
|
|
||||||
# focusing specific spaces
|
|
||||||
cmd - 1 : ${yabai} -m space --focus 1
|
|
||||||
cmd - 2 : ${yabai} -m space --focus 2
|
|
||||||
cmd - 3 : ${yabai} -m space --focus 3
|
|
||||||
cmd - 4 : ${yabai} -m space --focus 4
|
|
||||||
cmd - 5 : ${yabai} -m space --focus 5
|
|
||||||
cmd - 6 : ${yabai} -m space --focus 6
|
|
||||||
cmd - 7 : ${yabai} -m space --focus 7
|
|
||||||
cmd - 8 : ${yabai} -m space --focus 8
|
|
||||||
cmd - 9 : ${yabai} -m space --focus 9
|
|
||||||
cmd - 0x32 : ${lib.getExe yabaiSwapToFullscreen}
|
|
||||||
|
|
||||||
|
|
||||||
# moving windows
|
|
||||||
cmd + shift - 1 : ${yabai} -m window --space 1
|
|
||||||
cmd + shift - 2 : ${yabai} -m window --space 2
|
|
||||||
cmd + shift - 3 : ${yabai} -m window --space 3
|
|
||||||
# cmd + shift - 4 : ${yabai} -m window --space 4
|
|
||||||
cmd + shift - 5 : ${yabai} -m window --space 5
|
|
||||||
cmd + shift - 6 : ${yabai} -m window --space 6
|
|
||||||
cmd + shift - 7 : ${yabai} -m window --space 7
|
|
||||||
cmd + shift - 8 : ${yabai} -m window --space 8
|
|
||||||
cmd + shift - 9 : ${yabai} -m window --space 9
|
|
||||||
cmd + shift - 0x32 : ${yabai} -m window --toggle native-fullscreen
|
|
||||||
|
|
||||||
# cmd + alt - 4 : "cmd + shift - 4"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
home-manager.sharedModules = [
|
|
||||||
{
|
|
||||||
home.file.".config/yabai/yabaiExe".source = lib.getExe pkgs.yabai;
|
|
||||||
home.packages = with pkgs; [ yabai ];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
security.pam.enableSudoTouchIdAuth = true;
|
|
||||||
|
|
||||||
users.users.zynh = {
|
|
||||||
name = "zynh";
|
|
||||||
home = "/Users/zynh";
|
|
||||||
};
|
|
||||||
|
|
||||||
home-manager = {
|
|
||||||
users = { "zynh" = import ./home.nix; };
|
|
||||||
backupFileExtension = "backup";
|
|
||||||
};
|
|
||||||
|
|
||||||
fonts.packages = with pkgs; [
|
|
||||||
nerd-fonts.jetbrains-mono
|
|
||||||
];
|
|
||||||
|
|
||||||
# Set Git commit hash for darwin-version.
|
|
||||||
system.configurationRevision = self.rev or self.dirtyRev or null;
|
|
||||||
# $ darwin-rebuild changelog
|
|
||||||
system.stateVersion = 5;
|
|
||||||
}
|
|
|
@ -1,84 +0,0 @@
|
||||||
{ pkgs, lib, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
../../home/modules
|
|
||||||
];
|
|
||||||
|
|
||||||
snowhawk = {
|
|
||||||
alacritty.enable = false;
|
|
||||||
kitty.enable = true;
|
|
||||||
macos.enable = true;
|
|
||||||
sources.enable = true;
|
|
||||||
projects.enable = true;
|
|
||||||
ssh = {
|
|
||||||
enable = true;
|
|
||||||
homeNetwork = true;
|
|
||||||
};
|
|
||||||
neovim.enable = true;
|
|
||||||
sops.enable = true;
|
|
||||||
direnv.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# nixpkgs.overlays = [
|
|
||||||
# (final: prev: {
|
|
||||||
# tmux = prev.tmux.overrideAttrs (old: rec {
|
|
||||||
# version = "3.5";
|
|
||||||
# src = prev.fetchFromGitHub {
|
|
||||||
# owner = "tmux";
|
|
||||||
# repo = "tmux";
|
|
||||||
# rev = version;
|
|
||||||
# hash = "sha256-8CRZj7UyBhuB5QO27Y+tHG62S/eGxPOHWrwvh1aBqq0=";
|
|
||||||
# };
|
|
||||||
# });
|
|
||||||
# })
|
|
||||||
# ];
|
|
||||||
|
|
||||||
# programs.tmux.extraConfig = ''
|
|
||||||
# set -gu default-command
|
|
||||||
# set -g default-shell "$SHELL"
|
|
||||||
# '';
|
|
||||||
|
|
||||||
snowhawk.tmux.sessionizer.paths = [
|
|
||||||
"~/Documents/obsidian"
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.kitty.settings = {
|
|
||||||
background_opacity = lib.mkForce 0.94;
|
|
||||||
background = lib.mkForce "#171717";
|
|
||||||
font_size = lib.mkForce 16.0;
|
|
||||||
hide_window_decorations = lib.mkForce "titlebar-only";
|
|
||||||
macos_option_as_alt = lib.mkForce "both";
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.alacritty.settings = {
|
|
||||||
font.size = lib.mkForce 16.0;
|
|
||||||
window.opacity = lib.mkForce 0.94;
|
|
||||||
colors.primary.background = lib.mkForce "#171717";
|
|
||||||
};
|
|
||||||
|
|
||||||
home.username = "zynh";
|
|
||||||
home.homeDirectory = "/Users/zynh";
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
nix-output-monitor
|
|
||||||
(writeShellScriptBin "rebuild" ''
|
|
||||||
darwin-rebuild switch --flake ~/nixos#lynx |& nom
|
|
||||||
'')
|
|
||||||
|
|
||||||
(writeShellScriptBin "restart-skhd" ''
|
|
||||||
launchctl stop org.nixos.skhd
|
|
||||||
launchctl start org.nixos.skhd
|
|
||||||
'')
|
|
||||||
|
|
||||||
wakeonlan
|
|
||||||
|
|
||||||
go
|
|
||||||
rustup
|
|
||||||
fzf
|
|
||||||
];
|
|
||||||
|
|
||||||
# Let Home Manager install and manage itself.
|
|
||||||
programs.home-manager.enable = true;
|
|
||||||
home.stateVersion = "23.11";
|
|
||||||
}
|
|
|
@ -1,39 +0,0 @@
|
||||||
{ pkgs, inputs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
../../home/modules
|
|
||||||
];
|
|
||||||
|
|
||||||
nix = {
|
|
||||||
package = pkgs.nix;
|
|
||||||
settings = {
|
|
||||||
auto-optimise-store = true;
|
|
||||||
experimental-features = [ "nix-command" "flakes" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
snowhawk.neovim = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
snowhawk.ssh.enable = true;
|
|
||||||
snowhawk.sops.enable = true;
|
|
||||||
|
|
||||||
snowhawk.user.username = "zynh";
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
nix-output-monitor
|
|
||||||
(writeShellScriptBin "rebuild" ''
|
|
||||||
home-manager switch -v |& nom
|
|
||||||
'')
|
|
||||||
|
|
||||||
pkgs.nix
|
|
||||||
|
|
||||||
go
|
|
||||||
wakeonlan
|
|
||||||
];
|
|
||||||
|
|
||||||
# Let Home Manager install and manage itself.
|
|
||||||
programs.home-manager.enable = true;
|
|
||||||
home.stateVersion = "23.11";
|
|
||||||
}
|
|
|
@ -1,118 +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.home-manager.nixosModules.default
|
|
||||||
../../modules
|
|
||||||
|
|
||||||
# Default specialisation
|
|
||||||
({ lib, config, ... }: {
|
|
||||||
config = lib.mkIf (config.specialisation != { }) {
|
|
||||||
snowhawk.dwm.enable = true;
|
|
||||||
|
|
||||||
home-manager.sharedModules = [{ snowhawk.dunst.enable = lib.mkDefault true; }];
|
|
||||||
};
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
specialisation =
|
|
||||||
let
|
|
||||||
nvkConfig = {
|
|
||||||
system.nixos.tags = [ "nouveau-drivers" ];
|
|
||||||
boot.kernelParams = [ "nouveau.config=NvGspRm=1" ];
|
|
||||||
services.xserver.videoDrivers = (lib.lists.remove "nvidia" config.services.xserver.videoDrivers);
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
# dwmNVK.configuration = {
|
|
||||||
# snowhawk.dwm.enable = true;
|
|
||||||
#
|
|
||||||
# home-manager.sharedModules = [{ snowhawk.dunst.enable = lib.mkDefault true; }];
|
|
||||||
# } // nvkConfig;
|
|
||||||
#
|
|
||||||
dwl.configuration = {
|
|
||||||
snowhawk.dwl.enable = true;
|
|
||||||
|
|
||||||
home-manager.sharedModules = [{ snowhawk.dunst.enable = lib.mkDefault true; }];
|
|
||||||
};
|
|
||||||
# dwlNVK.configuration = {
|
|
||||||
# snowhawk.dwl.enable = true;
|
|
||||||
#
|
|
||||||
# home-manager.sharedModules = [{ snowhawk.dunst.enable = lib.mkDefault true; }];
|
|
||||||
# } // nvkConfig;
|
|
||||||
};
|
|
||||||
|
|
||||||
snowhawk = {
|
|
||||||
filesystem.enable = true;
|
|
||||||
plymouth.enable = true;
|
|
||||||
polkit.enable = true;
|
|
||||||
syncthing.enable = true;
|
|
||||||
user.enable = true;
|
|
||||||
wake-on-lan.enable = true;
|
|
||||||
star-citizen.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable automatic login for the user.
|
|
||||||
services.displayManager.autoLogin = {
|
|
||||||
enable = true;
|
|
||||||
user = "ravenshade";
|
|
||||||
};
|
|
||||||
|
|
||||||
documentation = {
|
|
||||||
enable = true;
|
|
||||||
dev.enable = true;
|
|
||||||
man.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
home-manager = {
|
|
||||||
users = { "ravenshade" = import ./home.nix; };
|
|
||||||
backupFileExtension = "backup";
|
|
||||||
useGlobalPkgs = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
neovim
|
|
||||||
curl
|
|
||||||
git
|
|
||||||
killall
|
|
||||||
|
|
||||||
linux-manual
|
|
||||||
];
|
|
||||||
|
|
||||||
fonts.packages = with pkgs; [
|
|
||||||
nerd-fonts.jetbrains-mono
|
|
||||||
];
|
|
||||||
|
|
||||||
# Enable CUPS to print documents.
|
|
||||||
services.printing.enable = true;
|
|
||||||
|
|
||||||
hardware.keyboard.uhk.enable = true;
|
|
||||||
|
|
||||||
swapDevices = [{
|
|
||||||
device = "/swap";
|
|
||||||
size = 16 * 1024;
|
|
||||||
}];
|
|
||||||
|
|
||||||
# Also recommended, either as an alternative or in addition
|
|
||||||
zramSwap.enable = true;
|
|
||||||
|
|
||||||
virtualisation = {
|
|
||||||
libvirtd.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.virt-manager.enable = true;
|
|
||||||
|
|
||||||
# I think I need a gtk theme? gnome-keyring
|
|
||||||
qt.platformTheme = "gtk2";
|
|
||||||
|
|
||||||
# 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?
|
|
||||||
}
|
|
|
@ -1,40 +1,5 @@
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
let
|
|
||||||
default-monitors = pkgs.writeXrandrScriptBin "default-monitors" {
|
|
||||||
DP-0 = {
|
|
||||||
primary = true;
|
|
||||||
mode = "1920x1080";
|
|
||||||
pos = "1920x0";
|
|
||||||
rotate = "normal";
|
|
||||||
};
|
|
||||||
HDMI-0 = {
|
|
||||||
mode = "1920x1080";
|
|
||||||
pos = "0x0";
|
|
||||||
rotate = "normal";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
tv-on = pkgs.writeXrandrScriptBin "tv-on" {
|
|
||||||
DP-0 = {
|
|
||||||
primary = true;
|
|
||||||
mode = "1920x1080";
|
|
||||||
pos = "1920x1080";
|
|
||||||
rotate = "normal";
|
|
||||||
};
|
|
||||||
HDMI-0 = {
|
|
||||||
mode = "1920x1080";
|
|
||||||
pos = "0x1080";
|
|
||||||
rotate = "normal";
|
|
||||||
};
|
|
||||||
HDMI-1 = {
|
|
||||||
mode = "1920x1080";
|
|
||||||
pos = "1920x0";
|
|
||||||
rotate = "normal";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
|
|
||||||
|
@ -43,112 +8,20 @@ in
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" =
|
||||||
device = "/dev/disk/by-uuid/8c377115-06bb-488e-a531-c668dac127f6";
|
{
|
||||||
fsType = "ext4";
|
device = "/dev/disk/by-uuid/8c377115-06bb-488e-a531-c668dac127f6";
|
||||||
};
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
fileSystems."/boot" = {
|
fileSystems."/boot" =
|
||||||
device = "/dev/disk/by-uuid/0499-9841";
|
{
|
||||||
fsType = "vfat";
|
device = "/dev/disk/by-uuid/1A0A-CEB2";
|
||||||
};
|
fsType = "vfat";
|
||||||
|
};
|
||||||
fileSystems."/data" = {
|
|
||||||
device = "/dev/disk/by-uuid/00a7093a-49ee-41e4-baec-99d8a322a530";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/home/ravenshade" = {
|
|
||||||
device = "/dev/disk/by-uuid/9451621e-00ce-4ea3-99b7-8f2753e51665";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/archive" = {
|
|
||||||
device = "/dev/disk/by-uuid/d5a23b72-9982-49ab-a3a6-c297c0537cba";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable OpenGL
|
|
||||||
hardware.graphics = {
|
|
||||||
enable = true;
|
|
||||||
enable32Bit = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Load nvidia driver for Xorg and Wayland
|
|
||||||
services.xserver.videoDrivers = lib.mkDefault [ "nvidia" ];
|
|
||||||
services.xserver.dpi = lib.mkDefault 96;
|
|
||||||
|
|
||||||
environment.systemPackages = [
|
|
||||||
default-monitors
|
|
||||||
tv-on
|
|
||||||
];
|
|
||||||
|
|
||||||
systemd.user.services.screenlayout = {
|
|
||||||
script = lib.getExe default-monitors;
|
|
||||||
wantedBy = [ "graphical-session.target" ];
|
|
||||||
partOf = [ "graphical-session.target" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
hardware.nvidia = {
|
|
||||||
|
|
||||||
# Modesetting is required.
|
|
||||||
modesetting.enable = true;
|
|
||||||
|
|
||||||
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
|
|
||||||
# Enable this if you have graphical corruption issues or application crashes after waking
|
|
||||||
# up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead
|
|
||||||
# of just the bare essentials.
|
|
||||||
powerManagement.enable = true;
|
|
||||||
|
|
||||||
# Fine-grained power management. Turns off GPU when not in use.
|
|
||||||
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
|
|
||||||
powerManagement.finegrained = false;
|
|
||||||
|
|
||||||
# Use the NVidia open source kernel module (not to be confused with the
|
|
||||||
# independent third-party "nouveau" open source driver).
|
|
||||||
# Support is limited to the Turing and later architectures. Full list of
|
|
||||||
# supported GPUs is at:
|
|
||||||
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
|
|
||||||
# Only available from driver 515.43.04+
|
|
||||||
# Currently alpha-quality/buggy, so false is currently the recommended setting.
|
|
||||||
open = true;
|
|
||||||
|
|
||||||
# Enable the Nvidia settings menu,
|
|
||||||
# accessible via `nvidia-settings`.
|
|
||||||
nvidiaSettings = true;
|
|
||||||
|
|
||||||
forceFullCompositionPipeline = true;
|
|
||||||
|
|
||||||
# Optionally, you may need to select the appropriate driver version for your specific GPU.
|
|
||||||
package = config.boot.kernelPackages.nvidiaPackages.beta;
|
|
||||||
};
|
|
||||||
|
|
||||||
hardware.bluetooth.enable = true;
|
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [ ];
|
||||||
|
|
||||||
# Bootloader.
|
|
||||||
boot.loader.grub = {
|
|
||||||
enable = true;
|
|
||||||
efiSupport = true;
|
|
||||||
device = "nodev";
|
|
||||||
theme = pkgs.rose-pine-grub;
|
|
||||||
|
|
||||||
extraEntries = ''
|
|
||||||
menuentry 'Windows Boot Manager (on /dev/nvme0n1p1)' --class windows --class os {
|
|
||||||
insmod part_gpt
|
|
||||||
insmod fat
|
|
||||||
search --no-floppy --fs-uuid --set=root 1A0A-CEB2
|
|
||||||
chainloader /efi/Microsoft/Boot/bootmgfw.efi
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
|
||||||
|
|
||||||
# Enable networking
|
|
||||||
networking.networkmanager.enable = true;
|
|
||||||
|
|
||||||
networking.hostName = "snowhawk";
|
networking.hostName = "snowhawk";
|
||||||
# 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
|
||||||
|
|
|
@ -1,150 +0,0 @@
|
||||||
{ pkgs, config, lib, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
../../home/modules
|
|
||||||
];
|
|
||||||
|
|
||||||
snowhawk = {
|
|
||||||
# Desktop
|
|
||||||
firefox.enable = true;
|
|
||||||
dunst.enable = true;
|
|
||||||
theme.enable = true;
|
|
||||||
redshift.enable = true;
|
|
||||||
flameshot.enable = true;
|
|
||||||
playerctl.enable = true;
|
|
||||||
kitty.enable = true;
|
|
||||||
defaultPrograms.enable = true;
|
|
||||||
pipewire-controller.enable = true;
|
|
||||||
|
|
||||||
# Games
|
|
||||||
lutris.enable = true;
|
|
||||||
xivlauncher.enable = true;
|
|
||||||
|
|
||||||
# Term Tools
|
|
||||||
neovim.enable = true;
|
|
||||||
tldr.enable = true;
|
|
||||||
|
|
||||||
# Dev
|
|
||||||
rust.enable = true;
|
|
||||||
projects.enable = true;
|
|
||||||
sources.enable = true;
|
|
||||||
|
|
||||||
# Security
|
|
||||||
sops.enable = true;
|
|
||||||
rbw.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
sops.secrets."app_urls/nh_slack" = { };
|
|
||||||
snowhawk.brave-apps = {
|
|
||||||
enable = true;
|
|
||||||
apps = {
|
|
||||||
github.url = "https://github.com";
|
|
||||||
zgit.url = "https://git.zynh.me";
|
|
||||||
gmail.url = "https://mail.google.com/mail/u/0";
|
|
||||||
calendar.url = "https://calendar.google.com/calendar/u/0/r";
|
|
||||||
slack_nh.urlFile = config.sops.secrets."app_urls/nh_slack".path;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
snowhawk.ssh = {
|
|
||||||
enable = true;
|
|
||||||
homeNetwork = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
repo-clone.repos = {
|
|
||||||
"${config.home.homeDirectory}/Pictures/backgrounds".url = lib.zgitRepo "backgrounds";
|
|
||||||
};
|
|
||||||
|
|
||||||
snowhawk.tmux.sessionizer.paths = [
|
|
||||||
"~/obsidian"
|
|
||||||
];
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
# (writeShellScriptBin "battlenet" ''
|
|
||||||
# export WINEARCH=win64
|
|
||||||
# export WINEPREFIX=$HOME/.wine-battlenet
|
|
||||||
# wine64 ~/.wine-battlenet/drive_c/Program\ Files\ \(x86\)/Battle.net/Battle.net\ Launcher.exe
|
|
||||||
# '')
|
|
||||||
(wineWowPackages.full.override {
|
|
||||||
wineRelease = "staging";
|
|
||||||
mingwSupport = true;
|
|
||||||
})
|
|
||||||
winetricks
|
|
||||||
r2modman
|
|
||||||
|
|
||||||
wowup-cf
|
|
||||||
|
|
||||||
(writeShellScriptBin "fix-desktop" ''
|
|
||||||
systemctl --user restart xrootdatetime.service
|
|
||||||
systemctl --user restart fehbg.service
|
|
||||||
'')
|
|
||||||
|
|
||||||
ripgrep
|
|
||||||
unzip
|
|
||||||
fzf
|
|
||||||
tree
|
|
||||||
|
|
||||||
gparted
|
|
||||||
arandr
|
|
||||||
|
|
||||||
bear
|
|
||||||
|
|
||||||
spotify
|
|
||||||
vesktop
|
|
||||||
(writeShellScriptBin "discord" ''
|
|
||||||
${lib.getExe vesktop} $@
|
|
||||||
'')
|
|
||||||
|
|
||||||
steam-run
|
|
||||||
brave
|
|
||||||
|
|
||||||
nix-output-monitor
|
|
||||||
(writeShellScriptBin "rebuild" ''
|
|
||||||
nixos-rebuild switch --log-format internal-json -v $@ |& nom --json
|
|
||||||
'')
|
|
||||||
|
|
||||||
(writeShellScriptBin "suspend" ''
|
|
||||||
systemctl suspend
|
|
||||||
'')
|
|
||||||
|
|
||||||
(writeShellScriptBin "reboot-windows" ''
|
|
||||||
sudo ${pkgs.grub2}/bin/grub-reboot "Windows Boot Manager (on /dev/nvme0n1p1)"
|
|
||||||
sudo reboot
|
|
||||||
'')
|
|
||||||
|
|
||||||
feh
|
|
||||||
imagemagick
|
|
||||||
uhk-agent
|
|
||||||
pulsemixer
|
|
||||||
|
|
||||||
obsidian
|
|
||||||
steam
|
|
||||||
|
|
||||||
# Build Tools
|
|
||||||
gnumake
|
|
||||||
zig
|
|
||||||
gcc
|
|
||||||
go
|
|
||||||
python3
|
|
||||||
nodejs_22
|
|
||||||
dotnet-sdk_8
|
|
||||||
|
|
||||||
qdirstat
|
|
||||||
|
|
||||||
pcmanfm
|
|
||||||
geeqie
|
|
||||||
|
|
||||||
jq
|
|
||||||
|
|
||||||
eww
|
|
||||||
dwm-msg
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.nix-index.enable = true;
|
|
||||||
|
|
||||||
# Let Home Manager install and manage itself.
|
|
||||||
programs.home-manager.enable = true;
|
|
||||||
home.stateVersion = "23.11";
|
|
||||||
}
|
|
||||||
|
|
34
hosts/sprite/hardware-configuration.nix
Normal file
34
hosts/sprite/hardware-configuration.nix
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "xhci_pci" "virtio_pci" "usbhid" "usb_storage" "sr_mod" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{
|
||||||
|
device = "/dev/disk/by-uuid/fa4ed906-f26b-40ec-859c-81813151c33a";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{
|
||||||
|
device = "/dev/disk/by-uuid/31B8-8850";
|
||||||
|
fsType = "vfat";
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
networking.hostName = "sprite";
|
||||||
|
# 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.enp0s1.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux";
|
||||||
|
}
|
|
@ -1,40 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
../../home/modules
|
|
||||||
];
|
|
||||||
|
|
||||||
nix = {
|
|
||||||
package = pkgs.nix;
|
|
||||||
settings = {
|
|
||||||
auto-optimise-store = true;
|
|
||||||
experimental-features = [ "nix-command" "flakes" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
snowhawk.neovim = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
snowhawk.ssh.enable = true;
|
|
||||||
snowhawk.sops.enable = true;
|
|
||||||
snowhawk.repo-clone.enable = true;
|
|
||||||
|
|
||||||
snowhawk.user.username = "ravenshade";
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
nix-output-monitor
|
|
||||||
(writeShellScriptBin "rebuild" ''
|
|
||||||
home-manager switch --flake /home/ravenshade/.config/home-manager#ravenshade@virtmsi |& nom
|
|
||||||
'')
|
|
||||||
|
|
||||||
pkgs.nix
|
|
||||||
|
|
||||||
go
|
|
||||||
wakeonlan
|
|
||||||
];
|
|
||||||
|
|
||||||
# Let Home Manager install and manage itself.
|
|
||||||
programs.home-manager.enable = true;
|
|
||||||
home.stateVersion = "23.11";
|
|
||||||
}
|
|
|
@ -1,25 +0,0 @@
|
||||||
final: prev:
|
|
||||||
let
|
|
||||||
inherit (prev) isFunction mkMerge mkIf;
|
|
||||||
in
|
|
||||||
rec {
|
|
||||||
# Ternary operator
|
|
||||||
# Exaample:
|
|
||||||
# tern false 1 2 => 2
|
|
||||||
# tern true 1 2 => 1
|
|
||||||
tern = pred: x: y: if pred then x else y;
|
|
||||||
|
|
||||||
# Right-associate and chain following single-operand functions
|
|
||||||
# Example:
|
|
||||||
# right f g h 1 => f(g(h(1)))
|
|
||||||
right = f: g: tern (isFunction g)
|
|
||||||
(right (x: f (g (x))))
|
|
||||||
(f (g));
|
|
||||||
|
|
||||||
mkIfElse = predicate: yes: no: mkMerge [
|
|
||||||
(mkIf predicate yes)
|
|
||||||
(mkIf (!predicate) no)
|
|
||||||
];
|
|
||||||
|
|
||||||
zgitRepo = name: "https://git.zynh.me/Zynh0722/${name}.git";
|
|
||||||
}
|
|
|
@ -1,24 +0,0 @@
|
||||||
{ lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.audio;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.audio = {
|
|
||||||
enable = lib.mkEnableOption "audio";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
# Enable sound with pipewire.
|
|
||||||
hardware.pulseaudio.enable = false;
|
|
||||||
hardware.pulseaudio.extraModules = [ pkgs.pulseaudio-modules-bt ];
|
|
||||||
security.rtkit.enable = true;
|
|
||||||
services.pipewire = {
|
|
||||||
enable = true;
|
|
||||||
alsa.enable = true;
|
|
||||||
alsa.support32Bit = true;
|
|
||||||
pulse.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
{ lib, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
dirEntries = builtins.removeAttrs (builtins.readDir ./.) [ "default.nix" ];
|
|
||||||
moduleEntries = lib.attrsets.filterAttrs (n: v: v == "regular") dirEntries;
|
|
||||||
moduleNames = builtins.attrNames moduleEntries;
|
|
||||||
|
|
||||||
modulePaths = builtins.map (name: ./${name}) moduleNames;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
imports = modulePaths;
|
|
||||||
|
|
||||||
snowhawk.i18n.enable = lib.mkDefault true;
|
|
||||||
snowhawk.audio.enable = lib.mkDefault true;
|
|
||||||
snowhawk.env.enable = lib.mkDefault true;
|
|
||||||
snowhawk.network.enable = lib.mkDefault true;
|
|
||||||
snowhawk.sops.enable = lib.mkDefault true;
|
|
||||||
snowhawk.power-button.enable = lib.mkDefault true;
|
|
||||||
}
|
|
|
@ -1,70 +0,0 @@
|
||||||
{ lib, config, pkgs, inputs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.dwl;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.dwl = {
|
|
||||||
enable = lib.mkEnableOption "dwl";
|
|
||||||
|
|
||||||
package = lib.mkOption {
|
|
||||||
type = with lib.types; package;
|
|
||||||
default = inputs.zdwl.packages."x86_64-linux".default;
|
|
||||||
apply = p: p.overrideAttrs {
|
|
||||||
postInstall = ''
|
|
||||||
mkdir -p $out/share/wayland-sessions
|
|
||||||
install $src/dwl.desktop -Dt $out/share/wayland-sessions
|
|
||||||
'';
|
|
||||||
passthru.providedSessions = [ "dwl" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
services.graphical-desktop.enable = lib.mkDefault true;
|
|
||||||
|
|
||||||
services.displayManager = {
|
|
||||||
enable = true;
|
|
||||||
sessionPackages = [ cfg.package ];
|
|
||||||
defaultSession = "dwl";
|
|
||||||
# TODO: greetd?
|
|
||||||
sddm = {
|
|
||||||
enable = lib.mkDefault true;
|
|
||||||
wayland.enable = lib.mkDefault true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
security = {
|
|
||||||
polkit.enable = lib.mkDefault true;
|
|
||||||
# Uncomment to make swaylock work
|
|
||||||
# pam.services.swaylock = { };
|
|
||||||
};
|
|
||||||
|
|
||||||
# environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
|
||||||
|
|
||||||
programs = {
|
|
||||||
dconf.enable = lib.mkDefault true;
|
|
||||||
xwayland.enable = lib.mkDefault true;
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg.portal.wlr.enable = lib.mkDefault true;
|
|
||||||
xdg.portal.extraPortals = [
|
|
||||||
pkgs.xdg-desktop-portal-gtk
|
|
||||||
pkgs.xdg-desktop-portal-wlr
|
|
||||||
];
|
|
||||||
|
|
||||||
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1050913
|
|
||||||
xdg.portal.config.dwl.default = lib.mkDefault [ "wlr" "gtk" ];
|
|
||||||
|
|
||||||
services.xserver.desktopManager.runXdgAutostartIfNone = lib.mkDefault true;
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
(flameshot.override { enableWlrSupport = true; })
|
|
||||||
|
|
||||||
wl-clipboard
|
|
||||||
wmenu
|
|
||||||
kitty
|
|
||||||
cfg.package
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,94 +0,0 @@
|
||||||
{ lib, config, pkgs, inputs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
inherit (lib) getExe;
|
|
||||||
|
|
||||||
cfg = config.snowhawk.dwm;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.dwm = {
|
|
||||||
enable = lib.mkEnableOption "dwm";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
# Enable the X11 windowing system.
|
|
||||||
services.xserver.enable = true;
|
|
||||||
|
|
||||||
# Configure keymap in X11
|
|
||||||
services.xserver = {
|
|
||||||
xkb = {
|
|
||||||
layout = "us";
|
|
||||||
variant = "";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services.xserver.windowManager.dwm = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.dwm.overrideAttrs (oldAttrs: {
|
|
||||||
src = inputs.zdwm;
|
|
||||||
buildInputs = oldAttrs.buildInputs ++ [ pkgs.yajl ];
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
services.picom = {
|
|
||||||
enable = true;
|
|
||||||
fade = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.user.services.xrootdatetime = {
|
|
||||||
script =
|
|
||||||
let
|
|
||||||
pamixer = getExe pkgs.pamixer;
|
|
||||||
xsetroot = getExe pkgs.xorg.xsetroot;
|
|
||||||
in
|
|
||||||
/* bash */ ''
|
|
||||||
function update_x_root() {
|
|
||||||
set +e # allow errors
|
|
||||||
mute="$(${pamixer} --default-source --get-mute)"
|
|
||||||
set -e # disallow errors
|
|
||||||
|
|
||||||
if [[ "$mute" == "true" ]]; then
|
|
||||||
mutedString="Mic Muted "
|
|
||||||
else
|
|
||||||
mutedString=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
dateTime=$(date +"<-- %A, %B %d -- %H:%M -->")
|
|
||||||
${xsetroot} -name "$mutedString$dateTime"
|
|
||||||
}
|
|
||||||
|
|
||||||
trap update_x_root SIGUSR1
|
|
||||||
|
|
||||||
while true; do
|
|
||||||
sleep 1 &
|
|
||||||
wait
|
|
||||||
update_x_root
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
wantedBy = [ "graphical-session.target" ];
|
|
||||||
after = [ "pipewire.service" ];
|
|
||||||
serviceConfig.Restart = "on-failure";
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.user.services.fehbg = {
|
|
||||||
script = ''
|
|
||||||
${getExe pkgs.feh} --no-fehbg --bg-scale '${inputs.backgrounds}/bg-none-nord.webp'
|
|
||||||
'';
|
|
||||||
wantedBy = [ "graphical-session.target" ];
|
|
||||||
partOf = [ "graphical-session.target" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.variables.FREETYPE_PROPERTIES = "cff:no-stem-darkening=0 autofitter:no-stem-darkening=0";
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
dmenu
|
|
||||||
xclip
|
|
||||||
flameshot
|
|
||||||
];
|
|
||||||
|
|
||||||
home-manager.sharedModules = [
|
|
||||||
./home/dwm.nix
|
|
||||||
{ snowhawk.dwm.enable = lib.mkDefault true; }
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,17 +0,0 @@
|
||||||
{ lib, config, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.env;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.env = {
|
|
||||||
enable = lib.mkEnableOption "env";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
nix.settings = {
|
|
||||||
experimental-features = [ "nix-command" "flakes" ];
|
|
||||||
auto-optimise-store = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,26 +0,0 @@
|
||||||
{ config, lib, ... }:
|
|
||||||
|
|
||||||
# This module provides some filesystem functionality I expect to work out of the box
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.filesystem;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.filesystem = {
|
|
||||||
enable = lib.mkEnableOption "filesystem nixos module";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
# Building nixos without this uses a ton of disk
|
|
||||||
# Needs to be disabled on low memory systems
|
|
||||||
boot.tmp.useTmpfs = true;
|
|
||||||
|
|
||||||
# This makes shebangs work
|
|
||||||
services.envfs.enable = true;
|
|
||||||
|
|
||||||
# So many things break without this
|
|
||||||
programs.dconf.enable = true;
|
|
||||||
|
|
||||||
# Enable trash:/// support
|
|
||||||
services.gvfs.enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,25 +0,0 @@
|
||||||
# Yoink https://github.com/thomX75/nixos-modules/blob/56fd73011f022e7c85bd7a40812663c5933106f9/Glib-Schemas-Fix/glib-schemas-fix.nix
|
|
||||||
|
|
||||||
# Glib Schemas Fix
|
|
||||||
# https://github.com/thomX75/nixos-modules
|
|
||||||
|
|
||||||
{ config, pkgs, lib, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
inherit (lib) mkIf mkEnableOption;
|
|
||||||
|
|
||||||
cfg = config.snowhawk.glib-schemas-fix;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.glib-schemas-fix = {
|
|
||||||
enable = mkEnableOption "glib-schemas-fix nixos module";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
environment.systemPackages = with pkgs; [ gtk3 ];
|
|
||||||
|
|
||||||
environment.variables = {
|
|
||||||
GSETTINGS_SCHEMA_DIR = "${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}/glib-2.0/schemas";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,45 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
inherit (lib) mkIf mkEnableOption;
|
|
||||||
cfg = config.snowhawk.dwm;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.dwm = {
|
|
||||||
enable = mkEnableOption "niri home-manager module";
|
|
||||||
|
|
||||||
useXFixes = mkEnableOption "using unclutter-xfixes instead of unclutter";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
# WM Stuff
|
|
||||||
xsession.numlock.enable = true;
|
|
||||||
|
|
||||||
services.unclutter = {
|
|
||||||
enable = true;
|
|
||||||
package = if cfg.useXFixes then pkgs.unclutter-xfixes else pkgs.unclutter;
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.user.services.unclutter.Service.ExecStart =
|
|
||||||
let cfg = config.services.unclutter;
|
|
||||||
in lib.mkForce ''
|
|
||||||
${cfg.package}/bin/unclutter \
|
|
||||||
--timeout ${toString cfg.timeout} \
|
|
||||||
--jitter ${toString (cfg.threshold - 1)} \
|
|
||||||
${lib.concatStrings cfg.extraOptions}
|
|
||||||
'';
|
|
||||||
|
|
||||||
home.file.".xinitrc".text = ''
|
|
||||||
[ -f ~/.Xresources ] && ${lib.getExe pkgs.xorg.xrdb} -merge ~/.Xresources
|
|
||||||
'';
|
|
||||||
|
|
||||||
xresources.properties = {
|
|
||||||
"Xft.lcdfilter" = "lcddefault";
|
|
||||||
"Xft.hintstyle" = "hintslight";
|
|
||||||
"Xft.hinting" = "1";
|
|
||||||
"Xft.antialias" = "1";
|
|
||||||
"Xft.rgba" = "none";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,263 +0,0 @@
|
||||||
{ config, lib, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
inherit (lib) mkIf mkEnableOption;
|
|
||||||
cfg = config.snowhawk.niri;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.niri = {
|
|
||||||
enable = mkEnableOption "niri home-manager module";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
programs.niri.settings = {
|
|
||||||
environment = {
|
|
||||||
DISPLAY = ":0";
|
|
||||||
};
|
|
||||||
|
|
||||||
binds = {
|
|
||||||
# Keys consist of modifiers separated by + signs, followed by an XKB key name
|
|
||||||
# in the end. To find an XKB name for a particular key, you may use a program
|
|
||||||
# like wev.
|
|
||||||
#
|
|
||||||
# "Mod" is a special modifier equal to Super when running on a TTY, and to Alt
|
|
||||||
# when running as a winit window.
|
|
||||||
#
|
|
||||||
# Most actions that you can bind here can also be invoked programmatically with
|
|
||||||
# `niri msg action do-something`.
|
|
||||||
|
|
||||||
# Mod-Shift-/, which is usually the same as Mod-?,
|
|
||||||
# shows a list of important hotkeys.
|
|
||||||
"Mod+Shift+Slash".action.show-hotkey-overlay = { };
|
|
||||||
|
|
||||||
# Suggested binds for running programs: terminal, app launcher, screen locker.
|
|
||||||
"Mod+T".action.spawn = "alacritty";
|
|
||||||
"Mod+D".action.spawn = "fuzzel";
|
|
||||||
"Super+Alt+L".action.spawn = "swaylock";
|
|
||||||
|
|
||||||
# You can also use a shell. Do this if you need pipes, multiple commands, etc.
|
|
||||||
# Note: the entire command goes as a single argument in the end.
|
|
||||||
# Mod+T { spawn "bash" "-c" "notify-send hello && exec alacritty"; }
|
|
||||||
|
|
||||||
# Example volume keys mappings for PipeWire & WirePlumber.
|
|
||||||
# The allow-when-locked=true property makes them work even when the session is locked.
|
|
||||||
"XF86AudioRaiseVolume" = {
|
|
||||||
allow-when-locked = true;
|
|
||||||
action.spawn = [ "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+" ];
|
|
||||||
};
|
|
||||||
"XF86AudioLowerVolume" = {
|
|
||||||
allow-when-locked = true;
|
|
||||||
action.spawn = [ "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-" ];
|
|
||||||
};
|
|
||||||
"XF86AudioMute" = {
|
|
||||||
allow-when-locked = true;
|
|
||||||
action.spawn = [ "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle" ];
|
|
||||||
};
|
|
||||||
"XF86AudioMicMute" = {
|
|
||||||
allow-when-locked = true;
|
|
||||||
action.spawn = [ "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
"Mod+Q".action.close-window = { };
|
|
||||||
|
|
||||||
"Mod+Left".action.focus-column-left = { };
|
|
||||||
"Mod+Down".action.focus-window-down = { };
|
|
||||||
"Mod+Up".action.focus-window-up = { };
|
|
||||||
"Mod+Right".action.focus-column-right = { };
|
|
||||||
"Mod+H".action.focus-column-left = { };
|
|
||||||
"Mod+J".action.focus-window-down = { };
|
|
||||||
"Mod+K".action.focus-window-up = { };
|
|
||||||
"Mod+L".action.focus-column-right = { };
|
|
||||||
|
|
||||||
"Mod+Ctrl+Left".action.move-column-left = { };
|
|
||||||
"Mod+Ctrl+Down".action.move-window-down = { };
|
|
||||||
"Mod+Ctrl+Up".action.move-window-up = { };
|
|
||||||
"Mod+Ctrl+Right".action.move-column-right = { };
|
|
||||||
"Mod+Ctrl+H".action.move-column-left = { };
|
|
||||||
"Mod+Ctrl+J".action.move-window-down = { };
|
|
||||||
"Mod+Ctrl+K".action.move-window-up = { };
|
|
||||||
"Mod+Ctrl+L".action.move-column-right = { };
|
|
||||||
|
|
||||||
# Alternative commands that move across workspaces when reaching
|
|
||||||
# the first or last window in a column.
|
|
||||||
# Mod+J { focus-window-or-workspace-down; }
|
|
||||||
# Mod+K { focus-window-or-workspace-up; }
|
|
||||||
# Mod+Ctrl+J { move-window-down-or-to-workspace-down; }
|
|
||||||
# Mod+Ctrl+K { move-window-up-or-to-workspace-up; }
|
|
||||||
|
|
||||||
"Mod+Home".action.focus-column-first = { };
|
|
||||||
"Mod+End".action.focus-column-last = { };
|
|
||||||
"Mod+Ctrl+Home".action.move-column-to-first = { };
|
|
||||||
"Mod+Ctrl+End".action.move-column-to-last = { };
|
|
||||||
|
|
||||||
"Mod+Shift+Left".action.focus-monitor-left = { };
|
|
||||||
"Mod+Shift+Down".action.focus-monitor-down = { };
|
|
||||||
"Mod+Shift+Up".action.focus-monitor-up = { };
|
|
||||||
"Mod+Shift+Right".action.focus-monitor-right = { };
|
|
||||||
"Mod+Shift+H".action.focus-monitor-left = { };
|
|
||||||
"Mod+Shift+J".action.focus-monitor-down = { };
|
|
||||||
"Mod+Shift+K".action.focus-monitor-up = { };
|
|
||||||
"Mod+Shift+L".action.focus-monitor-right = { };
|
|
||||||
|
|
||||||
"Mod+Shift+Ctrl+Left".action.move-column-to-monitor-left = { };
|
|
||||||
"Mod+Shift+Ctrl+Down".action.move-column-to-monitor-down = { };
|
|
||||||
"Mod+Shift+Ctrl+Up".action.move-column-to-monitor-up = { };
|
|
||||||
"Mod+Shift+Ctrl+Right".action.move-column-to-monitor-right = { };
|
|
||||||
"Mod+Shift+Ctrl+H".action.move-column-to-monitor-left = { };
|
|
||||||
"Mod+Shift+Ctrl+J".action.move-column-to-monitor-down = { };
|
|
||||||
"Mod+Shift+Ctrl+K".action.move-column-to-monitor-up = { };
|
|
||||||
"Mod+Shift+Ctrl+L".action.move-column-to-monitor-right = { };
|
|
||||||
|
|
||||||
# Alternatively, there are commands to move just a single window:
|
|
||||||
# Mod+Shift+Ctrl+Left { move-window-to-monitor-left; }
|
|
||||||
# ...
|
|
||||||
|
|
||||||
# And you can also move a whole workspace to another monitor:
|
|
||||||
# Mod+Shift+Ctrl+Left { move-workspace-to-monitor-left; }
|
|
||||||
# ...
|
|
||||||
|
|
||||||
"Mod+Page_Down".action.focus-workspace-down = { };
|
|
||||||
"Mod+Page_Up".action.focus-workspace-up = { };
|
|
||||||
"Mod+U".action.focus-workspace-down = { };
|
|
||||||
"Mod+I".action.focus-workspace-up = { };
|
|
||||||
"Mod+Ctrl+Page_Down".action.move-column-to-workspace-down = { };
|
|
||||||
"Mod+Ctrl+Page_Up".action.move-column-to-workspace-up = { };
|
|
||||||
"Mod+Ctrl+U".action.move-column-to-workspace-down = { };
|
|
||||||
"Mod+Ctrl+I".action.move-column-to-workspace-up = { };
|
|
||||||
|
|
||||||
# Alternatively, there are commands to move just a single window:
|
|
||||||
# Mod+Ctrl+Page_Down { move-window-to-workspace-down; }
|
|
||||||
# ...
|
|
||||||
|
|
||||||
"Mod+Shift+Page_Down".action.move-workspace-down = { };
|
|
||||||
"Mod+Shift+Page_Up".action.move-workspace-up = { };
|
|
||||||
"Mod+Shift+U".action.move-workspace-down = { };
|
|
||||||
"Mod+Shift+I".action.move-workspace-up = { };
|
|
||||||
|
|
||||||
# You can bind mouse wheel scroll ticks using the following syntax.
|
|
||||||
# These binds will change direction based on the natural-scroll setting.
|
|
||||||
#
|
|
||||||
# To avoid scrolling through workspaces really fast, you can use
|
|
||||||
# the cooldown-ms property. The bind will be rate-limited to this value.
|
|
||||||
# You can set a cooldown on any bind, but it's most useful for the wheel.
|
|
||||||
"Mod+WheelScrollDown" = {
|
|
||||||
cooldown-ms = 150;
|
|
||||||
action.focus-workspace-down = { };
|
|
||||||
};
|
|
||||||
"Mod+WheelScrollUp" = {
|
|
||||||
cooldown-ms = 150;
|
|
||||||
action.focus-workspace-up = { };
|
|
||||||
};
|
|
||||||
"Mod+Ctrl+WheelScrollDown" = {
|
|
||||||
cooldown-ms = 150;
|
|
||||||
action.move-column-to-workspace-down = { };
|
|
||||||
};
|
|
||||||
"Mod+Ctrl+WheelScrollUp" = {
|
|
||||||
cooldown-ms = 150;
|
|
||||||
action.move-column-to-workspace-up = { };
|
|
||||||
};
|
|
||||||
|
|
||||||
"Mod+WheelScrollRight".action.focus-column-right = { };
|
|
||||||
"Mod+WheelScrollLeft".action.focus-column-left = { };
|
|
||||||
"Mod+Ctrl+WheelScrollRight".action.move-column-right = { };
|
|
||||||
"Mod+Ctrl+WheelScrollLeft".action.move-column-left = { };
|
|
||||||
|
|
||||||
# Usually scrolling up and down with Shift in applications results in
|
|
||||||
# horizontal scrolling; these binds replicate that.
|
|
||||||
"Mod+Shift+WheelScrollDown".action.focus-column-right = { };
|
|
||||||
"Mod+Shift+WheelScrollUp".action.focus-column-left = { };
|
|
||||||
"Mod+Ctrl+Shift+WheelScrollDown".action.move-column-right = { };
|
|
||||||
"Mod+Ctrl+Shift+WheelScrollUp".action.move-column-left = { };
|
|
||||||
|
|
||||||
# Similarly, you can bind touchpad scroll "ticks".
|
|
||||||
# Touchpad scrolling is continuous, so for these binds it is split into
|
|
||||||
# discrete intervals.
|
|
||||||
# These binds are also affected by touchpad's natural-scroll, so these
|
|
||||||
# example binds are "inverted", since we have natural-scroll enabled for
|
|
||||||
# touchpads by default.
|
|
||||||
# Mod+TouchpadScrollDown { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.02+"; }
|
|
||||||
# Mod+TouchpadScrollUp { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.02-"; }
|
|
||||||
|
|
||||||
# You can refer to workspaces by index. However, keep in mind that
|
|
||||||
# niri is a dynamic workspace system, so these commands are kind of
|
|
||||||
# "best effort". Trying to refer to a workspace index bigger than
|
|
||||||
# the current workspace count will instead refer to the bottommost
|
|
||||||
# (empty) workspace.
|
|
||||||
#
|
|
||||||
# For example, with 2 workspaces + 1 empty, indices 3, 4, 5 and so on
|
|
||||||
# will all refer to the 3rd workspace.
|
|
||||||
"Mod+1".action.focus-workspace = 1;
|
|
||||||
"Mod+2".action.focus-workspace = 2;
|
|
||||||
"Mod+3".action.focus-workspace = 3;
|
|
||||||
"Mod+4".action.focus-workspace = 4;
|
|
||||||
"Mod+5".action.focus-workspace = 5;
|
|
||||||
"Mod+6".action.focus-workspace = 6;
|
|
||||||
"Mod+7".action.focus-workspace = 7;
|
|
||||||
"Mod+8".action.focus-workspace = 8;
|
|
||||||
"Mod+9".action.focus-workspace = 9;
|
|
||||||
"Mod+Ctrl+1".action.move-column-to-workspace = 1;
|
|
||||||
"Mod+Ctrl+2".action.move-column-to-workspace = 2;
|
|
||||||
"Mod+Ctrl+3".action.move-column-to-workspace = 3;
|
|
||||||
"Mod+Ctrl+4".action.move-column-to-workspace = 4;
|
|
||||||
"Mod+Ctrl+5".action.move-column-to-workspace = 5;
|
|
||||||
"Mod+Ctrl+6".action.move-column-to-workspace = 6;
|
|
||||||
"Mod+Ctrl+7".action.move-column-to-workspace = 7;
|
|
||||||
"Mod+Ctrl+8".action.move-column-to-workspace = 8;
|
|
||||||
"Mod+Ctrl+9".action.move-column-to-workspace = 9;
|
|
||||||
|
|
||||||
# Alternatively, there are commands to move just a single window:
|
|
||||||
# Mod+Ctrl+1 { move-window-to-workspace 1; }
|
|
||||||
|
|
||||||
# Switches focus between the current and the previous workspace.
|
|
||||||
# Mod+Tab { focus-workspace-previous; }
|
|
||||||
|
|
||||||
"Mod+Comma".action.consume-window-into-column = { };
|
|
||||||
"Mod+Period".action.expel-window-from-column = { };
|
|
||||||
|
|
||||||
# There are also commands that consume or expel a single window to the side.
|
|
||||||
# Mod+BracketLeft { consume-or-expel-window-left; }
|
|
||||||
# Mod+BracketRight { consume-or-expel-window-right; }
|
|
||||||
|
|
||||||
"Mod+R".action.switch-preset-column-width = { };
|
|
||||||
"Mod+Shift+R".action.reset-window-height = { };
|
|
||||||
"Mod+F".action.maximize-column = { };
|
|
||||||
"Mod+Shift+F".action.fullscreen-window = { };
|
|
||||||
"Mod+C".action.center-column = { };
|
|
||||||
|
|
||||||
# Finer width adjustments.
|
|
||||||
# This command can also:
|
|
||||||
# * set width in pixels: "1000"
|
|
||||||
# * adjust width in pixels: "-5" or "+5"
|
|
||||||
# * set width as a percentage of screen width: "25%"
|
|
||||||
# * adjust width as a percentage of screen width: "-10%" or "+10%"
|
|
||||||
# Pixel sizes use logical, or scaled, pixels. I.e. on an output with scale 2.0,
|
|
||||||
# set-column-width "100" will make the column occupy 200 physical screen pixels.
|
|
||||||
"Mod+Minus".action.set-column-width = "-10%";
|
|
||||||
"Mod+Equal".action.set-column-width = "+10%";
|
|
||||||
|
|
||||||
# Finer height adjustments when in column with other windows.
|
|
||||||
"Mod+Shift+Minus".action.set-window-height = "-10%";
|
|
||||||
"Mod+Shift+Equal".action.set-window-height = "+10%";
|
|
||||||
|
|
||||||
# Actions to switch layouts.
|
|
||||||
# Note: if you uncomment these, make sure you do NOT have
|
|
||||||
# a matching layout switch hotkey configured in xkb options above.
|
|
||||||
# Having both at once on the same hotkey will break the switching,
|
|
||||||
# since it will switch twice upon pressing the hotkey (once by xkb, once by niri).
|
|
||||||
# Mod+Space { switch-layout "next"; }
|
|
||||||
# Mod+Shift+Space { switch-layout "prev"; }
|
|
||||||
|
|
||||||
"Print".action.screenshot = { };
|
|
||||||
"Ctrl+Print".action.screenshot-screen = { };
|
|
||||||
"Alt+Print".action.screenshot-window = { };
|
|
||||||
|
|
||||||
# The quit action will show a confirmation dialog to avoid accidental exits.
|
|
||||||
"Mod+Shift+E".action.quit = { };
|
|
||||||
|
|
||||||
# Powers off the monitors. To turn them back on, do any input like
|
|
||||||
# moving the mouse or pressing any other key.
|
|
||||||
"Mod+Shift+P".action.power-off-monitors = { };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,27 +0,0 @@
|
||||||
{ lib, config, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.i18n;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.i18n = {
|
|
||||||
enable = lib.mkEnableOption "i18n";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
# Select internationalisation properties.
|
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
|
||||||
|
|
||||||
i18n.extraLocaleSettings = {
|
|
||||||
LC_ADDRESS = "en_US.UTF-8";
|
|
||||||
LC_IDENTIFICATION = "en_US.UTF-8";
|
|
||||||
LC_MEASUREMENT = "en_US.UTF-8";
|
|
||||||
LC_MONETARY = "en_US.UTF-8";
|
|
||||||
LC_NAME = "en_US.UTF-8";
|
|
||||||
LC_NUMERIC = "en_US.UTF-8";
|
|
||||||
LC_PAPER = "en_US.UTF-8";
|
|
||||||
LC_TELEPHONE = "en_US.UTF-8";
|
|
||||||
LC_TIME = "en_US.UTF-8";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,23 +0,0 @@
|
||||||
{ config, lib, ... }:
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.network;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.network = {
|
|
||||||
enable = lib.mkEnableOption "network nixos module";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
# Enable the OpenSSH daemon.
|
|
||||||
services.openssh.enable = true;
|
|
||||||
services.openssh.openFirewall = true;
|
|
||||||
|
|
||||||
services.avahi.enable = true;
|
|
||||||
|
|
||||||
# Open ports in the firewall.
|
|
||||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
|
||||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
|
||||||
# Or disable the firewall altogether.
|
|
||||||
# networking.firewall.enable = false;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,30 +0,0 @@
|
||||||
{ config, lib, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
inherit (lib) mkIf mkEnableOption;
|
|
||||||
|
|
||||||
cfg = config.snowhawk.niri;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.niri = {
|
|
||||||
enable = mkEnableOption "niri nixos module";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
programs.niri.enable = true;
|
|
||||||
|
|
||||||
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
|
||||||
|
|
||||||
services.displayManager = {
|
|
||||||
defaultSession = "niri";
|
|
||||||
enable = true;
|
|
||||||
sddm.enable = true;
|
|
||||||
sddm.wayland.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
home-manager.sharedModules = [
|
|
||||||
./home/niri.nix
|
|
||||||
{ snowhawk.niri.enable = lib.mkDefault true; }
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,42 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
inherit (lib) mkIf mkEnableOption;
|
|
||||||
|
|
||||||
cfg = config.snowhawk.nix-ld;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.nix-ld = {
|
|
||||||
enable = mkEnableOption "nix-ld nixos module";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
programs.nix-ld.enable = true;
|
|
||||||
programs.nix-ld.libraries = with pkgs; [
|
|
||||||
glib
|
|
||||||
nss
|
|
||||||
nspr
|
|
||||||
atk
|
|
||||||
cups
|
|
||||||
dbus
|
|
||||||
libdrm
|
|
||||||
gtk3
|
|
||||||
pango
|
|
||||||
cairo
|
|
||||||
gdk-pixbuf
|
|
||||||
mesa
|
|
||||||
expat
|
|
||||||
alsa-lib
|
|
||||||
|
|
||||||
libxkbcommon
|
|
||||||
|
|
||||||
xorg.libX11
|
|
||||||
xorg.libXcomposite
|
|
||||||
xorg.libXdamage
|
|
||||||
xorg.libXext
|
|
||||||
xorg.libXfixes
|
|
||||||
xorg.libXrandr
|
|
||||||
xorg.libxcb
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,55 +0,0 @@
|
||||||
# Yoinky Sploinky https://git.nullcube.net/nullcube/nixos/src/commit/d732b27507e70ed6f37e51ea2e5f8b7d7b3582dc/nixosModules/plymouth.nix
|
|
||||||
{ config, pkgs, lib, ... }:
|
|
||||||
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.plymouth;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.plymouth = {
|
|
||||||
enable = mkEnableOption "plymouth module";
|
|
||||||
theme = mkOption {
|
|
||||||
default = "spinner_alt";
|
|
||||||
example = "circle";
|
|
||||||
description = ''
|
|
||||||
The plymouth theme to download and activate
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
loaderTimeout = mkOption {
|
|
||||||
default = 5;
|
|
||||||
example = 0;
|
|
||||||
description = ''
|
|
||||||
The timeout for the bootloader select screen
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
boot = {
|
|
||||||
plymouth = {
|
|
||||||
enable = true;
|
|
||||||
theme = cfg.theme;
|
|
||||||
themePackages = mkDefault [
|
|
||||||
(pkgs.adi1090x-plymouth-themes.override {
|
|
||||||
selected_themes = [ cfg.theme ];
|
|
||||||
})
|
|
||||||
];
|
|
||||||
};
|
|
||||||
consoleLogLevel = 0;
|
|
||||||
initrd = {
|
|
||||||
verbose = false;
|
|
||||||
systemd.enable = true;
|
|
||||||
};
|
|
||||||
kernelParams = [
|
|
||||||
"quiet"
|
|
||||||
"splash"
|
|
||||||
"boot.shell_on_fail"
|
|
||||||
"loglevel=3"
|
|
||||||
"rd.systemd.show_status=false"
|
|
||||||
"rd.udev.log_level=3"
|
|
||||||
"udev.log_priority=3"
|
|
||||||
];
|
|
||||||
loader.timeout = cfg.loaderTimeout;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,31 +0,0 @@
|
||||||
{ config, pkgs, lib, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.polkit;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.polkit = {
|
|
||||||
enable = lib.mkEnableOption "polkit nixos module";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
systemd.user.services.polkit-gnome-authentication-agent = {
|
|
||||||
description = "polkit-gnome-authentication-agent";
|
|
||||||
wantedBy = [ "graphical-session.target" ];
|
|
||||||
wants = [ "graphical-session.target" ];
|
|
||||||
after = [ "graphical-session.target" ];
|
|
||||||
serviceConfig = {
|
|
||||||
Type = "simple";
|
|
||||||
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
|
|
||||||
Restart = "on-failure";
|
|
||||||
RestartSec = 1;
|
|
||||||
TimeoutStopSec = 10;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
security.polkit.enable = true;
|
|
||||||
|
|
||||||
# TODO: is this doing anything?
|
|
||||||
services.gnome.gnome-keyring.enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,20 +0,0 @@
|
||||||
{ config, lib, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
inherit (lib) mkIf mkEnableOption;
|
|
||||||
|
|
||||||
cfg = config.snowhawk.power-button;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.power-button = {
|
|
||||||
enable = mkEnableOption "power-button nixos module";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
services.logind = {
|
|
||||||
powerKey = "suspend";
|
|
||||||
powerKeyLongPress = "poweroff";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
{ lib, config, inputs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.sops;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
inputs.sops-nix.nixosModules.sops
|
|
||||||
];
|
|
||||||
|
|
||||||
options.snowhawk.sops = {
|
|
||||||
enable = lib.mkEnableOption "sops";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
sops = {
|
|
||||||
defaultSopsFile = ../secrets.yaml;
|
|
||||||
age = {
|
|
||||||
sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
|
||||||
keyFile = "/var/lib/sops-nix/key.txt";
|
|
||||||
generateKey = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,24 +0,0 @@
|
||||||
{ lib, config, inputs, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.star-citizen;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.star-citizen = {
|
|
||||||
enable = lib.mkEnableOption "star-citizen";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
boot.kernel.sysctl = {
|
|
||||||
"vm.max_map_count" = 16777216;
|
|
||||||
"ds.file-max" = 524288;
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = [
|
|
||||||
(inputs.nix-gaming.packages.${pkgs.system}.star-citizen.override {
|
|
||||||
useUmu = true;
|
|
||||||
location = "/data/star-citizen";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,24 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
inherit (lib) mkIf mkEnableOption;
|
|
||||||
|
|
||||||
cfg = config.snowhawk.sudo-rules;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.sudo-rules = {
|
|
||||||
enable = mkEnableOption "sudo-rules nixos module";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
security.sudo.extraRules = lib.mkIf false [
|
|
||||||
{
|
|
||||||
users = [ "ravenshade" ];
|
|
||||||
commands = [{
|
|
||||||
command = "${pkgs.nixos-rebuild}/bin/nixos-rebuild";
|
|
||||||
options = [ "SETENV" "NOPASSWD" ];
|
|
||||||
}];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,59 +0,0 @@
|
||||||
{ config, lib, ... }:
|
|
||||||
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.syncthing;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.syncthing = {
|
|
||||||
enable = mkEnableOption "syncthing";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
services.syncthing = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
user = "ravenshade";
|
|
||||||
group = "users";
|
|
||||||
|
|
||||||
dataDir = "/home/ravenshade/syncthing";
|
|
||||||
configDir = "/home/ravenshade/.config/syncthing";
|
|
||||||
|
|
||||||
overrideFolders = true;
|
|
||||||
overrideDevices = false;
|
|
||||||
|
|
||||||
settings = {
|
|
||||||
devices = {
|
|
||||||
msiserver = { id = "KVUA7S4-UHZHKHS-3NX2WSY-MWACTER-SNZBIN4-QMCT5KS-O4NQASP-65HFOAO"; };
|
|
||||||
macbook = { id = "O7EB4D6-AH4A53X-YM6UE7K-T3CJGIZ-MRJ6J7U-DXTEOKB-Z7LSV2M-LVUWFAO"; };
|
|
||||||
s22 = { id = "IS2F2X5-43F7B2Q-SVSNY4J-GOHU5XP-NSJ2MJS-GDDNNTR-BGPQHHE-TE4JDAX"; };
|
|
||||||
};
|
|
||||||
|
|
||||||
folders = {
|
|
||||||
"obsidian" = rec {
|
|
||||||
id = "obsidian";
|
|
||||||
label = id;
|
|
||||||
path = "/home/ravenshade/obsidian";
|
|
||||||
devices = [ "msiserver" "macbook" "s22" ];
|
|
||||||
};
|
|
||||||
"sync" = {
|
|
||||||
id = "default";
|
|
||||||
label = "sync";
|
|
||||||
path = "/home/ravenshade/sync";
|
|
||||||
devices = [ "macbook" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
gui = {
|
|
||||||
theme = "dark";
|
|
||||||
};
|
|
||||||
|
|
||||||
options = {
|
|
||||||
urAccepted = -1;
|
|
||||||
localAnnounceEnabled = false;
|
|
||||||
relaysEnabled = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,26 +0,0 @@
|
||||||
{ config, lib, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.snowhawk.user;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.user = {
|
|
||||||
enable = lib.mkEnableOption "user nixos module";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
snowhawk.sops.enable = lib.mkForce true;
|
|
||||||
|
|
||||||
# users sops setup
|
|
||||||
sops.secrets."passwords/ravenshade".neededForUsers = true;
|
|
||||||
users.mutableUsers = false;
|
|
||||||
|
|
||||||
# Define a user account. Don't forget to set a password with `passwd`.
|
|
||||||
users.users.ravenshade = {
|
|
||||||
isNormalUser = true;
|
|
||||||
description = "Zynh Ludwig";
|
|
||||||
hashedPasswordFile = config.sops.secrets."passwords/ravenshade".path;
|
|
||||||
extraGroups = [ "networkmanager" "wheel" "audio" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,25 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
inherit (lib) mkIf mkEnableOption;
|
|
||||||
|
|
||||||
cfg = config.snowhawk.wake-on-lan;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.snowhawk.wake-on-lan = {
|
|
||||||
enable = mkEnableOption "wake-on-lan nixos module";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
systemd.services.wakeonlan = {
|
|
||||||
description = "reenable wakeonlan every boot";
|
|
||||||
after = [ "network.target" ];
|
|
||||||
serviceConfig = {
|
|
||||||
Type = "simple";
|
|
||||||
RemainAfterExit = "true";
|
|
||||||
ExecStart = "${lib.getExe pkgs.ethtool} -s enp7s0 wol g";
|
|
||||||
};
|
|
||||||
wantedBy = [ "default.target" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,91 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -eu
|
|
||||||
|
|
||||||
function die {
|
|
||||||
supress_generic_error=1
|
|
||||||
if [ -v bin_ZENITY ] && [ ! -z "$bin_ZENITY" ]; then
|
|
||||||
"$bin_ZENITY" --error --text="$*"
|
|
||||||
else
|
|
||||||
echo "error: $*" 2>&2
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function absolute_binary {
|
|
||||||
bin="$(command -v "$@" 2>&-)"
|
|
||||||
if [ -z "$bin" ]; then
|
|
||||||
die "No such commands: $@"
|
|
||||||
fi
|
|
||||||
echo $bin | head -n 1
|
|
||||||
}
|
|
||||||
|
|
||||||
function cleanup {
|
|
||||||
if [ $? != 0 ] && [ ! -v supress_generic_error ]; then
|
|
||||||
die "Errors happened during runtime. See this script logs for details."
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
trap cleanup EXIT
|
|
||||||
|
|
||||||
CHROME_BINARIES=(chromium)
|
|
||||||
|
|
||||||
if [ ! -v bin_ZENITY ]; then
|
|
||||||
bin_ZENITY="$(absolute_binary zenity)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -v bin_CHROMIUM ]; then
|
|
||||||
bin_CHROMIUM="$(absolute_binary chromium)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -v text_QUERY ]; then
|
|
||||||
text_QUERY="Link to be opened"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -v text_NOURL ]; then
|
|
||||||
text_NOURL="No URL specified"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ $# -eq 0 ]; then
|
|
||||||
URL="$("$bin_ZENITY" --entry --text="$text_QUERY" || true)"
|
|
||||||
else
|
|
||||||
URL="$@"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z "$URL" ]; then
|
|
||||||
die $text_NOURL
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "$URL" =~ ^~ ]]; then
|
|
||||||
URL=$(echo $URL | sed -E s:^~\/?::)
|
|
||||||
URL="file://$HOME/$URL"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "$URL" =~ ^\/ ]]; then
|
|
||||||
URL="file://$URL"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ ! "$URL" =~ ^(file|https?)?:\/\/ ]]; then
|
|
||||||
URL="https://$URL"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo final url: $URL
|
|
||||||
|
|
||||||
chromeFlags=()
|
|
||||||
|
|
||||||
if [ ! -v CHROME_DONT_BORDERLESS ]; then
|
|
||||||
chromeFlags+=(--app="$URL")
|
|
||||||
else
|
|
||||||
chromeFlags+=("$URL")
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -v profileToplevel ]; then
|
|
||||||
profileToplevel=~/.config/borderless-browser-profiles
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -v CHROME_PROFILE ] && [[ "$CHROME_PROFILE" =~ ^[a-zA-Z_0-9-]*$ ]]; then
|
|
||||||
profileDir=$profileToplevel/$CHROME_PROFILE
|
|
||||||
chromeFlags+=(--user-data-dir="$profileDir")
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "${chromeFlags[@]}"
|
|
||||||
"$bin_CHROMIUM" "${chromeFlags[@]}"
|
|
|
@ -1,83 +0,0 @@
|
||||||
{ lib
|
|
||||||
, stdenvNoCC
|
|
||||||
, chromium
|
|
||||||
, gnome3
|
|
||||||
, zenity ? gnome3.zenity
|
|
||||||
, makeDesktopItem
|
|
||||||
, copyDesktopItems
|
|
||||||
, makeWrapper
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
mkWebapp =
|
|
||||||
{ name ? "webapp"
|
|
||||||
, desktopName ? "Web Application"
|
|
||||||
, browser ? lib.getExe chromium
|
|
||||||
, icon ? "applications-internet"
|
|
||||||
, url ? null
|
|
||||||
, queryText ? "Link to be opened"
|
|
||||||
, noURLSpecifiedText ? "No URL specified"
|
|
||||||
, profile ? null
|
|
||||||
, passthru ? { }
|
|
||||||
}:
|
|
||||||
|
|
||||||
let
|
|
||||||
|
|
||||||
makeWrapperArgs = [
|
|
||||||
"--set-default"
|
|
||||||
"text_QUERY"
|
|
||||||
queryText
|
|
||||||
"--set-default"
|
|
||||||
"text_NOURL"
|
|
||||||
noURLSpecifiedText
|
|
||||||
"--set"
|
|
||||||
"bin_CHROMIUM"
|
|
||||||
browser
|
|
||||||
"--set"
|
|
||||||
"bin_ZENITY"
|
|
||||||
(lib.getExe zenity)
|
|
||||||
]
|
|
||||||
++ (lib.optionals (profile != null) [ "--set" "CHROME_PROFILE" profile ])
|
|
||||||
++ (lib.optionals (url != null) [ "--add-flags" url ])
|
|
||||||
;
|
|
||||||
|
|
||||||
in
|
|
||||||
stdenvNoCC.mkDerivation (attrs: {
|
|
||||||
name = "webapp-${name}";
|
|
||||||
|
|
||||||
dontUnpack = true;
|
|
||||||
|
|
||||||
nativeBuildInputs = [ copyDesktopItems makeWrapper ];
|
|
||||||
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
runHook preInstall
|
|
||||||
|
|
||||||
mkdir -p $out/bin
|
|
||||||
|
|
||||||
makeWrapper ${./borderlessBrowser} $out/bin/$name ${lib.escapeShellArgs makeWrapperArgs}
|
|
||||||
|
|
||||||
runHook postInstall
|
|
||||||
'';
|
|
||||||
|
|
||||||
postFixup = ''
|
|
||||||
substituteInPlace $out/share/applications/$name.desktop --replace @bin@ $out/bin/$name
|
|
||||||
'';
|
|
||||||
|
|
||||||
desktopItems = [
|
|
||||||
(makeDesktopItem {
|
|
||||||
inherit (attrs) name;
|
|
||||||
inherit desktopName icon;
|
|
||||||
type = "Application";
|
|
||||||
exec = "@bin@";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
passthru = passthru // { inherit makeWrapperArgs; };
|
|
||||||
});
|
|
||||||
|
|
||||||
in
|
|
||||||
mkWebapp {
|
|
||||||
passthru = {
|
|
||||||
wrap = mkWebapp;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,14 +0,0 @@
|
||||||
final: prev:
|
|
||||||
let
|
|
||||||
callDefaultPackage = path: prev.callPackage path { };
|
|
||||||
in
|
|
||||||
{
|
|
||||||
lib = prev.lib.extend (import ../lib);
|
|
||||||
|
|
||||||
wrapWine = callDefaultPackage ./wrapWine;
|
|
||||||
writeXrandrScriptBin = callDefaultPackage ./writeXrandrScriptBin;
|
|
||||||
borderlessBrowser = callDefaultPackage ./borderlessBrowser;
|
|
||||||
zenBrowser = callDefaultPackage ./zenBrowser;
|
|
||||||
rose-pine-grub = callDefaultPackage ./rosePineGrub;
|
|
||||||
dwm-msg = callDefaultPackage ./dwm-msg;
|
|
||||||
}
|
|
|
@ -1,44 +0,0 @@
|
||||||
# Yoinky Sploinky https://git.nullcube.net/nullcube/nullpkgs/src/branch/main/pkgs/dwm-msg/default.nix
|
|
||||||
{ lib
|
|
||||||
, stdenv
|
|
||||||
, fetchFromGitHub
|
|
||||||
, libX11
|
|
||||||
, libXft
|
|
||||||
, libXinerama
|
|
||||||
, pkg-config
|
|
||||||
, yajl
|
|
||||||
,
|
|
||||||
}:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "dwm-msg";
|
|
||||||
version = "1.5.7";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "mihirlad55";
|
|
||||||
repo = "dwm-ipc";
|
|
||||||
rev = "v${version}";
|
|
||||||
hash = "sha256-ReQbA551i6YOQi/Qoive7jANnD5/IcXGApHHctgPdOM=";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
pkg-config
|
|
||||||
libX11
|
|
||||||
libXinerama
|
|
||||||
libXft
|
|
||||||
yajl
|
|
||||||
];
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/bin
|
|
||||||
cp dwm-msg $out/bin/
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "a cli program that can be used to run commands, query dwm for information, and listen for events.";
|
|
||||||
homepage = "https://github.com/mihirlad55/dwm-ipc";
|
|
||||||
license = licenses.mit;
|
|
||||||
# platforms = platforms.all;
|
|
||||||
mainProgram = "dwm-msg";
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,30 +0,0 @@
|
||||||
{ lib
|
|
||||||
, stdenvNoCC
|
|
||||||
, fetchFromGitHub
|
|
||||||
}:
|
|
||||||
stdenvNoCC.mkDerivation rec {
|
|
||||||
pname = "rose-pine-grub";
|
|
||||||
version = "1.0";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "rose-pine";
|
|
||||||
repo = "grub";
|
|
||||||
rev = "${version}";
|
|
||||||
hash = "sha256-fEWCydlgiDt1j21q0a3YKrYv+bWIJhAQd57LuDtRNwg=";
|
|
||||||
};
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
runHook preInstall
|
|
||||||
|
|
||||||
mkdir -p $out/
|
|
||||||
cp -r * "$out/"
|
|
||||||
|
|
||||||
runHook postInstall
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "All natural pine, faux fur and a bit of soho vibes for GRUB";
|
|
||||||
homepage = "https://github.com/rose-pine/grub";
|
|
||||||
platforms = lib.platforms.linux;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,89 +0,0 @@
|
||||||
# Yoink https://github.com/lucasew/nixcfg/blob/cb5a0d69e80d499df5a21166fb2d3f058b451125/pkgs/wrapWine.nix
|
|
||||||
|
|
||||||
{ pkgs }:
|
|
||||||
let
|
|
||||||
inherit (builtins) length concatStringsSep;
|
|
||||||
inherit (pkgs) lib cabextract writeShellScriptBin;
|
|
||||||
inherit (lib) makeBinPath;
|
|
||||||
in
|
|
||||||
{ is64bits ? false
|
|
||||||
, wine ? if is64bits then pkgs.wineWowPackages.stable else pkgs.wine
|
|
||||||
, wineFlags ? ""
|
|
||||||
, executable
|
|
||||||
, chdir ? null
|
|
||||||
, name
|
|
||||||
, tricks ? [ ]
|
|
||||||
, setupScript ? ""
|
|
||||||
, firstrunScript ? ""
|
|
||||||
, home ? ""
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
wineBin = "${wine}/bin/wine${if is64bits then "64" else ""}";
|
|
||||||
requiredPackages = [
|
|
||||||
wine
|
|
||||||
cabextract
|
|
||||||
];
|
|
||||||
WINENIX_PROFILES = "$HOME/WINENIX_PROFILES";
|
|
||||||
PATH = makeBinPath requiredPackages;
|
|
||||||
NAME = name;
|
|
||||||
HOME =
|
|
||||||
if home == ""
|
|
||||||
then "${WINENIX_PROFILES}/${name}"
|
|
||||||
else home;
|
|
||||||
WINEARCH =
|
|
||||||
if is64bits
|
|
||||||
then "win64"
|
|
||||||
else "win32";
|
|
||||||
setupHook = ''
|
|
||||||
${wine}/bin/wineboot
|
|
||||||
'';
|
|
||||||
tricksHook =
|
|
||||||
if (length tricks) > 0 then
|
|
||||||
let
|
|
||||||
tricksStr = concatStringsSep " " tricks;
|
|
||||||
tricksCmd = ''
|
|
||||||
pushd $(mktemp -d)
|
|
||||||
wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
|
|
||||||
chmod +x winetricks
|
|
||||||
./winetricks ${tricksStr}
|
|
||||||
popd
|
|
||||||
'';
|
|
||||||
in
|
|
||||||
tricksCmd
|
|
||||||
else "";
|
|
||||||
script = writeShellScriptBin name ''
|
|
||||||
export APP_NAME="${NAME}"
|
|
||||||
export WINEARCH=${WINEARCH}
|
|
||||||
export WINE_NIX="$HOME/.wine-nix" # define antes de definir $HOME senão ele vai gravar na nova $HOME a .wine-nix
|
|
||||||
export WINE_NIX_PROFILES="${WINENIX_PROFILES}"
|
|
||||||
export PATH=$PATH:${PATH}
|
|
||||||
export HOME="${HOME}"
|
|
||||||
mkdir -p "$HOME"
|
|
||||||
export WINEPREFIX="$WINE_NIX/${name}"
|
|
||||||
export EXECUTABLE="${executable}"
|
|
||||||
mkdir -p "$WINE_NIX" "$WINE_NIX_PROFILES"
|
|
||||||
${setupScript}
|
|
||||||
if [ ! -d "$WINEPREFIX" ] # if the prefix does not exist
|
|
||||||
then
|
|
||||||
${setupHook}
|
|
||||||
# ${wineBin} cmd /c dir > /dev/null 2> /dev/null # initialize prefix
|
|
||||||
wineserver -w
|
|
||||||
${tricksHook}
|
|
||||||
rm "$WINEPREFIX/drive_c/users/$USER" -rf
|
|
||||||
ln -s "$HOME" "$WINEPREFIX/drive_c/users/$USER"
|
|
||||||
${firstrunScript}
|
|
||||||
fi
|
|
||||||
${if chdir != null
|
|
||||||
then ''cd "${chdir}"''
|
|
||||||
else ""}
|
|
||||||
if [ ! "$REPL" == "" ]; # if $REPL is setup then start a shell in the context
|
|
||||||
then
|
|
||||||
bash
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
${wineBin} ${wineFlags} "$EXECUTABLE" "$@"
|
|
||||||
wineserver -w
|
|
||||||
'';
|
|
||||||
in
|
|
||||||
script
|
|
|
@ -1,27 +0,0 @@
|
||||||
{ lib, writeShellScriptBin, xrandr }:
|
|
||||||
let
|
|
||||||
inherit (builtins) getAttr hasAttr isAttrs concatStringsSep;
|
|
||||||
inherit (lib) assertMsg lists escapeShellArgs getExe;
|
|
||||||
inherit (lib.attrsets) mapAttrsToList;
|
|
||||||
inherit (lib.cli) toGNUCommandLine;
|
|
||||||
in
|
|
||||||
name: config:
|
|
||||||
assert assertMsg (isAttrs config)
|
|
||||||
"config should be an attrs, found ${lib.typeOf config}";
|
|
||||||
let
|
|
||||||
isPrimary = config:
|
|
||||||
(hasAttr "primary" config) && (getAttr "primary" config);
|
|
||||||
|
|
||||||
getArgList = output: config:
|
|
||||||
(escapeShellArgs (lists.flatten [
|
|
||||||
(toGNUCommandLine { } { inherit output; })
|
|
||||||
(lists.optional (isPrimary config) "--primary")
|
|
||||||
(toGNUCommandLine { } config)
|
|
||||||
]));
|
|
||||||
|
|
||||||
args = mapAttrsToList getArgList config;
|
|
||||||
in
|
|
||||||
writeShellScriptBin name ''
|
|
||||||
${getExe xrandr} \
|
|
||||||
${concatStringsSep " \\\n " args}
|
|
||||||
''
|
|
|
@ -1,89 +0,0 @@
|
||||||
# Adapted from: https://github.com/MarceColl/zen-browser-flake
|
|
||||||
{ lib
|
|
||||||
, stdenv
|
|
||||||
, makeWrapper
|
|
||||||
, copyDesktopItems
|
|
||||||
, libGL
|
|
||||||
, fontconfig
|
|
||||||
, libxkbcommon
|
|
||||||
, zlib
|
|
||||||
, freetype
|
|
||||||
, gtk3
|
|
||||||
, libxml2
|
|
||||||
, dbus
|
|
||||||
, xcb-util-cursor
|
|
||||||
, alsa-lib
|
|
||||||
, pango
|
|
||||||
, atk
|
|
||||||
, cairo
|
|
||||||
, gdk-pixbuf
|
|
||||||
, glib
|
|
||||||
, xorg
|
|
||||||
}:
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
name = "zenBrowser";
|
|
||||||
version = "1.0.0-a.27";
|
|
||||||
|
|
||||||
src = builtins.fetchTarball {
|
|
||||||
url = "https://github.com/zen-browser/desktop/releases/download/${version}/zen.linux-specific.tar.bz2";
|
|
||||||
sha256 = "sha256:0vmn10qpr96b4i8j24sa6ipg3fcxiiigkjwclbr5fknkfj3r6ds7";
|
|
||||||
};
|
|
||||||
|
|
||||||
desktopSrc = ./.;
|
|
||||||
|
|
||||||
phases = [ "installPhase" "fixupPhase" ];
|
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper copyDesktopItems ];
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/bin && cp -r $src/* $out/bin
|
|
||||||
install -D $desktopSrc/zen.desktop $out/share/applications/dev.zen.Zen.desktop
|
|
||||||
install -D $src/browser/chrome/icons/default/default128.png $out/share/icons/hicolor/128x128/apps/zen.png
|
|
||||||
'';
|
|
||||||
|
|
||||||
fixupPhase =
|
|
||||||
let
|
|
||||||
runtimeLibs = [
|
|
||||||
libGL
|
|
||||||
stdenv.cc.cc
|
|
||||||
fontconfig
|
|
||||||
libxkbcommon
|
|
||||||
zlib
|
|
||||||
freetype
|
|
||||||
gtk3
|
|
||||||
libxml2
|
|
||||||
dbus
|
|
||||||
xcb-util-cursor
|
|
||||||
alsa-lib
|
|
||||||
pango
|
|
||||||
atk
|
|
||||||
cairo
|
|
||||||
gdk-pixbuf
|
|
||||||
glib
|
|
||||||
] ++ (with xorg; [
|
|
||||||
libxcb
|
|
||||||
libX11
|
|
||||||
libXcursor
|
|
||||||
libXrandr
|
|
||||||
libXi
|
|
||||||
libXext
|
|
||||||
libXcomposite
|
|
||||||
libXdamage
|
|
||||||
libXfixes
|
|
||||||
]);
|
|
||||||
|
|
||||||
in
|
|
||||||
''
|
|
||||||
chmod 755 $out/bin/*
|
|
||||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/bin/zen
|
|
||||||
wrapProgram $out/bin/zen --set LD_LIBRARY_PATH "${lib.makeLibraryPath runtimeLibs}"
|
|
||||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/bin/zen-bin
|
|
||||||
wrapProgram $out/bin/zen-bin --set LD_LIBRARY_PATH "${lib.makeLibraryPath runtimeLibs}"
|
|
||||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/bin/glxtest
|
|
||||||
wrapProgram $out/bin/glxtest --set LD_LIBRARY_PATH "${lib.makeLibraryPath runtimeLibs}"
|
|
||||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/bin/updater
|
|
||||||
wrapProgram $out/bin/updater --set LD_LIBRARY_PATH "${lib.makeLibraryPath runtimeLibs}"
|
|
||||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/bin/vaapitest
|
|
||||||
wrapProgram $out/bin/vaapitest --set LD_LIBRARY_PATH "${lib.makeLibraryPath runtimeLibs}"
|
|
||||||
'';
|
|
||||||
}
|
|
|
@ -1,25 +0,0 @@
|
||||||
[Desktop Entry]
|
|
||||||
Name=Zen Browser
|
|
||||||
Exec=zen %u
|
|
||||||
Icon=zen
|
|
||||||
Type=Application
|
|
||||||
MimeType=text/html;text/xml;application/xhtml+xml;x-scheme-handler/http;x-scheme-handler/https;application/x-xpinstall;application/pdf;application/json;
|
|
||||||
StartupWMClass=zen-alpha
|
|
||||||
Categories=Network;WebBrowser;
|
|
||||||
StartupNotify=true
|
|
||||||
Terminal=false
|
|
||||||
X-MultipleArgs=false
|
|
||||||
Keywords=Internet;WWW;Browser;Web;Explorer;
|
|
||||||
Actions=new-window;new-private-window;profilemanager;
|
|
||||||
|
|
||||||
[Desktop Action new-window]
|
|
||||||
Name=Open a New Window
|
|
||||||
Exec=zen %u
|
|
||||||
|
|
||||||
[Desktop Action new-private-window]
|
|
||||||
Name=Open a New Private Window
|
|
||||||
Exec=zen --private-window %u
|
|
||||||
|
|
||||||
[Desktop Action profilemanager]
|
|
||||||
Name=Open the Profile Manager
|
|
||||||
Exec=zen --ProfileManager %u
|
|
45
secrets.yaml
45
secrets.yaml
|
@ -1,45 +0,0 @@
|
||||||
private_keys:
|
|
||||||
github: ENC[AES256_GCM,data:FH+z20K3ZZwcKCdDeBu5ogezpOBic5IjjBLyWw3QlKLtRXZIR7+Gkn7Hf9j9v5xPDGc8kpkKcF9n5EV1/4jrDeVic0LNz/D2OLbNUiTgxKsWatt9DurOo942iNRTpbysNo0DOD2rCFTal5d5J7rgxCe4anrdHiKM9BwArHGwe8PDEt5U1UcpEPeJ1MWjaUaTRRYwYzPHirM1POlXZBUe67Zq98OG9nKfrNMKhiHBAdyYzGZGd4xVxoj36H3oh14uozEmuwaAvp/EVJ/Wd7trlq8MNjtuSdSCB6WgpOSJasSaGP0ADmiaSRX4kKxxSiy0fSw0bWwZc45XXfftSGRlSx3/Bg4ekcu/iVojVYrwWL1Z9L+v2TPqoNYOWLfseQoUjkiad5eK3T1Go5sz/ToirdMagv5ICGBZ/97abJIc5Q1TVyoR1o8t9MzpkIAA7ajW0Ux83DY4MFhJ/GV2aMPd/UJXqLF4QYLgww9P/MyOKxqtcR3PONbRB5SqEgG39p+b3pZ3+SCP+IU6bhvej0FA0UeKWxVU1qFMqlRQ,iv:9e9yDKsPp+DK2L8Cw4uiQF9UlsdbpCtGWdFf5r2j4QI=,tag:L/HPQ6tGuwgcX/i3s0gvcQ==,type:str]
|
|
||||||
personal_git: ENC[AES256_GCM,data:r5NXuhqltyaZpjMhz6Nh+2Nv1UI86nxtud5aPFkAfwOuBhtDLOx5dOZWZqJ/8Lf+hjyVsCRN77GNXIKmBA3UhguIzWdWSRMboDXYePxRar+i0rBQdKK24rzPLMAYRd5L1sLml1hS5eZxds+D+C5PCv4FXrkc+9xO08RPFgqJVfFbzIEM/5HAmgG1xLpK32+56/QdwW/bL2r2bheSuNXmcrciDeilVBS5/jVgIaa8mxDHQjVPi6SdL4MGt85+OpcOesqDGuTpc00H9kd/i6mOucYCw2UjHJpLYDJ202cE0pHiKenFbssiS+NqG7dWSLKD0HqhDoHLvJVaXlLT+GxEx1ec/vHAl7LgpRRpUfcEknFpsJgliPOfr1p3D2plx/ZcWqysFy3jZ5HZI3ZawRrsDdQlKpljcjCgOeCVoTlQdrjQruDV3QueLPn5ueFMx3Iks6e/PyENXp+JhdJID5dPjckSb2vp/VUP7n3PT3aNuPMluMpXFUhUwthTb/RsKBAqDUEaw0RAe1mvAaoD3ZUJtg5Q84UVuQxQHGtS,iv:fUwoEgHb2Bat/qjnedfHVzso0qfRPXuelO26CFxdud0=,tag:bqHeF1R4+IHQ/a0urVXhIA==,type:str]
|
|
||||||
msiserver: ENC[AES256_GCM,data:WPfERytAHOgvEpAs1neYMlV1tc6gJUPlYuW7iak9/UNEguNR3UlNB2OLHGYlpnPjH9hIOsUzxBNoE+kTI2atm1kZzIkzHCuJyn/CMaW61dPY+kvv/oiKSr/eqOLY7WLnniQysWih8zjtbb0DUoVfT9UujuWLaE92F9y7ZWyfz61Kf9BgyUF9xBkmwfOYnOs0ugnslm42jLh+qpw+2N2CqG5aqmBJzXp8fZfHmT5+wYTlKK4yb3vfXejcFQ37aLZwimJ9qn2Kfa4X6h1U9yerrNnOWhc0WC+1X3G1HKTlEF/yHTnIbSysxIYFdGPgzxFaw7Tyh2KhCJVOuPAJPmq7ms+lgpmS/Tr6ZdGF9XPGufT+UiiYFdK0zQYDz5A7qoDaOmztzFHhCtAmo6MvBUt2c4j03mT+KHkn9qFaQ1M/6EMp0KcL7Wt3bKLOC3kkbU9kMrahxhYTC7vTc33kZuvSsbTBnVJTAZM2vhIsOd2DtJzBdbTNXwpLqo5elQ8GuOBec84dAnYGs7etekn4GpuI0OayAlSoGdmGK6qmfBTZm62zuTadF/JBCKQU6sFyw1IfCO6fTSibQ/L7eqn8HF/pDG1+v+XHYYzv56gZHgIY78XB27phEbB+n7KFGHYw8RYDWHGsgZrR93ZRoVG5RXo/cx0+GqZHxEf+xHtrO6G4cKq8rIlvGcLMp6gWLrJRhZ4qObzpk5i/TRQH8qGeB5ZDzDkGmWwJV2xAmDuJnCSAmv1vVVDHPwAT5NfmJS4PXmTeDNBGLX/xf+tXFLI5fWhqAEynutVv5yavSxfOZ0a8+y7Ks0TbOaxwcCjWtJpmTmMLnROY1cEzre/tdxDA3TKJgLvqM05qN44MmS9ZDb3DDTiVAfDjjoKJt3XTTj3T3pbI4GIxapoKvLuQr/bWWwA2Ho5WXV8uCL0HBkuHSX5nTElnTWGbDznQOqnT4NlXRFTE17WYyoL1O8iv9s1QNHoBl89DrNfnAD5PeMU8zfXOHEH9UPSfniMvK0SxfaP6hZ2dx/VJyuby/ZMkbha9T0tXA3BQdqrB7D2qng8t62cywDhIIiXK1L2XIuVCewjEgmtFlG+MjDTW62y1cXjiAf8UzoxYIjvbsiDS0f75cAEpNnof8sbuGRFFnv8MF/8D16KWW1mUC6tH+nta260JgM4N2Coep8hzH5FE6BDrn/2pggycTWO7nkZQR+70p3F9POeokAiXee88z3yuddfP4ZBA4y7qLYfsImDkZBFHWinDD5BNKb9Ows/YbvtYJkykbR60hMPIVJdPIB2kFdOOAjHd5dDOtNiwLU3IEQCjAy+tFndnsTjQCqIq0zkm7O0bHedIWv3gequSaxvcG9pixtbCSCOLeqebzONb+MGQl7d/pgPCU3YL9dGh7YAfeT0X05tY9YOUqoBxFT5kCzz0pdkkYe2GMXxMAvTAdHfC1joqFvaO8hJ7FE38hCyDr+LWDDCjz8zI4nYP90BtiW16A/P1jmdXwkqaYdEmeNjOpIJAjvpzndRtW+t0M/ip1BJLL33h+Zk5Va23Th7BNfC/aGCyOv8PytteN4Cnvq1z8giY2vQ582uZz6Wi/oQKcTp6p7zNcy/cFQtgRWv1BSrZJGptvhQXobEO8VdHwKjgR0R1DYlIDYXb7fK3dvedttNjhwhyghfr8XfWoaDQKRYNwWBMC5eE4ikCUH+QXa4z7aqRDlUCum+sG8I6ZZ6xsEmTDH/GZ2lpgGDlHrC2yEQQBRRhJQ9VONnT/GMYxMUGg2NDDRcAuGxAcfXiN7mNbj0AmF0xBEIrxGQHjN64YTTDKltjad7GelzqRQNHV4DBl+5tzD3gTFovNPKzBhA73BLngK411DFi+fhr5nx7mWv2VtGz5mx01ShJhRQwZSR7dTG4Bb3vsFTljEDy9Qu6GrMXKBOzbJRtbGDZzx3KFiDNzHIPyd75/3Fn+CseBzHY3R1rOmfyCFlyP8yXpQBfsftTfPThrOXGQDu+lk8JtxR1dpVCJyl9bW0cFoZYoeUGbny4NpuUOeeDzfct1tf1WOhC4iRnGEorLpsAKiQTFekes6t/+iZJqZ8G7A2QtetO0o1MkYwJZR+4scr5PK5//ibbHY/bV6ubVOVbRLpqUChlPGcHP8e9MuRGxbH5hsFx8FlQDCNSGJetqtt0ygJtdvV3LCelDmhHqwM7t0LKVzrvpkw4l8wO4qhwUobRHgI6A0wEe8jgzpM4a5ZYas7aC46ie/sRBWBY33yrXTkL3kURD4pxmBs6b235A7JnHCDGxERBE/5yJ3IWmf7YNxACKBcRqxGtqgg6RDCcSC+spTG3rqMOQXYJP+JhSArv4yReGF6WgWtmFebXsI4TME42S8coomys0wcv9nB4+15GpSDtEN86YKT57XlcsTSI/tS8xdCnFMTAVuZOJ9Uyb9kMLP216lV5cp6RXj6IjAQ9GJjW2rCnBAJ4ejERW8ZJi3a4kBbrRoKY+Pp3F3kH/RrzJySFmsaIASWjujfRYqJzx2aY6pBpzjDsquv7QgsHWeSxKZGrJU9nU4puJeQzus9nmQPMrpmCyj+74Z/7015d7NZgh8zuqRPvIS8Hd2vQmE7zepMklFkhzT7H9kjIDmuitxvm4GDEYw+DQctfXe6m3LpOoiKnB1FN+AgH9AIxbz7Vs6ObyTDpK24u9IkfUuQAP2ImvyEpb0Sbh9eDLhN+tLdiY7rC7e0JaxoM0N6ARpxXylhLznuXNB03PfT0sa8XRwBqWpfhYIAJe7+su3NdBd6fmwpsNDbnNbDWwsWVUO33X4w5s3xZn6P+augAJA57stmX0xD/UZG+y84kkrF/YLtFJ9GJYzbrJD2AdJj1zbMpTeIuoE+aSnoB2xQzBQwWUp2qodAcIEisCRhD2UwdP6P+GhSyf43vW/eIeyfL+3aSXxQ2RkaHPZAXucxh8DCpT0vFF68XSuUf2iQnmX0thVUCSS4D063DPtBOQ9u2gC8ZnL9uyl27OI8Vr36L6nR+XnkV+/XkpgkVpj8ianjkM/IsqN9KQZUjgIkR7fenl0UalaJ9UcTspLfkNU67rTbhcJ9+G/QCguJ5I9ovJSS5k4u0t8SE0ZelRyC7j8xh5yT9l/GaoWuQryID145vR2Qf5jmR9H34mDhQigB713+7mjqoLGkorrhrZqLIDO94SRDJhUUn5nqCQmuwz9T22p9xqjpzwk9XGWsTN3+Mvku+OdpZWkVNwfWPJO2ShEcfQIBBykMO1gN1N8RbusFzCJfKCER7Rq2bnm31g+hby6Xms3pmW+Xg9jNj9HParuWewYx4nTLdGR+c5aufVp3xRpgSMD5w9uQIDebiuss8eFR64GcMlG90cC6ewHjS+68P/Rfnd24XawFNm4hu11TvA6zSjK6h6J4YehPzdnEUFFz5bh26AJkcnTN8svwcUW8etq8X9yN+W4UWFxtZNdNoLT2XD6v4C7TNhIugA4h9MIkxdA==,iv:QD0B2ymlqkSAV1wEAQyJAomxpIj+ydeikTJmVhxpxBo=,tag:zbXmhxabQwLgkPxavodHxQ==,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]
|
|
||||||
ssh_hosts:
|
|
||||||
caveserver: ENC[AES256_GCM,data:EvgnXLZ7ZIcHB/VQj+hEK63DfKfPWGBBdKR1aXFTiN3OwAcfu5jxdSqctK2iAO88jJs=,iv:xEP3OpNNYHisnrtcsCCbjKx34e1DOvikjcRdDx6/WfQ=,tag:XpFBYxuaCMWCTHT09MFvrQ==,type:str]
|
|
||||||
locations:
|
|
||||||
snowhawk:
|
|
||||||
lat: ENC[AES256_GCM,data:N7CsvQ==,iv:BfSp2jXBZDEEyNHhpo3SAwEVIWI0timAT2S1l76ODn0=,tag:Mf99+rM/m3Wh8BmmITKjpg==,type:str]
|
|
||||||
lon: ENC[AES256_GCM,data:dITeYwVzSA==,iv:s+St+As7wgAaUf8/qnAdCM932WY5c9S0qUFhUlzx3W0=,tag:iqqPhmHZ+t+CRZPdZxYVxA==,type:str]
|
|
||||||
app_urls:
|
|
||||||
nh_slack: ENC[AES256_GCM,data:0QSoU9NLXNUWIwPSMAetHWQ6bnbJCALVWgMicl/e75JJ2JsMZhdbMKEGbgz6g9nGLwU=,iv:8emkdI3E67+xZ7BRMhvMKGxrSMvkfW3fYD7TUr78c8I=,tag:6OzhaCP/Qy8hO7tv0mdz7A==,type:str]
|
|
||||||
passwords:
|
|
||||||
ravenshade: ENC[AES256_GCM,data:U0s7qQ4+JI6uzrNygzvMvlBM/W+swtAu6V/iQ1Ggcqq+KJrfrwgVhew7i/E0i8Z5JqSlfeeFGpwptanM0NKKINXYk1h5wF30eA==,iv:KNgx4HfHNi8i8kHBtA9ITy8q+5C8QqAgR69CXB7WPWM=,tag:edRqEMuzNA7aTrCmUCuF3w==,type:str]
|
|
||||||
sops:
|
|
||||||
kms: []
|
|
||||||
gcp_kms: []
|
|
||||||
azure_kv: []
|
|
||||||
hc_vault: []
|
|
||||||
age:
|
|
||||||
- recipient: age1zgd7qpj7vc4gjtetttqgp32aw75fmnjrw6ax2x2meul2w4jclytszvutdd
|
|
||||||
enc: |
|
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBqaUZNVnZaV3Z6WG9zVmw1
|
|
||||||
d0tXNlp0OWVHaHp4OFpNTG1GdStMdUlGakhFClg0TS9RZkFjSlFkUFlXOHRQbm1X
|
|
||||||
NlZDa0JrMDhQOGM2MWVPRjE2VDBDSDAKLS0tIGg3aWVLTm9DQ2Q0dkdoaFFibHlP
|
|
||||||
MGgveEdDb1laY3NhUkRyOVVuME9OVlkKUpTeucratE3vrdsHa/Sm0s0ygwD2UBZ7
|
|
||||||
5wNykjQUGUG+7OluUlWrwvnmgzyYKS0BM3BD0NjpzTS4OiSB6VYD5g==
|
|
||||||
-----END AGE ENCRYPTED FILE-----
|
|
||||||
- recipient: age1s549sffdhu2yyfk9h06hhks7xc4mqq9a6k53dleurr7y3rmuudpqwz24gv
|
|
||||||
enc: |
|
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhRVphSzg4NEZWenBWSGY3
|
|
||||||
L3A5QTVuMFVBOVdrRHlRY3ViK2xjcFpTVkdnCnlCV0dHMmVlRTllbnRpQTdJaVQr
|
|
||||||
QjFXV1lPV1N4TEZxL05WaStDYmlRRTAKLS0tIFZSdkdTT3JyQmlqZVNEWDRwSFln
|
|
||||||
Nk1jNmhBV2hFcFVXaVl0TE02L290NDgKq0JV2vKnHUio0d6p8Wo29skOdq1uzjGh
|
|
||||||
ViIFNODIG8pPVsXQZqCXDWgZIVsAwbavS43d4wkg8iSZ4h6o6sC23Q==
|
|
||||||
-----END AGE ENCRYPTED FILE-----
|
|
||||||
lastmodified: "2024-12-09T11:49:43Z"
|
|
||||||
mac: ENC[AES256_GCM,data:QwG57P0fKhYpPDdwgufmtv1LBMdCo0e8X2r7ja5ZDJzlTEQolhs/f5UThmmYrPC3t9BlMxK25/cmH0YRy91u51Az3hRGE8SI9NczVkr5dAeSEVws9N4WG22IYAjCmREWaGrJ10mBFoau87W0MqxhvcIy7QwNNXTrirXpNXMJk6w=,iv:A/xhsFl7Zl2iNF/NbmSP3pJNAqldf6HAqvcifIfLgME=,tag:Cg9HgW8x3Z2nUucrnpBStA==,type:str]
|
|
||||||
pgp: []
|
|
||||||
unencrypted_suffix: _unencrypted
|
|
||||||
version: 3.9.1
|
|
Loading…
Reference in a new issue