format with prettier formatter :3
This commit is contained in:
parent
8b1a6aca39
commit
211fa03252
18 changed files with 480 additions and 500 deletions
|
|
@ -1,4 +1,4 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
nix.settings = {
|
nix.settings = {
|
||||||
experimental-features = ["nix-command" "flakes"];
|
experimental-features = ["nix-command" "flakes"];
|
||||||
download-buffer-size = 524288000;
|
download-buffer-size = 524288000;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
nix.settings = {
|
nix.settings = {
|
||||||
trusted-users = ["root" "@wheel"];
|
trusted-users = ["root" "@wheel"];
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -8,8 +8,7 @@
|
||||||
root,
|
root,
|
||||||
system,
|
system,
|
||||||
...
|
...
|
||||||
}:
|
}: {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
inputs.zen.homeModules.twilight
|
inputs.zen.homeModules.twilight
|
||||||
|
|
||||||
|
|
@ -77,8 +76,7 @@
|
||||||
|
|
||||||
fonts.fontconfig.enable = true;
|
fonts.fontconfig.enable = true;
|
||||||
|
|
||||||
home.file.".mozilla/native-messaging-hosts/tridactyl.json".source =
|
home.file.".mozilla/native-messaging-hosts/tridactyl.json".source = "${upkgs.tridactyl-native}/lib/mozilla/native-messaging-hosts/tridactyl.json";
|
||||||
"${upkgs.tridactyl-native}/lib/mozilla/native-messaging-hosts/tridactyl.json";
|
|
||||||
|
|
||||||
# some packages are enabled from their own module in ./modules
|
# some packages are enabled from their own module in ./modules
|
||||||
home.packages = with upkgs; [
|
home.packages = with upkgs; [
|
||||||
|
|
@ -101,7 +99,7 @@
|
||||||
ripgrep # rlly fast grep :3
|
ripgrep # rlly fast grep :3
|
||||||
zip # zips .zip
|
zip # zips .zip
|
||||||
unzip # unzips .zip
|
unzip # unzips .zip
|
||||||
(btop.override { rocmSupport = true; }) # btop + amd gpu support
|
(btop.override {rocmSupport = true;}) # btop + amd gpu support
|
||||||
nmap # network discovery and mapping tool!
|
nmap # network discovery and mapping tool!
|
||||||
distrobox # use any linux distro inside ur terminal x3
|
distrobox # use any linux distro inside ur terminal x3
|
||||||
parted # create, resize, copy, image partitions
|
parted # create, resize, copy, image partitions
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
{ upkgs, ... }:
|
{upkgs, ...}: {
|
||||||
{
|
|
||||||
programs.alacritty = {
|
programs.alacritty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = upkgs.alacritty-graphics;
|
package = upkgs.alacritty-graphics;
|
||||||
|
|
|
||||||
|
|
@ -4,13 +4,12 @@
|
||||||
inputs,
|
inputs,
|
||||||
mpkgs,
|
mpkgs,
|
||||||
...
|
...
|
||||||
}:
|
}: let
|
||||||
let
|
inherit
|
||||||
inherit (inputs.nixcats)
|
(inputs.nixcats)
|
||||||
utils
|
utils
|
||||||
;
|
;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
inputs.nixcats.homeModule
|
inputs.nixcats.homeModule
|
||||||
];
|
];
|
||||||
|
|
@ -31,224 +30,220 @@ in
|
||||||
];
|
];
|
||||||
# see the packageDefinitions below.
|
# see the packageDefinitions below.
|
||||||
# This says which of those to install.
|
# This says which of those to install.
|
||||||
packageNames = [ "auroranvim" ];
|
packageNames = ["auroranvim"];
|
||||||
|
|
||||||
luaPath = "${./.}";
|
luaPath = "${./.}";
|
||||||
|
|
||||||
# the .replace vs .merge options are for modules based on existing configurations,
|
# the .replace vs .merge options are for modules based on existing configurations,
|
||||||
# they refer to how multiple categoryDefinitions get merged together by the module.
|
# they refer to how multiple categoryDefinitions get merged together by the module.
|
||||||
# for useage of this section, refer to :h nixCats.flake.outputs.categories
|
# for useage of this section, refer to :h nixCats.flake.outputs.categories
|
||||||
categoryDefinitions.replace =
|
categoryDefinitions.replace = {
|
||||||
{
|
pkgs,
|
||||||
pkgs,
|
settings,
|
||||||
settings,
|
categories,
|
||||||
categories,
|
extra,
|
||||||
extra,
|
name,
|
||||||
name,
|
mkNvimPlugin,
|
||||||
mkNvimPlugin,
|
...
|
||||||
...
|
} @ packageDef: {
|
||||||
}@packageDef:
|
lspsAndRuntimeDeps = with pkgs; {
|
||||||
{
|
general = [
|
||||||
lspsAndRuntimeDeps = with pkgs; {
|
ripgrep
|
||||||
general = [
|
fd
|
||||||
ripgrep
|
];
|
||||||
fd
|
treesitter = [
|
||||||
|
tree-sitter
|
||||||
|
];
|
||||||
|
lang = {
|
||||||
|
lua = [
|
||||||
|
lua-language-server
|
||||||
|
stylua
|
||||||
];
|
];
|
||||||
treesitter = [
|
nix = [
|
||||||
tree-sitter
|
nil
|
||||||
|
nix-doc # TODO: i forgot what this is for
|
||||||
|
alejandra
|
||||||
];
|
];
|
||||||
lang = {
|
rust = [
|
||||||
lua = [
|
cargo
|
||||||
lua-language-server
|
mpkgs.rust-analyzer
|
||||||
stylua
|
# nightly rustfmt has nicer features :3
|
||||||
];
|
inputs.fenix.packages.${system}.complete.rustfmt
|
||||||
nix = [
|
|
||||||
nil
|
|
||||||
nix-doc # TODO: i forgot what this is for
|
|
||||||
alejandra
|
|
||||||
];
|
|
||||||
rust = [
|
|
||||||
cargo
|
|
||||||
mpkgs.rust-analyzer
|
|
||||||
# nightly rustfmt has nicer features :3
|
|
||||||
inputs.fenix.packages.${system}.complete.rustfmt
|
|
||||||
];
|
|
||||||
zig = [
|
|
||||||
zls
|
|
||||||
];
|
|
||||||
elixir = [
|
|
||||||
elixir-ls
|
|
||||||
];
|
|
||||||
gleam = [
|
|
||||||
gleam
|
|
||||||
];
|
|
||||||
haskell = [
|
|
||||||
haskell-language-server
|
|
||||||
ormolu
|
|
||||||
];
|
|
||||||
java = [
|
|
||||||
jdt-language-server
|
|
||||||
javaPackages.compiler.openjdk17
|
|
||||||
javaPackages.compiler.openjdk21
|
|
||||||
];
|
|
||||||
protobuf = [
|
|
||||||
protols
|
|
||||||
buf
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
startupPlugins = with pkgs.vimPlugins; {
|
|
||||||
general = [
|
|
||||||
lze
|
|
||||||
plenary-nvim
|
|
||||||
nvim-notify
|
|
||||||
nvim-web-devicons
|
|
||||||
base16-nvim
|
|
||||||
mini-nvim
|
|
||||||
];
|
];
|
||||||
treesitter = [
|
zig = [
|
||||||
nvim-treesitter-textobjects
|
zls
|
||||||
nvim-treesitter.withAllGrammars
|
];
|
||||||
|
elixir = [
|
||||||
|
elixir-ls
|
||||||
|
];
|
||||||
|
gleam = [
|
||||||
|
gleam
|
||||||
|
];
|
||||||
|
haskell = [
|
||||||
|
haskell-language-server
|
||||||
|
ormolu
|
||||||
|
];
|
||||||
|
java = [
|
||||||
|
jdt-language-server
|
||||||
|
javaPackages.compiler.openjdk17
|
||||||
|
javaPackages.compiler.openjdk21
|
||||||
|
];
|
||||||
|
protobuf = [
|
||||||
|
protols
|
||||||
|
buf
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
optionalPlugins = with pkgs.vimPlugins; {
|
|
||||||
general = [
|
|
||||||
];
|
|
||||||
ui = [
|
|
||||||
dressing-nvim
|
|
||||||
];
|
|
||||||
qol = [
|
|
||||||
undotree
|
|
||||||
mini-hipatterns
|
|
||||||
];
|
|
||||||
telescope = [
|
|
||||||
telescope-nvim
|
|
||||||
telescope-fzf-native-nvim
|
|
||||||
telescope-ui-select-nvim
|
|
||||||
];
|
|
||||||
fyler = [
|
|
||||||
fyler-nvim
|
|
||||||
];
|
|
||||||
lsp = [
|
|
||||||
nvim-lspconfig
|
|
||||||
];
|
|
||||||
completion = [
|
|
||||||
blink-cmp
|
|
||||||
nvim-cmp
|
|
||||||
luasnip
|
|
||||||
friendly-snippets
|
|
||||||
cmp_luasnip
|
|
||||||
cmp-buffer
|
|
||||||
cmp-path
|
|
||||||
cmp-nvim-lua
|
|
||||||
cmp-nvim-lsp
|
|
||||||
cmp-cmdline
|
|
||||||
cmp-nvim-lsp-signature-help
|
|
||||||
cmp-cmdline-history
|
|
||||||
lspkind-nvim
|
|
||||||
];
|
|
||||||
format = [
|
|
||||||
conform-nvim
|
|
||||||
];
|
|
||||||
comment = [
|
|
||||||
comment-nvim
|
|
||||||
];
|
|
||||||
lang = {
|
|
||||||
java = [
|
|
||||||
nvim-jdtls
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# shared libraries to be added to LD_LIBRARY_PATH
|
|
||||||
# variable available to nvim runtime
|
|
||||||
sharedLibraries = {
|
|
||||||
general = with pkgs; [
|
|
||||||
# libgit2
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
environmentVariables = {
|
|
||||||
lang = {
|
|
||||||
rust.lsp = {
|
|
||||||
# it literally won't see the rust-analyzer provided to it
|
|
||||||
# if you don't use an envrionment variable to tell it
|
|
||||||
RUST_ANALYZER_CMD = "${mpkgs.rust-analyzer}/bin/rust-analyzer";
|
|
||||||
};
|
|
||||||
elixir.lsp = {
|
|
||||||
ELIXIR_LS_CMD = "${pkgs.elixir-ls}/scripts/language_server.sh";
|
|
||||||
};
|
|
||||||
java.lsp = {
|
|
||||||
JAVA_HOME = "${pkgs.javaPackages.compiler.openjdk17}";
|
|
||||||
OPENJDK_17 = "${pkgs.javaPackages.compiler.openjdk17}";
|
|
||||||
OPENJDK_21 = "${pkgs.javaPackages.compiler.openjdk21}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
extraWrapperArgs = { };
|
|
||||||
# lists of the functions you would have passed to
|
|
||||||
# python.withPackages or lua.withPackages
|
|
||||||
|
|
||||||
# get the path to this python environment
|
|
||||||
# in your lua config via
|
|
||||||
# vim.g.python3_host_prog
|
|
||||||
# or run from nvim terminal via :!<packagename>-python3
|
|
||||||
extraPython3Packages = { };
|
|
||||||
# populates $LUA_PATH and $LUA_CPATH
|
|
||||||
extraLuaPackages = { };
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
startupPlugins = with pkgs.vimPlugins; {
|
||||||
|
general = [
|
||||||
|
lze
|
||||||
|
plenary-nvim
|
||||||
|
nvim-notify
|
||||||
|
nvim-web-devicons
|
||||||
|
base16-nvim
|
||||||
|
mini-nvim
|
||||||
|
];
|
||||||
|
treesitter = [
|
||||||
|
nvim-treesitter-textobjects
|
||||||
|
nvim-treesitter.withAllGrammars
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
optionalPlugins = with pkgs.vimPlugins; {
|
||||||
|
general = [
|
||||||
|
];
|
||||||
|
ui = [
|
||||||
|
dressing-nvim
|
||||||
|
];
|
||||||
|
qol = [
|
||||||
|
undotree
|
||||||
|
mini-hipatterns
|
||||||
|
];
|
||||||
|
telescope = [
|
||||||
|
telescope-nvim
|
||||||
|
telescope-fzf-native-nvim
|
||||||
|
telescope-ui-select-nvim
|
||||||
|
];
|
||||||
|
fyler = [
|
||||||
|
fyler-nvim
|
||||||
|
];
|
||||||
|
lsp = [
|
||||||
|
nvim-lspconfig
|
||||||
|
];
|
||||||
|
completion = [
|
||||||
|
blink-cmp
|
||||||
|
nvim-cmp
|
||||||
|
luasnip
|
||||||
|
friendly-snippets
|
||||||
|
cmp_luasnip
|
||||||
|
cmp-buffer
|
||||||
|
cmp-path
|
||||||
|
cmp-nvim-lua
|
||||||
|
cmp-nvim-lsp
|
||||||
|
cmp-cmdline
|
||||||
|
cmp-nvim-lsp-signature-help
|
||||||
|
cmp-cmdline-history
|
||||||
|
lspkind-nvim
|
||||||
|
];
|
||||||
|
format = [
|
||||||
|
conform-nvim
|
||||||
|
];
|
||||||
|
comment = [
|
||||||
|
comment-nvim
|
||||||
|
];
|
||||||
|
lang = {
|
||||||
|
java = [
|
||||||
|
nvim-jdtls
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# shared libraries to be added to LD_LIBRARY_PATH
|
||||||
|
# variable available to nvim runtime
|
||||||
|
sharedLibraries = {
|
||||||
|
general = with pkgs; [
|
||||||
|
# libgit2
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
environmentVariables = {
|
||||||
|
lang = {
|
||||||
|
rust.lsp = {
|
||||||
|
# it literally won't see the rust-analyzer provided to it
|
||||||
|
# if you don't use an envrionment variable to tell it
|
||||||
|
RUST_ANALYZER_CMD = "${mpkgs.rust-analyzer}/bin/rust-analyzer";
|
||||||
|
};
|
||||||
|
elixir.lsp = {
|
||||||
|
ELIXIR_LS_CMD = "${pkgs.elixir-ls}/scripts/language_server.sh";
|
||||||
|
};
|
||||||
|
java.lsp = {
|
||||||
|
JAVA_HOME = "${pkgs.javaPackages.compiler.openjdk17}";
|
||||||
|
OPENJDK_17 = "${pkgs.javaPackages.compiler.openjdk17}";
|
||||||
|
OPENJDK_21 = "${pkgs.javaPackages.compiler.openjdk21}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
extraWrapperArgs = {};
|
||||||
|
# lists of the functions you would have passed to
|
||||||
|
# python.withPackages or lua.withPackages
|
||||||
|
|
||||||
|
# get the path to this python environment
|
||||||
|
# in your lua config via
|
||||||
|
# vim.g.python3_host_prog
|
||||||
|
# or run from nvim terminal via :!<packagename>-python3
|
||||||
|
extraPython3Packages = {};
|
||||||
|
# populates $LUA_PATH and $LUA_CPATH
|
||||||
|
extraLuaPackages = {};
|
||||||
|
};
|
||||||
|
|
||||||
# see :help nixCats.flake.outputs.packageDefinitions
|
# see :help nixCats.flake.outputs.packageDefinitions
|
||||||
packageDefinitions.replace = {
|
packageDefinitions.replace = {
|
||||||
# these are the names of your packages
|
# these are the names of your packages
|
||||||
# you can include as many as you wish.
|
# you can include as many as you wish.
|
||||||
auroranvim =
|
auroranvim = {pkgs, ...}: {
|
||||||
{ pkgs, ... }:
|
# they contain a settings set defined above
|
||||||
{
|
# see :help nixCats.flake.outputs.settings
|
||||||
# they contain a settings set defined above
|
settings = {
|
||||||
# see :help nixCats.flake.outputs.settings
|
wrapRc = true;
|
||||||
settings = {
|
# IMPORTANT:
|
||||||
wrapRc = true;
|
# your alias may not conflict with your other packages.
|
||||||
# IMPORTANT:
|
aliases = [
|
||||||
# your alias may not conflict with your other packages.
|
"auravim"
|
||||||
aliases = [
|
"foxyvim"
|
||||||
"auravim"
|
"avix"
|
||||||
"foxyvim"
|
"fvix"
|
||||||
"avix"
|
];
|
||||||
"fvix"
|
};
|
||||||
];
|
# and a set of categories that you want
|
||||||
};
|
# (and other information to pass to lua)
|
||||||
# and a set of categories that you want
|
categories = {
|
||||||
# (and other information to pass to lua)
|
general = true;
|
||||||
categories = {
|
|
||||||
general = true;
|
|
||||||
|
|
||||||
ui = true;
|
ui = true;
|
||||||
qol = true;
|
qol = true;
|
||||||
telescope = true;
|
telescope = true;
|
||||||
fyler = true;
|
fyler = true;
|
||||||
lsp = true;
|
lsp = true;
|
||||||
completion = true;
|
completion = true;
|
||||||
treesitter = true;
|
treesitter = true;
|
||||||
format = true;
|
format = true;
|
||||||
comment = true;
|
comment = true;
|
||||||
|
|
||||||
lang = {
|
lang = {
|
||||||
lua = true;
|
lua = true;
|
||||||
nix = true;
|
nix = true;
|
||||||
rust = true;
|
rust = true;
|
||||||
zig = true;
|
zig = true;
|
||||||
elixir = true;
|
elixir = true;
|
||||||
gleam = true;
|
gleam = true;
|
||||||
haskell = true;
|
haskell = true;
|
||||||
java = true;
|
java = true;
|
||||||
protobuf = true;
|
protobuf = true;
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
{ inputs, ... }:
|
{inputs, ...}: {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
inputs.nixcord.homeModules.nixcord
|
inputs.nixcord.homeModules.nixcord
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
{ upkgs, ... }:
|
{upkgs, ...}: {
|
||||||
{
|
|
||||||
# optional dependencies can be found here:
|
# optional dependencies can be found here:
|
||||||
# https://yazi-rs.github.io/docs/installation/
|
# https://yazi-rs.github.io/docs/installation/
|
||||||
home.packages = with upkgs; [
|
home.packages = with upkgs; [
|
||||||
|
|
@ -24,12 +23,12 @@
|
||||||
mgr.prepend_keymap = [
|
mgr.prepend_keymap = [
|
||||||
# drag and drop!!
|
# drag and drop!!
|
||||||
{
|
{
|
||||||
on = [ "<S-c>" ];
|
on = ["<S-c>"];
|
||||||
run = ''shell "ripdrag -x -a \"$@\"" --confirm'';
|
run = ''shell "ripdrag -x -a \"$@\"" --confirm'';
|
||||||
}
|
}
|
||||||
# copy hovered file to clipboard
|
# copy hovered file to clipboard
|
||||||
{
|
{
|
||||||
on = [ "<S-y>" ];
|
on = ["<S-y>"];
|
||||||
run = ''shell -- path=%h; echo "file://$path" | wl-copy -t text/uri-list'';
|
run = ''shell -- path=%h; echo "file://$path" | wl-copy -t text/uri-list'';
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
{ upkgs, ... }:
|
{upkgs, ...}: {
|
||||||
{
|
|
||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableCompletion = true;
|
enableCompletion = true;
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
{ inputs, ... }:
|
{inputs, ...}: {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
inputs.mango.hmModules.mango
|
inputs.mango.hmModules.mango
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -1,83 +1,78 @@
|
||||||
{ ... }:
|
{...}: {
|
||||||
{
|
wayland.windowManager.river = let
|
||||||
wayland.windowManager.river =
|
layout = "rivertile";
|
||||||
let
|
in {
|
||||||
layout = "rivertile";
|
enable = true;
|
||||||
in
|
xwayland.enable = true;
|
||||||
{
|
|
||||||
enable = true;
|
|
||||||
xwayland.enable = true;
|
|
||||||
|
|
||||||
settings =
|
settings = let
|
||||||
let
|
main = "Super";
|
||||||
main = "Super";
|
|
||||||
|
|
||||||
# applications
|
# applications
|
||||||
terminal = "alacritty";
|
terminal = "alacritty";
|
||||||
browser = "firefox";
|
browser = "firefox";
|
||||||
in
|
in {
|
||||||
{
|
default-layout = "${layout}";
|
||||||
default-layout = "${layout}";
|
output-layout = "${layout}";
|
||||||
output-layout = "${layout}";
|
border-width = 1;
|
||||||
border-width = 1;
|
|
||||||
|
|
||||||
spawn = [
|
spawn = [
|
||||||
"${layout}"
|
"${layout}"
|
||||||
|
|
||||||
"awww-daemon"
|
"awww-daemon"
|
||||||
"waybar"
|
"waybar"
|
||||||
];
|
];
|
||||||
|
|
||||||
map.normal = {
|
map.normal = {
|
||||||
"${main} C" = "close"; # close focused window
|
"${main} C" = "close"; # close focused window
|
||||||
"${main}+Alt Delete" = "exit"; # exit river
|
"${main}+Alt Delete" = "exit"; # exit river
|
||||||
|
|
||||||
# app launcher
|
# app launcher
|
||||||
"${main} D" = ''spawn "pkill -x rofi || rofi -show drun -show-icons"'';
|
"${main} D" = ''spawn "pkill -x rofi || rofi -show drun -show-icons"'';
|
||||||
"Alt Tab" = ''spawn "pkill -x rofi || rofi -modi window -show window -show-icons"'';
|
"Alt Tab" = ''spawn "pkill -x rofi || rofi -modi window -show window -show-icons"'';
|
||||||
|
|
||||||
# spawn applications
|
# spawn applications
|
||||||
"${main} T" = ''spawn "${terminal}"'';
|
"${main} T" = ''spawn "${terminal}"'';
|
||||||
"${main} R" = ''spawn "${browser}"'';
|
"${main} R" = ''spawn "${browser}"'';
|
||||||
|
|
||||||
# move focused view to top of layout stack
|
# move focused view to top of layout stack
|
||||||
"${main} N" = "zoom";
|
"${main} N" = "zoom";
|
||||||
|
|
||||||
# focus next/previous view
|
# focus next/previous view
|
||||||
"${main} J" = "focus-view previous";
|
"${main} J" = "focus-view previous";
|
||||||
"${main} K" = "focus-view next";
|
"${main} K" = "focus-view next";
|
||||||
# move to next/previous output
|
# move to next/previous output
|
||||||
"${main} H" = "focus-output previous";
|
"${main} H" = "focus-output previous";
|
||||||
"${main} L" = "focus-output next";
|
"${main} L" = "focus-output next";
|
||||||
|
|
||||||
# swap next/previous view
|
# swap next/previous view
|
||||||
"${main}+Alt J" = "swap previous";
|
"${main}+Alt J" = "swap previous";
|
||||||
"${main}+Alt K" = "swap next";
|
"${main}+Alt K" = "swap next";
|
||||||
# send view to next/previous output
|
# send view to next/previous output
|
||||||
# and switch to that output (wip)
|
# and switch to that output (wip)
|
||||||
"${main}+Alt H" = "send-to-output previous";
|
"${main}+Alt H" = "send-to-output previous";
|
||||||
#"${main}+Alt H" = "focus-output previous";
|
#"${main}+Alt H" = "focus-output previous";
|
||||||
"${main}+Alt L" = "send-to-output next";
|
"${main}+Alt L" = "send-to-output next";
|
||||||
#"${main}+Alt L" = "focus-output next";
|
#"${main}+Alt L" = "focus-output next";
|
||||||
|
|
||||||
# move views
|
# move views
|
||||||
#"${main}+Alt H" = "move left 100";
|
#"${main}+Alt H" = "move left 100";
|
||||||
#"${main}+Alt J" = "move down 100";
|
#"${main}+Alt J" = "move down 100";
|
||||||
#"${main}+Alt K" = "move up 100";
|
#"${main}+Alt K" = "move up 100";
|
||||||
#"${main}+Alt L" = "move right 100";
|
#"${main}+Alt L" = "move right 100";
|
||||||
|
|
||||||
# snap views
|
# snap views
|
||||||
#"${main}+Control H" = "snap left";
|
#"${main}+Control H" = "snap left";
|
||||||
#"${main}+Control J" = "snap down";
|
#"${main}+Control J" = "snap down";
|
||||||
#"${main}+Control K" = "snap up";
|
#"${main}+Control K" = "snap up";
|
||||||
#"${main}+Control L" = "snap right";
|
#"${main}+Control L" = "snap right";
|
||||||
|
|
||||||
# resize views
|
# resize views
|
||||||
#"${main}+Shift H" = "resize horizontal -100";
|
#"${main}+Shift H" = "resize horizontal -100";
|
||||||
#"${main}+Shift J" = "resize vertical -100";
|
#"${main}+Shift J" = "resize vertical -100";
|
||||||
#"${main}+Shift K" = "resize vertical 100";
|
#"${main}+Shift K" = "resize vertical 100";
|
||||||
#"${main}+Shift L" = "resize horizontal 100";
|
#"${main}+Shift L" = "resize horizontal 100";
|
||||||
};
|
};
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
{ config, ... }:
|
{config, ...}: {
|
||||||
{
|
|
||||||
wayland.windowManager.sway = {
|
wayland.windowManager.sway = {
|
||||||
enable = true;
|
enable = true;
|
||||||
config = rec {
|
config = rec {
|
||||||
|
|
@ -7,46 +6,44 @@
|
||||||
terminal = "alacritty";
|
terminal = "alacritty";
|
||||||
|
|
||||||
# disable sway bar
|
# disable sway bar
|
||||||
bars = [ ];
|
bars = [];
|
||||||
|
|
||||||
# set border colors
|
# set border colors
|
||||||
#colors = {
|
#colors = {
|
||||||
#focused =
|
#focused =
|
||||||
|
|
||||||
startup = [
|
startup = [
|
||||||
{ command = "awww-daemon"; }
|
{command = "awww-daemon";}
|
||||||
{ command = "waybar"; }
|
{command = "waybar";}
|
||||||
];
|
];
|
||||||
|
|
||||||
keybindings =
|
keybindings = let
|
||||||
let
|
main = config.wayland.windowManager.sway.config.modifier;
|
||||||
main = config.wayland.windowManager.sway.config.modifier;
|
terminal = config.wayland.windowManager.sway.config.terminal;
|
||||||
terminal = config.wayland.windowManager.sway.config.terminal;
|
browser = "firefox";
|
||||||
browser = "firefox";
|
in {
|
||||||
in
|
"${main}+c" = "kill"; # close focused window
|
||||||
{
|
"${main}+Alt+Delete" = "exit"; # exit sway
|
||||||
"${main}+c" = "kill"; # close focused window
|
|
||||||
"${main}+Alt+Delete" = "exit"; # exit sway
|
|
||||||
|
|
||||||
# open launcher
|
# open launcher
|
||||||
"${main}+d" = "exec pkill -x rofi || rofi -show drun -show-icons";
|
"${main}+d" = "exec pkill -x rofi || rofi -show drun -show-icons";
|
||||||
"Alt+Tab" = "exec pkill -x rofi || rofi -modi window -show window -show-icons";
|
"Alt+Tab" = "exec pkill -x rofi || rofi -modi window -show window -show-icons";
|
||||||
|
|
||||||
"${main}+t" = "exec ${terminal}"; # open terminal
|
"${main}+t" = "exec ${terminal}"; # open terminal
|
||||||
"${main}+r" = "exec ${browser}"; # open browser
|
"${main}+r" = "exec ${browser}"; # open browser
|
||||||
|
|
||||||
# move focus
|
# move focus
|
||||||
"${main}+h" = "focus left";
|
"${main}+h" = "focus left";
|
||||||
"${main}+j" = "focus down";
|
"${main}+j" = "focus down";
|
||||||
"${main}+k" = "focus up";
|
"${main}+k" = "focus up";
|
||||||
"${main}+l" = "focus right";
|
"${main}+l" = "focus right";
|
||||||
|
|
||||||
# move focused window
|
# move focused window
|
||||||
"${main}+Alt+h" = "move left";
|
"${main}+Alt+h" = "move left";
|
||||||
"${main}+Alt+j" = "move down";
|
"${main}+Alt+j" = "move down";
|
||||||
"${main}+Alt+k" = "move up";
|
"${main}+Alt+k" = "move up";
|
||||||
"${main}+Alt+l" = "move right";
|
"${main}+Alt+l" = "move right";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
];
|
];
|
||||||
|
|
@ -117,7 +116,7 @@
|
||||||
|
|
||||||
users.users.foxora = {
|
users.users.foxora = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
extraGroups = [ "wheel" ];
|
extraGroups = ["wheel"];
|
||||||
|
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
tree
|
tree
|
||||||
|
|
|
||||||
|
|
@ -1,32 +1,35 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
lib,
|
||||||
];
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "ahci" "ehci_pci" "megaraid_sas" "usb_storage" "usbhid" "sd_mod" "sr_mod" ];
|
boot.initrd.availableKernelModules = ["ahci" "ehci_pci" "megaraid_sas" "usb_storage" "usbhid" "sd_mod" "sr_mod"];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = ["kvm-intel"];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/7f22e35f-7536-49c4-9c04-88874e87f266";
|
device = "/dev/disk/by-uuid/7f22e35f-7536-49c4-9c04-88874e87f266";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-uuid/0213-F9A0";
|
device = "/dev/disk/by-uuid/0213-F9A0";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = [ "fmask=0077" "dmask=0077" ];
|
options = ["fmask=0077" "dmask=0077"];
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices =
|
swapDevices = [
|
||||||
[ { device = "/dev/disk/by-uuid/0d04172b-aed8-42ea-9cb8-e5dcbf960200"; }
|
{device = "/dev/disk/by-uuid/0d04172b-aed8-42ea-9cb8-e5dcbf960200";}
|
||||||
];
|
];
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
];
|
];
|
||||||
|
|
@ -57,7 +56,7 @@
|
||||||
|
|
||||||
users.users.foxora = {
|
users.users.foxora = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
extraGroups = [ "wheel" ];
|
extraGroups = ["wheel"];
|
||||||
|
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
tree
|
tree
|
||||||
|
|
@ -91,4 +90,3 @@
|
||||||
|
|
||||||
system.stateVersion = "25.11";
|
system.stateVersion = "25.11";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,32 +1,35 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
lib,
|
||||||
];
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "megaraid_sas" "usb_storage" "usbhid" "sd_mod" ];
|
boot.initrd.availableKernelModules = ["ahci" "xhci_pci" "megaraid_sas" "usb_storage" "usbhid" "sd_mod"];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = ["kvm-intel"];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/1bc53888-6db8-46df-aa28-975b710c5de8";
|
device = "/dev/disk/by-uuid/1bc53888-6db8-46df-aa28-975b710c5de8";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-uuid/12CE-A600";
|
device = "/dev/disk/by-uuid/12CE-A600";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = [ "fmask=0077" "dmask=0077" ];
|
options = ["fmask=0077" "dmask=0077"];
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices =
|
swapDevices = [
|
||||||
[ { device = "/dev/disk/by-uuid/60643004-6916-46b3-8655-66fdc28cf5ad"; }
|
{device = "/dev/disk/by-uuid/60643004-6916-46b3-8655-66fdc28cf5ad";}
|
||||||
];
|
];
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,7 @@
|
||||||
root,
|
root,
|
||||||
upkgs,
|
upkgs,
|
||||||
...
|
...
|
||||||
}:
|
}: {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
|
|
||||||
|
|
@ -13,7 +12,7 @@
|
||||||
|
|
||||||
# Use the systemd-boot EFI boot loader.
|
# Use the systemd-boot EFI boot loader.
|
||||||
boot = rec {
|
boot = rec {
|
||||||
initrd.kernelModules = [ "amdgpu" ];
|
initrd.kernelModules = ["amdgpu"];
|
||||||
|
|
||||||
loader = {
|
loader = {
|
||||||
systemd-boot.enable = true;
|
systemd-boot.enable = true;
|
||||||
|
|
@ -23,8 +22,8 @@
|
||||||
kernelPackages = upkgs.cachyosKernels.linuxPackages-cachyos-latest-lto-x86_64-v4;
|
kernelPackages = upkgs.cachyosKernels.linuxPackages-cachyos-latest-lto-x86_64-v4;
|
||||||
# TODO: idk make this a toggle or smth idfk
|
# TODO: idk make this a toggle or smth idfk
|
||||||
# kernelPackages = upkgs.linuxPackages_latest;
|
# kernelPackages = upkgs.linuxPackages_latest;
|
||||||
kernelModules = [ "v4l2loopback" ];
|
kernelModules = ["v4l2loopback"];
|
||||||
extraModulePackages = with kernelPackages; [ v4l2loopback ];
|
extraModulePackages = with kernelPackages; [v4l2loopback];
|
||||||
|
|
||||||
# qemu
|
# qemu
|
||||||
# binfmt.emulatedSystems = [
|
# binfmt.emulatedSystems = [
|
||||||
|
|
@ -99,7 +98,7 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
config.common = {
|
config.common = {
|
||||||
"org.freedesktop.impl.portal.FileChooser" = [ "termfilechooser" ];
|
"org.freedesktop.impl.portal.FileChooser" = ["termfilechooser"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -214,10 +213,9 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.tmpfiles.rules =
|
systemd.tmpfiles.rules = let
|
||||||
let
|
imagePath = root + "/homes/aurora/profile.png";
|
||||||
imagePath = root + "/homes/aurora/profile.png";
|
in
|
||||||
in
|
|
||||||
lib.mkIf (builtins.pathExists imagePath) [
|
lib.mkIf (builtins.pathExists imagePath) [
|
||||||
"L /var/lib/AccountsService/icons/aurora - - - - ${imagePath}"
|
"L /var/lib/AccountsService/icons/aurora - - - - ${imagePath}"
|
||||||
];
|
];
|
||||||
|
|
|
||||||
205
snow.nix
205
snow.nix
|
|
@ -1,136 +1,135 @@
|
||||||
{ cerulean, ... }@inputs:
|
{cerulean, ...} @ inputs:
|
||||||
cerulean.mkNexus ./. (self: {
|
cerulean.mkNexus ./. (self: {
|
||||||
nexus = {
|
nexus = {
|
||||||
args = { inherit inputs; };
|
args = {inherit inputs;};
|
||||||
|
|
||||||
modules = with inputs; [ ];
|
modules = with inputs; [];
|
||||||
|
|
||||||
base = inputs.nixpkgs;
|
base = inputs.nixpkgs;
|
||||||
homeManager = inputs.home-manager;
|
homeManager = inputs.home-manager;
|
||||||
|
|
||||||
groups = {
|
groups = {
|
||||||
servers = { };
|
servers = {};
|
||||||
};
|
};
|
||||||
|
|
||||||
nodes =
|
nodes = let
|
||||||
let
|
inherit
|
||||||
inherit (self.nexus)
|
(self.nexus)
|
||||||
groups
|
groups
|
||||||
;
|
;
|
||||||
in
|
in {
|
||||||
{
|
nixarawrui = {
|
||||||
nixarawrui = {
|
system = "x86_64-linux";
|
||||||
system = "x86_64-linux";
|
|
||||||
|
|
||||||
base = inputs.nixpkgs-unstable;
|
base = inputs.nixpkgs-unstable;
|
||||||
homeManager = inputs.home-manager-unstable;
|
homeManager = inputs.home-manager-unstable;
|
||||||
|
|
||||||
modules = with inputs; [
|
modules = with inputs; [
|
||||||
sddm-silent.nixosModules.default
|
sddm-silent.nixosModules.default
|
||||||
inputs.mango.nixosModules.mango
|
inputs.mango.nixosModules.mango
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
arcturus = {
|
arcturus = {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
|
|
||||||
groups = [
|
groups = [
|
||||||
groups.servers
|
groups.servers
|
||||||
];
|
];
|
||||||
|
|
||||||
modules = with inputs; [
|
modules = with inputs; [
|
||||||
microvm.nixosModules.host
|
microvm.nixosModules.host
|
||||||
|
|
||||||
{
|
{
|
||||||
microvm.vms = {
|
microvm.vms = {
|
||||||
home-assistant = {
|
home-assistant = {
|
||||||
autostart = true;
|
autostart = true;
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
imports = [ ./vms/home-assistant/default.nix ];
|
imports = [./vms/home-assistant/default.nix];
|
||||||
|
|
||||||
networking.hostName = "home-assistant";
|
networking.hostName = "home-assistant";
|
||||||
|
|
||||||
boot.kernelParams = [
|
boot.kernelParams = [
|
||||||
"console=ttyS0"
|
"console=ttyS0"
|
||||||
"console=ttyS1"
|
"console=ttyS1"
|
||||||
"8250.nr_uarts=2"
|
"8250.nr_uarts=2"
|
||||||
|
];
|
||||||
|
systemd.services."serial-getty@ttyS1".enable = true;
|
||||||
|
|
||||||
|
microvm = {
|
||||||
|
hypervisor = "qemu";
|
||||||
|
|
||||||
|
# needed to get interface working
|
||||||
|
qemu.extraArgs = [
|
||||||
|
"-monitor"
|
||||||
|
"unix:/var/lib/microvms/home-assistant/monitor.sock,server,nowait"
|
||||||
|
"-chardev"
|
||||||
|
"socket,id=serial1,path=/var/lib/microvms/home-assistant/serial.sock,server=on,wait=off"
|
||||||
|
"-serial"
|
||||||
|
"chardev:serial1"
|
||||||
];
|
];
|
||||||
systemd.services."serial-getty@ttyS1".enable = true;
|
|
||||||
|
|
||||||
microvm = {
|
# memory cannot be 2GB so i doubled it and used 4GB:
|
||||||
hypervisor = "qemu";
|
# https://github.com/microvm-nix/microvm.nix/issues/171
|
||||||
|
# TODO: can be fixed by turning off acpi in qemu
|
||||||
|
mem = 4096; # 4GB
|
||||||
|
vcpu = 2;
|
||||||
|
|
||||||
# needed to get interface working
|
interfaces = [
|
||||||
qemu.extraArgs = [
|
{
|
||||||
"-monitor"
|
type = "tap";
|
||||||
"unix:/var/lib/microvms/home-assistant/monitor.sock,server,nowait"
|
id = "vm-hass";
|
||||||
"-chardev"
|
mac = "0a:00:a0:70:01:01";
|
||||||
"socket,id=serial1,path=/var/lib/microvms/home-assistant/serial.sock,server=on,wait=off"
|
}
|
||||||
"-serial"
|
];
|
||||||
"chardev:serial1"
|
|
||||||
];
|
|
||||||
|
|
||||||
# memory cannot be 2GB so i doubled it and used 4GB:
|
volumes = [
|
||||||
# https://github.com/microvm-nix/microvm.nix/issues/171
|
#{
|
||||||
# TODO: can be fixed by turning off acpi in qemu
|
#image = "/var/lib/microvms/home-assistant/data.img";
|
||||||
mem = 4096; # 4GB
|
#mountPoint = "/var/lib/hass";
|
||||||
vcpu = 2;
|
#autoCreate = false;
|
||||||
|
#}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
interfaces = [
|
systemd.network.enable = true;
|
||||||
{
|
systemd.network.networks."20-lan" = {
|
||||||
type = "tap";
|
matchConfig.Type = "ether";
|
||||||
id = "vm-hass";
|
networkConfig = {
|
||||||
mac = "0a:00:a0:70:01:01";
|
Address = ["10.16.1.127/24"];
|
||||||
}
|
Gateway = "10.16.1.1";
|
||||||
];
|
DNS = ["10.16.1.1"];
|
||||||
|
IPv6AcceptRA = true;
|
||||||
volumes = [
|
DHCP = "yes";
|
||||||
#{
|
|
||||||
#image = "/var/lib/microvms/home-assistant/data.img";
|
|
||||||
#mountPoint = "/var/lib/hass";
|
|
||||||
#autoCreate = false;
|
|
||||||
#}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.network.enable = true;
|
|
||||||
systemd.network.networks."20-lan" = {
|
|
||||||
matchConfig.Type = "ether";
|
|
||||||
networkConfig = {
|
|
||||||
Address = [ "10.16.1.127/24" ];
|
|
||||||
Gateway = "10.16.1.1";
|
|
||||||
DNS = [ "10.16.1.1" ];
|
|
||||||
IPv6AcceptRA = true;
|
|
||||||
DHCP = "yes";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
};
|
||||||
];
|
}
|
||||||
|
];
|
||||||
|
|
||||||
deploy.ssh = {
|
deploy.ssh = {
|
||||||
host = "10.16.1.163";
|
host = "10.16.1.163";
|
||||||
port = 2222;
|
port = 2222;
|
||||||
user = "foxora";
|
user = "foxora";
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
lyra = {
|
|
||||||
system = "x86_64-linux";
|
|
||||||
|
|
||||||
groups = [
|
|
||||||
groups.servers
|
|
||||||
];
|
|
||||||
|
|
||||||
deploy.ssh = {
|
|
||||||
host = "10.16.1.58";
|
|
||||||
port = 2222;
|
|
||||||
user = "foxora";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
lyra = {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
|
||||||
|
groups = [
|
||||||
|
groups.servers
|
||||||
|
];
|
||||||
|
|
||||||
|
deploy.ssh = {
|
||||||
|
host = "10.16.1.58";
|
||||||
|
port = 2222;
|
||||||
|
user = "foxora";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
services.home-assistant = {
|
services.home-assistant = {
|
||||||
enable = true;
|
enable = true;
|
||||||
configDir = "/var/lib/hass/hass";
|
configDir = "/var/lib/hass/hass";
|
||||||
|
|
@ -21,28 +20,29 @@
|
||||||
"mobile_app"
|
"mobile_app"
|
||||||
];
|
];
|
||||||
|
|
||||||
extraPackages = python3Packages: with python3Packages; [
|
extraPackages = python3Packages:
|
||||||
getmac
|
with python3Packages; [
|
||||||
aiohue
|
getmac
|
||||||
numpy
|
aiohue
|
||||||
aiodhcpwatcher
|
numpy
|
||||||
async-upnp-client
|
aiodhcpwatcher
|
||||||
gtts
|
async-upnp-client
|
||||||
numpy
|
gtts
|
||||||
plexapi
|
numpy
|
||||||
pyipp
|
plexapi
|
||||||
paho-mqtt
|
pyipp
|
||||||
pyturbojpeg
|
paho-mqtt
|
||||||
];
|
pyturbojpeg
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
# configures the config directory to be mounted
|
# configures the config directory to be mounted
|
||||||
# correctly with the right permissions
|
# correctly with the right permissions
|
||||||
systemd.services.hass-permissions = {
|
systemd.services.hass-permissions = {
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = ["multi-user.target"];
|
||||||
after = [ "var-lib-hass.mount" ];
|
after = ["var-lib-hass.mount"];
|
||||||
requires = [ "var-lib-hass.mount" ];
|
requires = ["var-lib-hass.mount"];
|
||||||
before = [ "home-assistant.service" ];
|
before = ["home-assistant.service"];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
ExecStart = "${pkgs.bash}/bin/bash -c 'mkdir -p /var/lib/hass/hass && chown hass:hass /var/lib/hass/hass'";
|
ExecStart = "${pkgs.bash}/bin/bash -c 'mkdir -p /var/lib/hass/hass && chown hass:hass /var/lib/hass/hass'";
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue