refactor: apply nixfmt
This commit is contained in:
138
flake.nix
138
flake.nix
@@ -2,89 +2,107 @@
|
|||||||
description = "My homebrew NixOS configurations";
|
description = "My homebrew NixOS configurations";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = github:nixos/nixpkgs/nixos-unstable;
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = github:nix-community/home-manager;
|
url = "github:nix-community/home-manager";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
nixvim = {
|
nixvim = {
|
||||||
url = github:nix-community/nixvim;
|
url = "github:nix-community/nixvim";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
plasma-manager = {
|
plasma-manager = {
|
||||||
url = github:nix-community/plasma-manager;
|
url = "github:nix-community/plasma-manager";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
nur.url = github:nix-community/NUR;
|
nur.url = "github:nix-community/NUR";
|
||||||
nethack.url = git+https://git.psf.lt/xezo360hye/nethack?shallow=1;
|
nethack.url = "git+https://git.psf.lt/xezo360hye/nethack?shallow=1";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = {
|
outputs =
|
||||||
self,
|
{
|
||||||
nixpkgs,
|
self,
|
||||||
home-manager,
|
nixpkgs,
|
||||||
nixvim,
|
home-manager,
|
||||||
nethack,
|
nixvim,
|
||||||
plasma-manager,
|
nethack,
|
||||||
nur,
|
plasma-manager,
|
||||||
...
|
nur,
|
||||||
} @ inputs:
|
...
|
||||||
let
|
}@inputs:
|
||||||
inherit (nixpkgs) lib;
|
let
|
||||||
|
inherit (nixpkgs) lib;
|
||||||
|
|
||||||
username = "andrey";
|
username = "andrey";
|
||||||
hostnames = [ "tokishiko" "maidena" "noma" "tuxedo" ];
|
hostnames = [
|
||||||
stateVersion = "24.05";
|
"tokishiko"
|
||||||
|
"maidena"
|
||||||
|
"noma"
|
||||||
|
"tuxedo"
|
||||||
|
];
|
||||||
|
stateVersion = "24.05";
|
||||||
|
|
||||||
makeSystem = hostname: {
|
makeSystem = hostname: {
|
||||||
"${hostname}" = nixpkgs.lib.nixosSystem {
|
"${hostname}" = nixpkgs.lib.nixosSystem {
|
||||||
specialArgs = { inherit inputs; };
|
specialArgs = { inherit inputs; };
|
||||||
modules = [
|
modules = [
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
nur.modules.nixos.default
|
nur.modules.nixos.default
|
||||||
|
|
||||||
./system/common.nix
|
./system/common.nix
|
||||||
./system/${hostname}.nix
|
./system/${hostname}.nix
|
||||||
./hardware/${hostname}.nix
|
./hardware/${hostname}.nix
|
||||||
|
|
||||||
{
|
{
|
||||||
system.stateVersion = stateVersion;
|
system.stateVersion = stateVersion;
|
||||||
networking.hostName = hostname;
|
networking.hostName = hostname;
|
||||||
|
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = true;
|
||||||
|
|
||||||
home-manager.users.${username} = {
|
home-manager.users.${username} = {
|
||||||
imports = [
|
imports =
|
||||||
./home/${hostname}.nix
|
[
|
||||||
./home/common.nix
|
./home/${hostname}.nix
|
||||||
] ++ (map
|
./home/common.nix
|
||||||
(module:
|
]
|
||||||
let hm = module.homeManagerModules;
|
++ (map
|
||||||
in hm.${lib.head (lib.attrNames hm)})
|
(
|
||||||
[ nixvim nethack plasma-manager ]);
|
module:
|
||||||
|
let
|
||||||
|
hm = module.homeManagerModules;
|
||||||
|
in
|
||||||
|
hm.${lib.head (lib.attrNames hm)}
|
||||||
|
)
|
||||||
|
[
|
||||||
|
nixvim
|
||||||
|
nethack
|
||||||
|
plasma-manager
|
||||||
|
]
|
||||||
|
);
|
||||||
|
|
||||||
home = {
|
home = {
|
||||||
username = username;
|
username = username;
|
||||||
homeDirectory = "/home/${username}";
|
homeDirectory = "/home/${username}";
|
||||||
stateVersion = stateVersion;
|
stateVersion = stateVersion;
|
||||||
|
};
|
||||||
|
|
||||||
|
news.display = "show";
|
||||||
};
|
};
|
||||||
|
}
|
||||||
news.display = "show";
|
];
|
||||||
};
|
};
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
forEachHost = fn: lib.mergeAttrsList (map fn hostnames);
|
||||||
|
in
|
||||||
|
{
|
||||||
|
nixosConfigurations = forEachHost makeSystem;
|
||||||
|
|
||||||
|
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt-tree;
|
||||||
};
|
};
|
||||||
|
|
||||||
forEachHost = fn: lib.mergeAttrsList (map fn hostnames);
|
|
||||||
in {
|
|
||||||
nixosConfigurations = forEachHost makeSystem;
|
|
||||||
|
|
||||||
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt-tree;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
@@ -11,13 +11,11 @@
|
|||||||
fastfetch.enable = true;
|
fastfetch.enable = true;
|
||||||
btop.enable = true;
|
btop.enable = true;
|
||||||
|
|
||||||
|
|
||||||
bash = {
|
bash = {
|
||||||
enable = true;
|
enable = true;
|
||||||
historyControl = [ "ignoreboth" ];
|
historyControl = [ "ignoreboth" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
git = {
|
git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
userName = "xezo360hye";
|
userName = "xezo360hye";
|
||||||
@@ -26,8 +24,14 @@
|
|||||||
extraConfig = {
|
extraConfig = {
|
||||||
credential.helper = "store";
|
credential.helper = "store";
|
||||||
init.defaultBranch = "master";
|
init.defaultBranch = "master";
|
||||||
url."https://github.com/".insteadOf = [ "gh:" "github:" ];
|
url."https://github.com/".insteadOf = [
|
||||||
url."https://git.psf.lt/".insteadOf = [ "psf:" "gitea:" ];
|
"gh:"
|
||||||
|
"github:"
|
||||||
|
];
|
||||||
|
url."https://git.psf.lt/".insteadOf = [
|
||||||
|
"psf:"
|
||||||
|
"gitea:"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -49,39 +53,42 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
home = {
|
home = {
|
||||||
packages = with pkgs; let
|
packages =
|
||||||
sent' = sent.overrideAttrs (oldAttrs: {
|
with pkgs;
|
||||||
buildInputs = oldAttrs.buildInputs ++ [ cairo ];
|
let
|
||||||
patches = [
|
sent' = sent.overrideAttrs (oldAttrs: {
|
||||||
./resources/patches/sent-pdf.diff
|
buildInputs = oldAttrs.buildInputs ++ [ cairo ];
|
||||||
];
|
patches = [
|
||||||
});
|
./resources/patches/sent-pdf.diff
|
||||||
in [
|
];
|
||||||
texlive.combined.scheme-full
|
});
|
||||||
telegram-desktop
|
in
|
||||||
libreoffice-qt6
|
[
|
||||||
libqalculate
|
texlive.combined.scheme-full
|
||||||
arduino-cli
|
telegram-desktop
|
||||||
|
libreoffice-qt6
|
||||||
|
libqalculate
|
||||||
|
arduino-cli
|
||||||
|
|
||||||
gimp
|
gimp
|
||||||
krita
|
krita
|
||||||
inkscape
|
inkscape
|
||||||
|
|
||||||
ani-cli
|
ani-cli
|
||||||
ytfzf
|
ytfzf
|
||||||
|
|
||||||
cpufrequtils
|
cpufrequtils
|
||||||
steam-run
|
steam-run
|
||||||
|
|
||||||
sent'
|
sent'
|
||||||
|
|
||||||
gcc
|
gcc
|
||||||
python3
|
python3
|
||||||
nodejs
|
nodejs
|
||||||
lua
|
lua
|
||||||
|
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
];
|
];
|
||||||
|
|
||||||
sessionVariables = {
|
sessionVariables = {
|
||||||
ANI_CLI_PLAYER = "mpv";
|
ANI_CLI_PLAYER = "mpv";
|
||||||
|
@@ -3,15 +3,16 @@
|
|||||||
programs.emacs = {
|
programs.emacs = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.emacs-gtk;
|
package = pkgs.emacs-gtk;
|
||||||
extraPackages = epkgs: with epkgs; [
|
extraPackages =
|
||||||
doom
|
epkgs: with epkgs; [
|
||||||
|
doom
|
||||||
|
|
||||||
magit
|
magit
|
||||||
minimap
|
minimap
|
||||||
rainbow-delimiters
|
rainbow-delimiters
|
||||||
|
|
||||||
company
|
company
|
||||||
company-tabnine
|
company-tabnine
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@@ -56,59 +56,97 @@
|
|||||||
force = true;
|
force = true;
|
||||||
default = "ddg";
|
default = "ddg";
|
||||||
|
|
||||||
engines = let
|
engines =
|
||||||
makeShortcuts = let
|
let
|
||||||
prefix = "@";
|
makeShortcuts =
|
||||||
in map (shortcut: prefix + shortcut);
|
let
|
||||||
|
prefix = "@";
|
||||||
|
in
|
||||||
|
map (shortcut: prefix + shortcut);
|
||||||
|
|
||||||
hideEngines = let
|
hideEngines =
|
||||||
hideEngine = engine: {
|
let
|
||||||
name = engine;
|
hideEngine = engine: {
|
||||||
value = {
|
name = engine;
|
||||||
metaData.hidden = true;
|
value = {
|
||||||
};
|
metaData.hidden = true;
|
||||||
};
|
};
|
||||||
in engines: lib.listToAttrs (map hideEngine engines);
|
};
|
||||||
in (hideEngines [ "google" "bing" "amazondotcom-us" "ebay" ]) //
|
in
|
||||||
{
|
engines: lib.listToAttrs (map hideEngine engines);
|
||||||
"Arch Wiki" = {
|
in
|
||||||
urls = [{ template = "https://wiki.archlinux.org/index.php?search={searchTerms}"; }];
|
(hideEngines [
|
||||||
icon = "https://wiki.archlinux.org/favicon.ico";
|
"google"
|
||||||
definedAliases = makeShortcuts [ "archlinux" "aw" ];
|
"bing"
|
||||||
};
|
"amazondotcom-us"
|
||||||
|
"ebay"
|
||||||
"Nix Packages" = {
|
])
|
||||||
urls = [{
|
// {
|
||||||
template = "https://search.nixos.org/packages";
|
"Arch Wiki" = {
|
||||||
params = [
|
urls = [ { template = "https://wiki.archlinux.org/index.php?search={searchTerms}"; } ];
|
||||||
{ name = "type"; value = "packages"; }
|
icon = "https://wiki.archlinux.org/favicon.ico";
|
||||||
{ name = "channel"; value = "unstable"; }
|
definedAliases = makeShortcuts [
|
||||||
{ name = "query"; value = "{searchTerms}"; }
|
"archlinux"
|
||||||
|
"aw"
|
||||||
];
|
];
|
||||||
}];
|
};
|
||||||
|
|
||||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
"Nix Packages" = {
|
||||||
definedAliases = makeShortcuts [ "nixpkgs" "packages" "np" ];
|
urls = [
|
||||||
};
|
{
|
||||||
|
template = "https://search.nixos.org/packages";
|
||||||
|
params = [
|
||||||
|
{
|
||||||
|
name = "type";
|
||||||
|
value = "packages";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "channel";
|
||||||
|
value = "unstable";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "query";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
"NixOS Wiki" = {
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
urls = [{ template = "https://wiki.nixos.org/w/index.php?search={searchTerms}"; }];
|
definedAliases = makeShortcuts [
|
||||||
icon = "https://wiki.nixos.org/favicon.png";
|
"nixpkgs"
|
||||||
definedAliases = makeShortcuts [ "nixos" "nw" ];
|
"packages"
|
||||||
};
|
"np"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
"MyNixOS" = {
|
"NixOS Wiki" = {
|
||||||
urls = [{ template = "https://mynixos.com/search?q={searchTerms}"; }];
|
urls = [ { template = "https://wiki.nixos.org/w/index.php?search={searchTerms}"; } ];
|
||||||
icon = "https://mynixos.com/favicon-light.svg";
|
icon = "https://wiki.nixos.org/favicon.png";
|
||||||
definedAliases = makeShortcuts [ "mynixos" "mw" ];
|
definedAliases = makeShortcuts [
|
||||||
};
|
"nixos"
|
||||||
|
"nw"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
"RuTracker" = {
|
"MyNixOS" = {
|
||||||
urls = [{ template = "https://rutracker.org/forum/tracker.php?nm={searchTerms}"; }];
|
urls = [ { template = "https://mynixos.com/search?q={searchTerms}"; } ];
|
||||||
icon = "https://rutracker.org/favicon.ico";
|
icon = "https://mynixos.com/favicon-light.svg";
|
||||||
definedAliases = makeShortcuts [ "rutracker" "rt" ];
|
definedAliases = makeShortcuts [
|
||||||
|
"mynixos"
|
||||||
|
"mw"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
"RuTracker" = {
|
||||||
|
urls = [ { template = "https://rutracker.org/forum/tracker.php?nm={searchTerms}"; } ];
|
||||||
|
icon = "https://rutracker.org/favicon.ico";
|
||||||
|
definedAliases = makeShortcuts [
|
||||||
|
"rutracker"
|
||||||
|
"rt"
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -126,7 +164,7 @@
|
|||||||
EmailTracking = true;
|
EmailTracking = true;
|
||||||
Fingerprinting = true;
|
Fingerprinting = true;
|
||||||
|
|
||||||
Exceptions = [];
|
Exceptions = [ ];
|
||||||
};
|
};
|
||||||
|
|
||||||
FirefoxHome = {
|
FirefoxHome = {
|
||||||
|
@@ -5,7 +5,8 @@
|
|||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let genFlatList = f: n: builtins.concatLists (builtins.genList f n);
|
let
|
||||||
|
genFlatList = f: n: builtins.concatLists (builtins.genList f n);
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
@@ -50,26 +51,28 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
bind = [
|
bind =
|
||||||
"SUPER, Return, exec, kitty"
|
[
|
||||||
"SUPER SHIFT, Q, exit"
|
"SUPER, Return, exec, kitty"
|
||||||
|
"SUPER SHIFT, Q, exit"
|
||||||
|
|
||||||
"SUPER, V, togglefloating"
|
"SUPER, V, togglefloating"
|
||||||
"SUPER, J, togglesplit"
|
"SUPER, J, togglesplit"
|
||||||
"SUPER, P, pseudo"
|
"SUPER, P, pseudo"
|
||||||
|
|
||||||
"ALT CTRL, left, workspace, -1"
|
"ALT CTRL, left, workspace, -1"
|
||||||
"ALT CTRL, right, workspace, +1"
|
"ALT CTRL, right, workspace, +1"
|
||||||
] ++ (
|
]
|
||||||
genFlatList
|
++ (genFlatList (
|
||||||
( x: let n = toString (x + 1);
|
x:
|
||||||
|
let
|
||||||
|
n = toString (x + 1);
|
||||||
in
|
in
|
||||||
[ "SUPER, ${n}, workspace, ${n}"
|
[
|
||||||
|
"SUPER, ${n}, workspace, ${n}"
|
||||||
"SUPER SHIFT, ${n}, movetoworkspace, ${n}"
|
"SUPER SHIFT, ${n}, movetoworkspace, ${n}"
|
||||||
]
|
]
|
||||||
)
|
) 9);
|
||||||
9
|
|
||||||
);
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@@ -14,31 +14,31 @@
|
|||||||
|
|
||||||
copilot-lua = {
|
copilot-lua = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
suggestion.autoTrigger = true;
|
suggestion.autoTrigger = true;
|
||||||
suggestion.keymap = {
|
suggestion.keymap = {
|
||||||
accept = "<M-a>";
|
accept = "<M-a>";
|
||||||
acceptLine = "<M-l>";
|
acceptLine = "<M-l>";
|
||||||
acceptWord = "<M-w>";
|
acceptWord = "<M-w>";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
keymaps = [
|
keymaps = [
|
||||||
{
|
{
|
||||||
mode = "n";
|
mode = "n";
|
||||||
key = ";";
|
key = ";";
|
||||||
action = ":";
|
action = ":";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
mode = "n";
|
mode = "n";
|
||||||
key = "<Esc>";
|
key = "<Esc>";
|
||||||
action = "<Cmd>nohlsearch<CR>";
|
action = "<Cmd>nohlsearch<CR>";
|
||||||
options = {
|
options = {
|
||||||
silent = true;
|
silent = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@@ -34,20 +34,20 @@
|
|||||||
|
|
||||||
hilite_status = {
|
hilite_status = {
|
||||||
hitpoints = {
|
hitpoints = {
|
||||||
"100%" = "grey";
|
"100%" = "grey";
|
||||||
"<100%" = "green";
|
"<100%" = "green";
|
||||||
"<66%" = "yellow";
|
"<66%" = "yellow";
|
||||||
"<50%" = "orange";
|
"<50%" = "orange";
|
||||||
"<33%" = "red&bold";
|
"<33%" = "red&bold";
|
||||||
"<15%" = "red&inverse";
|
"<15%" = "red&inverse";
|
||||||
};
|
};
|
||||||
|
|
||||||
power = {
|
power = {
|
||||||
"100%" = "grey";
|
"100%" = "grey";
|
||||||
"<100%" = "green";
|
"<100%" = "green";
|
||||||
"<66%" = "yellow";
|
"<66%" = "yellow";
|
||||||
"<50%" = "orange";
|
"<50%" = "orange";
|
||||||
"<33%" = "red&bold";
|
"<33%" = "red&bold";
|
||||||
};
|
};
|
||||||
|
|
||||||
cap = {
|
cap = {
|
||||||
@@ -199,17 +199,21 @@
|
|||||||
"(mud|buckled|riding|snow|hiking|combat|jungle) boots" = "magenta";
|
"(mud|buckled|riding|snow|hiking|combat|jungle) boots" = "magenta";
|
||||||
" (Dragonbane|Fire Brand|Frost Brand|Ogresmasher|Trollsbane|Werebane)" = "lightgreen";
|
" (Dragonbane|Fire Brand|Frost Brand|Ogresmasher|Trollsbane|Werebane)" = "lightgreen";
|
||||||
" (Demonbane|Excalibur|Grayswandir|Snickersnee|Sunsword)" = "lightgreen";
|
" (Demonbane|Excalibur|Grayswandir|Snickersnee|Sunsword)" = "lightgreen";
|
||||||
" (Orb of Detection|Sceptre of Might|Magic Mirror of Merlin|Mitre of Holiness|Tsurugi of Muramasa)" = "lightgreen";
|
" (Orb of Detection|Sceptre of Might|Magic Mirror of Merlin|Mitre of Holiness|Tsurugi of Muramasa)" =
|
||||||
|
"lightgreen";
|
||||||
" (Cleaver|Giantslayer|Magicbane|Mjollnir|Vorpal Blade)" = "lightgreen";
|
" (Cleaver|Giantslayer|Magicbane|Mjollnir|Vorpal Blade)" = "lightgreen";
|
||||||
" (Heart of Ahriman|Staff of Aesculapius|Eyes of the Overworld|Platinum Yendorian Express Card|Orb of Fate|Eye of the Aethiopica)" = "lightgreen";
|
" (Heart of Ahriman|Staff of Aesculapius|Eyes of the Overworld|Platinum Yendorian Express Card|Orb of Fate|Eye of the Aethiopica)" =
|
||||||
|
"lightgreen";
|
||||||
" (Grimtooth|Orcrist|Sting|Stormbringer)" = "lightgreen";
|
" (Grimtooth|Orcrist|Sting|Stormbringer)" = "lightgreen";
|
||||||
" (Longbow of Diana|Master Key of Thievery)" = "lightgreen";
|
" (Longbow of Diana|Master Key of Thievery)" = "lightgreen";
|
||||||
" (Bell of Opening|silver bell|Candelabrum of Invocation|candelabrum|Book of the Dead|papyrus spellbook)" = "magenta&bold";
|
" (Bell of Opening|silver bell|Candelabrum of Invocation|candelabrum|Book of the Dead|papyrus spellbook)" =
|
||||||
|
"magenta&bold";
|
||||||
" Amulet of Yendor named" = "magenta&bold";
|
" Amulet of Yendor named" = "magenta&bold";
|
||||||
" cursed.* bag .* holding" = "red&bold";
|
" cursed.* bag .* holding" = "red&bold";
|
||||||
" cursed.* luck(stone)?($| )" = "red&bold";
|
" cursed.* luck(stone)?($| )" = "red&bold";
|
||||||
" cursed.* unicorn horn" = "red&bold";
|
" cursed.* unicorn horn" = "red&bold";
|
||||||
" cursed.* (Bell of Opening|silver bell|Candelabrum of Invocation|candelabrum|Book of the Dead|papyrus spellbook)" = "red&bold";
|
" cursed.* (Bell of Opening|silver bell|Candelabrum of Invocation|candelabrum|Book of the Dead|papyrus spellbook)" =
|
||||||
|
"red&bold";
|
||||||
"cursed tins? .* spinach|tins? .* spinach .* (cursed|C($| ))" = "red";
|
"cursed tins? .* spinach|tins? .* spinach .* (cursed|C($| ))" = "red";
|
||||||
" load(stone)?($| )" = "red&underline";
|
" load(stone)?($| )" = "red&underline";
|
||||||
" bag .* tricks" = "blue&underline";
|
" bag .* tricks" = "blue&underline";
|
||||||
@@ -218,8 +222,10 @@
|
|||||||
" gold piece" = "yellow";
|
" gold piece" = "yellow";
|
||||||
" valuable" = "brown";
|
" valuable" = "brown";
|
||||||
" gems? .* hard" = "yellow";
|
" gems? .* hard" = "yellow";
|
||||||
" ([0-9]+|an?|gems? .*) (uncursed |cursed |blessed )?(dilithium|opal|garnet|jasper|agate|jet|obsidian|jade|citrine|chrysoberyl|amber|amethyst|fluorite|turquoise)(e?s)?( stones?| gems?| crystals?)?( named .*)?$" = "brown";
|
" ([0-9]+|an?|gems? .*) (uncursed |cursed |blessed )?(dilithium|opal|garnet|jasper|agate|jet|obsidian|jade|citrine|chrysoberyl|amber|amethyst|fluorite|turquoise)(e?s)?( stones?| gems?| crystals?)?( named .*)?$" =
|
||||||
" ([0-9]+|an?|gems?.*) (uncursed |cursed |blessed )?(diamond|rub(y|ies)|jacinth|sapphire|black opal|emerald|topaz|aquamarine)(e?s)?( stones?| gems?)?( named .*)?$" = "yellow";
|
"brown";
|
||||||
|
" ([0-9]+|an?|gems?.*) (uncursed |cursed |blessed )?(diamond|rub(y|ies)|jacinth|sapphire|black opal|emerald|topaz|aquamarine)(e?s)?( stones?| gems?)?( named .*)?$" =
|
||||||
|
"yellow";
|
||||||
" 0%" = "white";
|
" 0%" = "white";
|
||||||
" [1-9]%" = "cyan";
|
" [1-9]%" = "cyan";
|
||||||
" [12][0-9]%" = "cyan";
|
" [12][0-9]%" = "cyan";
|
||||||
|
@@ -16,14 +16,16 @@
|
|||||||
programs.plasma = {
|
programs.plasma = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
input.touchpads = [{
|
input.touchpads = [
|
||||||
enable = true;
|
{
|
||||||
name = "SynPS/2 Synaptics TouchPad";
|
enable = true;
|
||||||
vendorId = "0002";
|
name = "SynPS/2 Synaptics TouchPad";
|
||||||
productId = "0007";
|
vendorId = "0002";
|
||||||
disableWhileTyping = false;
|
productId = "0007";
|
||||||
naturalScroll = true;
|
disableWhileTyping = false;
|
||||||
}];
|
naturalScroll = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
kwin.edgeBarrier = 0;
|
kwin.edgeBarrier = 0;
|
||||||
workspace = {
|
workspace = {
|
||||||
@@ -40,54 +42,54 @@
|
|||||||
floating = false;
|
floating = false;
|
||||||
height = 44;
|
height = 44;
|
||||||
|
|
||||||
widgets = let
|
widgets =
|
||||||
kickoff = {
|
let
|
||||||
kickoff.icon = "nix-snowflake-white";
|
kickoff = {
|
||||||
};
|
kickoff.icon = "nix-snowflake-white";
|
||||||
|
|
||||||
taskmanager = {
|
|
||||||
iconTasks.launchers = [
|
|
||||||
"applications:systemsettings.desktop"
|
|
||||||
"applications:org.kde.dolphin.desktop"
|
|
||||||
"applications:firefox.desktop"
|
|
||||||
"applications:org.kde.konsole.desktop"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
systray = {
|
|
||||||
systemTray.items.shown = [
|
|
||||||
"org.kde.plasma.battery"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
digital-clock = {
|
|
||||||
digitalClock = {
|
|
||||||
date.format = "isoDate";
|
|
||||||
time.format = "24h";
|
|
||||||
|
|
||||||
date.position = "belowTime";
|
|
||||||
calendar.firstDayOfWeek = "monday";
|
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
workspaces = "org.kde.plasma.pager";
|
taskmanager = {
|
||||||
separator = "org.kde.plasma.panelspacer";
|
iconTasks.launchers = [
|
||||||
in
|
"applications:systemsettings.desktop"
|
||||||
[
|
"applications:org.kde.dolphin.desktop"
|
||||||
kickoff
|
"applications:firefox.desktop"
|
||||||
workspaces
|
"applications:org.kde.konsole.desktop"
|
||||||
taskmanager
|
];
|
||||||
|
};
|
||||||
|
|
||||||
separator
|
systray = {
|
||||||
digital-clock
|
systemTray.items.shown = [
|
||||||
separator
|
"org.kde.plasma.battery"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
systray
|
digital-clock = {
|
||||||
];
|
digitalClock = {
|
||||||
|
date.format = "isoDate";
|
||||||
|
time.format = "24h";
|
||||||
|
|
||||||
|
date.position = "belowTime";
|
||||||
|
calendar.firstDayOfWeek = "monday";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
workspaces = "org.kde.plasma.pager";
|
||||||
|
separator = "org.kde.plasma.panelspacer";
|
||||||
|
in
|
||||||
|
[
|
||||||
|
kickoff
|
||||||
|
workspaces
|
||||||
|
taskmanager
|
||||||
|
|
||||||
|
separator
|
||||||
|
digital-clock
|
||||||
|
separator
|
||||||
|
|
||||||
|
systray
|
||||||
|
];
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
window-rules = [
|
window-rules = [
|
||||||
{
|
{
|
||||||
description = "Konsole";
|
description = "Konsole";
|
||||||
|
@@ -1,23 +1,27 @@
|
|||||||
{ inputs, config, pkgs, lib, ... }:
|
{
|
||||||
let flakeInputs = lib.filterAttrs (_: lib.isType "flake") inputs;
|
inputs,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
flakeInputs = lib.filterAttrs (_: lib.isType "flake") inputs;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
# Bootloader
|
# Bootloader
|
||||||
boot.loader.grub.enable = true;
|
boot.loader.grub.enable = true;
|
||||||
boot.loader.grub.device = lib.mkDefault "/dev/sda";
|
boot.loader.grub.device = lib.mkDefault "/dev/sda";
|
||||||
|
|
||||||
|
|
||||||
# Networking
|
# Networking
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
services.openssh.enable = true;
|
services.openssh.enable = true;
|
||||||
services.tailscale.enable = true;
|
services.tailscale.enable = true;
|
||||||
|
|
||||||
|
|
||||||
# l10n and i8n
|
# l10n and i8n
|
||||||
time.timeZone = "Europe/Riga";
|
time.timeZone = "Europe/Riga";
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
|
||||||
|
|
||||||
# Editor
|
# Editor
|
||||||
programs.neovim = {
|
programs.neovim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -26,13 +30,15 @@ in
|
|||||||
defaultEditor = true;
|
defaultEditor = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
# Nix
|
# Nix
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
nix = {
|
nix = {
|
||||||
settings = {
|
settings = {
|
||||||
trusted-users = [ "andrey" ];
|
trusted-users = [ "andrey" ];
|
||||||
experimental-features = [ "nix-command" "flakes" ];
|
experimental-features = [
|
||||||
|
"nix-command"
|
||||||
|
"flakes"
|
||||||
|
];
|
||||||
flake-registry = "";
|
flake-registry = "";
|
||||||
nix-path = config.nix.nixPath;
|
nix-path = config.nix.nixPath;
|
||||||
};
|
};
|
||||||
@@ -42,19 +48,26 @@ in
|
|||||||
nixPath = lib.mapAttrsToList (n: _: "${n}=flake:${n}") flakeInputs;
|
nixPath = lib.mapAttrsToList (n: _: "${n}=flake:${n}") flakeInputs;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
# Users
|
# Users
|
||||||
users.mutableUsers = false;
|
users.mutableUsers = false;
|
||||||
users.users.andrey = {
|
users.users.andrey = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
initialHashedPassword = "$y$j9T$mGZT4otEkrc94e.Ile.P20$BoxfgxCiacs.tYoEp7S5AjcP.aMUBrsaCJYJkBot635";
|
initialHashedPassword = "$y$j9T$mGZT4otEkrc94e.Ile.P20$BoxfgxCiacs.tYoEp7S5AjcP.aMUBrsaCJYJkBot635";
|
||||||
extraGroups = [ "wheel" "cdrom" "networkmanager" "audio" "dialout" "scanner" "lp" "adbusers" ];
|
extraGroups = [
|
||||||
|
"wheel"
|
||||||
|
"cdrom"
|
||||||
|
"networkmanager"
|
||||||
|
"audio"
|
||||||
|
"dialout"
|
||||||
|
"scanner"
|
||||||
|
"lp"
|
||||||
|
"adbusers"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
security.sudo.execWheelOnly = true;
|
security.sudo.execWheelOnly = true;
|
||||||
security.sudo.wheelNeedsPassword = false;
|
security.sudo.wheelNeedsPassword = false;
|
||||||
|
|
||||||
|
|
||||||
# Printers and scanners
|
# Printers and scanners
|
||||||
hardware.sane.enable = true;
|
hardware.sane.enable = true;
|
||||||
services.printing.enable = true;
|
services.printing.enable = true;
|
||||||
@@ -73,20 +86,24 @@ in
|
|||||||
stats.enable = true;
|
stats.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
# Programs
|
# Programs
|
||||||
programs = {
|
programs = {
|
||||||
git = {
|
git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
config = {
|
config = {
|
||||||
init.defaultBranch = "master";
|
init.defaultBranch = "master";
|
||||||
url."https://github.com/".insteadOf = [ "gh:" "github:" ];
|
url."https://github.com/".insteadOf = [
|
||||||
url."https://git.psf.lt/".insteadOf = [ "psf:" "gitea:" ];
|
"gh:"
|
||||||
|
"github:"
|
||||||
|
];
|
||||||
|
url."https://git.psf.lt/".insteadOf = [
|
||||||
|
"psf:"
|
||||||
|
"gitea:"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
# Packages
|
# Packages
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
alsa-utils
|
alsa-utils
|
||||||
@@ -97,13 +114,11 @@ in
|
|||||||
unzip
|
unzip
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
hardware.bluetooth = {
|
hardware.bluetooth = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings.General.Enable = "Source,Sink,Media,Socket";
|
settings.General.Enable = "Source,Sink,Media,Socket";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
# Xorg
|
# Xorg
|
||||||
security.rtkit.enable = true;
|
security.rtkit.enable = true;
|
||||||
services = {
|
services = {
|
||||||
|
@@ -28,8 +28,11 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
fonts.packages = lib.mkAfter (with pkgs; [
|
fonts.packages = lib.mkAfter (
|
||||||
vistafonts
|
with pkgs;
|
||||||
corefonts
|
[
|
||||||
]);
|
vistafonts
|
||||||
|
corefonts
|
||||||
|
]
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user