Initial commit
This commit is contained in:
commit
1518f7007b
39 changed files with 1779 additions and 0 deletions
18
m/home/default.nix
Normal file
18
m/home/default.nix
Normal file
|
@ -0,0 +1,18 @@
|
|||
{ inputs, config, lib, ... }:
|
||||
let
|
||||
hm = config.maid.hm;
|
||||
masters = config.maid.masters;
|
||||
in
|
||||
{
|
||||
options.maid.hm = {
|
||||
enable = lib.mkEnableOption "home-manager";
|
||||
};
|
||||
|
||||
config.home-manager = lib.mkIf hm.enable {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
|
||||
extraSpecialArgs = { inherit inputs; };
|
||||
users.nero = lib.mkIf masters.nero.enable (import ./nero);
|
||||
};
|
||||
}
|
28
m/home/helix/default.nix
Normal file
28
m/home/helix/default.nix
Normal file
|
@ -0,0 +1,28 @@
|
|||
{ pkgs, ... }:
|
||||
let
|
||||
sonokai = import themes/sonokai;
|
||||
langs = (import ./langs) pkgs;
|
||||
in
|
||||
{
|
||||
programs.helix = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
theme = "sonokai-andromeda";
|
||||
editor.cursor-shape = {
|
||||
normal = "block";
|
||||
insert = "bar";
|
||||
select = "underline";
|
||||
};
|
||||
};
|
||||
|
||||
languages = {
|
||||
language-server.rust-analyzer.config = {
|
||||
rust.analyzerTargetDir = true;
|
||||
};
|
||||
};
|
||||
themes = {
|
||||
sonokai-andromeda = sonokai "andromeda";
|
||||
};
|
||||
};
|
||||
}
|
15
m/home/helix/langs/default.nix
Normal file
15
m/home/helix/langs/default.nix
Normal file
|
@ -0,0 +1,15 @@
|
|||
{ pkgs, ... }:
|
||||
rec {
|
||||
use = name: (import ./${"${name}.nix"}) pkgs;
|
||||
combine = lhs: rhs: {
|
||||
lsp = (lhs.lsp or {}) // (rhs.lsp or {});
|
||||
entries = (lhs.entries or []) ++ (rhs.entries or []);
|
||||
};
|
||||
|
||||
intoHelixFormat = cfg: {
|
||||
language-server = cfg.lsp;
|
||||
language = cfg.entries;
|
||||
};
|
||||
useMany = langs: builtins.foldl' combine {} (map use langs);
|
||||
}
|
||||
|
15
m/home/helix/langs/nix.nix
Normal file
15
m/home/helix/langs/nix.nix
Normal file
|
@ -0,0 +1,15 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
lsp.nixd = {
|
||||
command = "${pkgs.nixd}/bin/nixd";
|
||||
};
|
||||
entries = [{
|
||||
name = "Nix";
|
||||
scope = "source.nix";
|
||||
injection-regex = "nix";
|
||||
file-types = ["nix"];
|
||||
comment-tokens = "#";
|
||||
indent = { tab-width = 2; unit = " "; };
|
||||
language-servers = [ "nixd" ];
|
||||
}];
|
||||
}
|
2
m/home/helix/nigger.toml
Normal file
2
m/home/helix/nigger.toml
Normal file
|
@ -0,0 +1,2 @@
|
|||
[a]
|
||||
b = 10
|
179
m/home/helix/themes/sonokai/default.nix
Normal file
179
m/home/helix/themes/sonokai/default.nix
Normal file
|
@ -0,0 +1,179 @@
|
|||
palette:
|
||||
{
|
||||
"attribute" = "purple";
|
||||
"comment" = "grey";
|
||||
"constant" = "purple";
|
||||
"constant.character.escape" = "orange";
|
||||
"constant.numeric" = "purple";
|
||||
"constructor" = "blue";
|
||||
"diagnostic" = { "underlined" = { "style" = "line"; }; };
|
||||
"diagnostic.error" = {
|
||||
"underline" = {
|
||||
"color" = "red";
|
||||
"style" = "curl";
|
||||
};
|
||||
};
|
||||
"diagnostic.hint" = {
|
||||
"underline" = {
|
||||
"color" = "blue";
|
||||
"style" = "dotted";
|
||||
};
|
||||
};
|
||||
"diagnostic.info" = {
|
||||
"underline" = {
|
||||
"color" = "green";
|
||||
"style" = "dotted";
|
||||
};
|
||||
};
|
||||
"diagnostic.warning" = {
|
||||
"underline" = {
|
||||
"color" = "yellow";
|
||||
"style" = "curl";
|
||||
};
|
||||
};
|
||||
"diff.delta" = "orange";
|
||||
"diff.minus" = "red";
|
||||
"diff.plus" = "green";
|
||||
"error" = "red";
|
||||
"function" = "green";
|
||||
"function.builtin" = "blue";
|
||||
"function.macro" = "purple";
|
||||
"hint" = "blue";
|
||||
"info" = "green";
|
||||
"keyword" = "red";
|
||||
"keyword.directive" = "purple";
|
||||
"label" = "orange";
|
||||
"markup.bold" = { "modifiers" = [ "bold" ]; };
|
||||
"markup.heading.1" = {
|
||||
"fg" = "red";
|
||||
"modifiers" = [ "bold" ];
|
||||
};
|
||||
"markup.heading.2" = {
|
||||
"fg" = "orange";
|
||||
"modifiers" = [ "bold" ];
|
||||
};
|
||||
"markup.heading.3" = {
|
||||
"fg" = "yellow";
|
||||
"modifiers" = [ "bold" ];
|
||||
};
|
||||
"markup.heading.4" = {
|
||||
"fg" = "green";
|
||||
"modifiers" = [ "bold" ];
|
||||
};
|
||||
"markup.heading.5" = {
|
||||
"fg" = "blue";
|
||||
"modifiers" = [ "bold" ];
|
||||
};
|
||||
"markup.heading.6" = {
|
||||
"fg" = "fg";
|
||||
"modifiers" = [ "bold" ];
|
||||
};
|
||||
"markup.heading.marker" = "grey";
|
||||
"markup.italic" = { "modifiers" = [ "italic" ]; };
|
||||
"markup.link.text" = "purple";
|
||||
"markup.link.url" = {
|
||||
"fg" = "blue";
|
||||
"modifiers" = [ "underlined" ];
|
||||
};
|
||||
"markup.list" = "red";
|
||||
"markup.quote" = "grey";
|
||||
"markup.raw" = "green";
|
||||
"module" = "blue";
|
||||
"namespace" = "blue";
|
||||
"operator" = "orange";
|
||||
"punctuation" = "grey";
|
||||
"punctuation.bracket" = "fg";
|
||||
"punctuation.delimiter" = "grey";
|
||||
"special" = "orange";
|
||||
"string" = "yellow";
|
||||
"string.regexp" = "orange";
|
||||
"tag" = "yellow";
|
||||
"type" = "blue";
|
||||
"ui.background" = { "bg" = "bg0"; };
|
||||
"ui.background.separator" = "grey";
|
||||
"ui.bufferline" = {
|
||||
"bg" = "bg1";
|
||||
"fg" = "grey";
|
||||
};
|
||||
"ui.bufferline.active" = {
|
||||
"bg" = "bg4";
|
||||
"fg" = "fg";
|
||||
"modifiers" = [ "bold" ];
|
||||
};
|
||||
"ui.cursor" = {
|
||||
"bg" = "fg";
|
||||
"fg" = "bg0";
|
||||
};
|
||||
"ui.cursor.insert" = {
|
||||
"bg" = "grey";
|
||||
"fg" = "black";
|
||||
};
|
||||
"ui.cursor.match" = {
|
||||
"bg" = "diff_yellow";
|
||||
"fg" = "orange";
|
||||
};
|
||||
"ui.cursor.select" = {
|
||||
"bg" = "blue";
|
||||
"fg" = "bg0";
|
||||
};
|
||||
"ui.cursorline.primary" = { "bg" = "bg1"; };
|
||||
"ui.cursorline.secondary" = { "bg" = "bg1"; };
|
||||
"ui.help" = {
|
||||
"bg" = "bg2";
|
||||
"fg" = "fg";
|
||||
};
|
||||
"ui.linenr" = "grey";
|
||||
"ui.linenr.selected" = "fg";
|
||||
"ui.menu" = {
|
||||
"bg" = "bg3";
|
||||
"fg" = "fg";
|
||||
};
|
||||
"ui.menu.selected" = {
|
||||
"bg" = "green";
|
||||
"fg" = "bg0";
|
||||
};
|
||||
"ui.popup" = {
|
||||
"bg" = "bg2";
|
||||
"fg" = "grey";
|
||||
};
|
||||
"ui.selection" = { "bg" = "bg4"; };
|
||||
"ui.statusline" = {
|
||||
"bg" = "bg3";
|
||||
"fg" = "fg";
|
||||
};
|
||||
"ui.statusline.inactive" = {
|
||||
"bg" = "bg1";
|
||||
"fg" = "grey";
|
||||
};
|
||||
"ui.statusline.insert" = {
|
||||
"bg" = "yellow";
|
||||
"fg" = "bg0";
|
||||
"modifiers" = [ "bold" ];
|
||||
};
|
||||
"ui.statusline.normal" = {
|
||||
"bg" = "fg";
|
||||
"fg" = "bg0";
|
||||
"modifiers" = [ "bold" ];
|
||||
};
|
||||
"ui.statusline.select" = {
|
||||
"bg" = "blue";
|
||||
"fg" = "bg0";
|
||||
"modifiers" = [ "bold" ];
|
||||
};
|
||||
"ui.text" = "fg";
|
||||
"ui.text.focus" = "green";
|
||||
"ui.virtual.indent-guide" = { "fg" = "bg4"; };
|
||||
"ui.virtual.ruler" = { "bg" = "bg2"; };
|
||||
"ui.virtual.whitespace" = { "fg" = "bg4"; };
|
||||
"ui.window" = {
|
||||
"bg" = "bg0";
|
||||
"fg" = "grey";
|
||||
};
|
||||
"variable" = "fg";
|
||||
"variable.builtin" = "orange";
|
||||
"variable.other.member" = "fg";
|
||||
"variable.parameter" = "fg";
|
||||
"warning" = "yellow";
|
||||
|
||||
palette = import (./. + "/palettes/${palette}.nix");
|
||||
}
|
25
m/home/helix/themes/sonokai/palettes/andromeda.nix
Normal file
25
m/home/helix/themes/sonokai/palettes/andromeda.nix
Normal file
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
black = "#181a1c";
|
||||
bg0 = "#2b2d3a";
|
||||
bg1 = "#333648";
|
||||
bg2 = "#363a4e";
|
||||
bg3 = "#393e53";
|
||||
bg4 = "#3f445b";
|
||||
bg_red = "#ff6188";
|
||||
diff_red = "#55393d";
|
||||
bg_green = "#a9dc76";
|
||||
diff_green = "#394634";
|
||||
bg_blue = "#77d5f0";
|
||||
diff_blue = "#354157";
|
||||
diff_yellow = "#4e432f";
|
||||
fg = "#e1e3e4";
|
||||
red = "#fb617e";
|
||||
orange = "#f89860";
|
||||
yellow = "#edc763";
|
||||
green = "#9ed06c";
|
||||
cyan = "#ef9062"; # added for compatibility with `edge` scheme
|
||||
blue = "#6dcae8";
|
||||
purple = "#bb97ee";
|
||||
grey = "#7e8294";
|
||||
grey_dim = "#5a5e7a";
|
||||
}
|
81
m/home/nero/default.nix
Normal file
81
m/home/nero/default.nix
Normal file
|
@ -0,0 +1,81 @@
|
|||
{ config, inputs, pkgs, ... }:
|
||||
{
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
nix-direnv.enable = true;
|
||||
};
|
||||
programs.bash = {
|
||||
enable = true;
|
||||
bashrcExtra = ''
|
||||
eval "$(direnv hook bash)"
|
||||
'';
|
||||
};
|
||||
|
||||
programs.wezterm = {
|
||||
package = inputs.wezterm.packages.${pkgs.system}.default;
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
|
||||
extraConfig = ''
|
||||
return {
|
||||
enable_wayland = true
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
||||
home.username = "nero";
|
||||
home.homeDirectory = "/home/nero";
|
||||
|
||||
home.stateVersion = "25.05";
|
||||
home.file = {
|
||||
".terraformrc".text = ''
|
||||
provider_installation {
|
||||
network_mirror {
|
||||
url = "https://terraform-mirror.yandexcloud.net/"
|
||||
include = ["registry.terraform.io/*/*"]
|
||||
}
|
||||
direct {
|
||||
exclude = ["registry.terraform.io/*/*"]
|
||||
}
|
||||
}
|
||||
'';
|
||||
".cargo/config.toml" = {
|
||||
text = ''
|
||||
[net]
|
||||
git-fetch-with-cli = true
|
||||
|
||||
[target.x86_64-unknown-linux-gnu]
|
||||
linker = "${pkgs.clang}/bin/clang"
|
||||
rustflags = ["-C", "link-arg=--ld-path=${pkgs.mold}/bin/mold"]
|
||||
'';
|
||||
};
|
||||
};
|
||||
dconf.settings = {
|
||||
"org/gnome/desktop/interface" = {
|
||||
color-scheme = "prefer-dark";
|
||||
gtk-theme = "Adwaita-dark";
|
||||
};
|
||||
};
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
theme = {
|
||||
name = "Adwaita-dark";
|
||||
package = pkgs.gnome-themes-extra;
|
||||
};
|
||||
};
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
extraPortals = with pkgs; [ xdg-desktop-portal-gtk ];
|
||||
configPackages = with pkgs; [ xdg-desktop-portal-gtk ];
|
||||
};
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme.name = "Adwaita-dark";
|
||||
style = {
|
||||
name = "Adwaita-dark";
|
||||
package = pkgs.adwaita-qt;
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue