Compare commits
8 Commits
cf2c6fc646
...
master
Author | SHA1 | Date | |
---|---|---|---|
ae9cfa140d | |||
e975931d39 | |||
f6c2eac572 | |||
82eb9ddf97 | |||
af827c485b | |||
93debfb780 | |||
91bb55c48f | |||
3e517b1961 |
42
flake.lock
generated
42
flake.lock
generated
@@ -8,11 +8,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1743550720,
|
||||
"narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
|
||||
"lastModified": 1749398372,
|
||||
"narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "c621e8422220273271f52058f618c94e405bb0f5",
|
||||
"rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -67,11 +67,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1748529677,
|
||||
"narHash": "sha256-MJEX3Skt5EAIs/aGHD8/aXXZPcceMMHheyIGSjvxZN0=",
|
||||
"lastModified": 1749935160,
|
||||
"narHash": "sha256-lTLR7AyrrIS/b4frHKb5pw/gcPM0GgoGCURqeiOX9k8=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "da282034f4d30e787b8a10722431e8b650a907ef",
|
||||
"rev": "8fabeb9c142a303e02270c3a3a0d8e00af9d0dfe",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -147,11 +147,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1748370509,
|
||||
"narHash": "sha256-QlL8slIgc16W5UaI3w7xHQEP+Qmv/6vSNTpoZrrSlbk=",
|
||||
"lastModified": 1749794982,
|
||||
"narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4faa5f5321320e49a78ae7848582f684d64783e9",
|
||||
"rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -163,11 +163,11 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1748370509,
|
||||
"narHash": "sha256-QlL8slIgc16W5UaI3w7xHQEP+Qmv/6vSNTpoZrrSlbk=",
|
||||
"lastModified": 1749794982,
|
||||
"narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4faa5f5321320e49a78ae7848582f684d64783e9",
|
||||
"rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -187,11 +187,11 @@
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1748521000,
|
||||
"narHash": "sha256-EnXH5PIrZBoe8U09hPQr2kOuPTZSqAJy78DqUVLmWXg=",
|
||||
"lastModified": 1749924512,
|
||||
"narHash": "sha256-IYv0yEFh86c+UnkcjrUAV0UeIE+9vMEeXDIF+YRlooc=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "a9e45072d82374dd3f0d971795e7d7f99e5bc6c2",
|
||||
"rev": "e114d442b14f3a299307ca9b0f0eab20e821f419",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -207,11 +207,11 @@
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1748558601,
|
||||
"narHash": "sha256-k3Cc3xmWYiNmVeZ5MKImLw5wxydiB43gdFHj67O11hE=",
|
||||
"lastModified": 1749934169,
|
||||
"narHash": "sha256-2oGEmCWq0T2qG7tUaPdUv0jOk09oWTit9NfI6gCScC4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "1cca4d2115773d20a960bbafa44ee2fa5b0fb908",
|
||||
"rev": "da2de77056b07a63601c9198708ff02ddab21fcb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -230,11 +230,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1748298102,
|
||||
"narHash": "sha256-PP11GVwUt7F4ZZi5A5+99isuq39C59CKc5u5yVisU/U=",
|
||||
"lastModified": 1749730855,
|
||||
"narHash": "sha256-L3x2nSlFkXkM6tQPLJP3oCBMIsRifhIDPMQQdHO5xWo=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"rev": "f8a1c221afb8b4c642ed11ac5ee6746b0fe1d32f",
|
||||
"rev": "8dfe5879dd009ff4742b668d9c699bc4b9761742",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
161
flake.nix
161
flake.nix
@@ -2,102 +2,107 @@
|
||||
description = "My homebrew NixOS configurations";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = github:nixos/nixpkgs/nixos-unstable;
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
|
||||
home-manager = {
|
||||
url = github:nix-community/home-manager;
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
nixvim = {
|
||||
url = github:nix-community/nixvim;
|
||||
url = "github:nix-community/nixvim";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
plasma-manager = {
|
||||
url = github:nix-community/plasma-manager;
|
||||
url = "github:nix-community/plasma-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
nur.url = github:nix-community/NUR;
|
||||
nethack.url = git+https://git.psf.lt/xezo360hye/nethack?shallow=1;
|
||||
nur.url = "github:nix-community/NUR";
|
||||
nethack.url = "git+https://git.psf.lt/xezo360hye/nethack?shallow=1";
|
||||
};
|
||||
|
||||
outputs = {
|
||||
self,
|
||||
nixpkgs,
|
||||
home-manager,
|
||||
nixvim,
|
||||
nethack,
|
||||
plasma-manager,
|
||||
nur,
|
||||
...
|
||||
} @ inputs:
|
||||
let
|
||||
inherit (nixpkgs) lib;
|
||||
|
||||
username = "andrey";
|
||||
hostnames = [ "tokishiko" "maidena" "noma" "tuxedo" ];
|
||||
stateVersion = "24.05";
|
||||
|
||||
makeSystem = hostname: {
|
||||
"${hostname}" = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = { inherit inputs; };
|
||||
modules = [
|
||||
nur.modules.nixos.default
|
||||
|
||||
./system/common.nix
|
||||
./system/${hostname}.nix
|
||||
./hardware/${hostname}.nix
|
||||
|
||||
{
|
||||
system.stateVersion = stateVersion;
|
||||
networking.hostName = hostname;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
makeHome = hostname:
|
||||
outputs =
|
||||
{
|
||||
self,
|
||||
nixpkgs,
|
||||
home-manager,
|
||||
nixvim,
|
||||
nethack,
|
||||
plasma-manager,
|
||||
nur,
|
||||
...
|
||||
}@inputs:
|
||||
let
|
||||
extractModules = map
|
||||
(module:
|
||||
let hm = module.homeManagerModules;
|
||||
in hm.${lib.head (lib.attrNames hm)});
|
||||
inherit (nixpkgs) lib;
|
||||
|
||||
username = "andrey";
|
||||
hostnames = [
|
||||
"tokishiko"
|
||||
"maidena"
|
||||
"noma"
|
||||
"tuxedo"
|
||||
];
|
||||
stateVersion = "24.05";
|
||||
|
||||
makeSystem = hostname: {
|
||||
"${hostname}" = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = { inherit inputs; };
|
||||
modules = [
|
||||
home-manager.nixosModules.home-manager
|
||||
nur.modules.nixos.default
|
||||
|
||||
./system/common.nix
|
||||
./system/${hostname}.nix
|
||||
./hardware/${hostname}.nix
|
||||
|
||||
{
|
||||
system.stateVersion = stateVersion;
|
||||
networking.hostName = hostname;
|
||||
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
|
||||
home-manager.users.${username} = {
|
||||
imports =
|
||||
[
|
||||
./home/${hostname}.nix
|
||||
./home/common.nix
|
||||
]
|
||||
++ (map
|
||||
(
|
||||
module:
|
||||
let
|
||||
hm = module.homeManagerModules;
|
||||
in
|
||||
hm.${lib.head (lib.attrNames hm)}
|
||||
)
|
||||
[
|
||||
nixvim
|
||||
nethack
|
||||
plasma-manager
|
||||
]
|
||||
);
|
||||
|
||||
home = {
|
||||
username = username;
|
||||
homeDirectory = "/home/${username}";
|
||||
stateVersion = stateVersion;
|
||||
};
|
||||
|
||||
news.display = "show";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
forEachHost = fn: lib.mergeAttrsList (map fn hostnames);
|
||||
in
|
||||
{
|
||||
"${username}@${hostname}" = home-manager.lib.homeManagerConfiguration
|
||||
{
|
||||
extraSpecialArgs = { inherit inputs; };
|
||||
pkgs = import nixpkgs {
|
||||
system = "x86_64-linux";
|
||||
overlays = [ nur.overlays.default ];
|
||||
};
|
||||
nixosConfigurations = forEachHost makeSystem;
|
||||
|
||||
modules = (extractModules [
|
||||
nixvim
|
||||
nethack
|
||||
plasma-manager
|
||||
]) ++ [
|
||||
nur.modules.homeManager.default
|
||||
|
||||
./home/${hostname}.nix
|
||||
./home/common.nix
|
||||
|
||||
{
|
||||
news.display = "show";
|
||||
home.username = username;
|
||||
home.homeDirectory = "/home/${username}";
|
||||
home.stateVersion = stateVersion;
|
||||
}
|
||||
];
|
||||
};
|
||||
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt-tree;
|
||||
};
|
||||
|
||||
forEachHost = fn: lib.mergeAttrsList (map fn hostnames);
|
||||
in {
|
||||
nixosConfigurations = forEachHost makeSystem;
|
||||
homeConfigurations = forEachHost makeHome;
|
||||
};
|
||||
}
|
||||
|
@@ -11,13 +11,11 @@
|
||||
fastfetch.enable = true;
|
||||
btop.enable = true;
|
||||
|
||||
|
||||
bash = {
|
||||
enable = true;
|
||||
historyControl = [ "ignoreboth" ];
|
||||
};
|
||||
|
||||
|
||||
git = {
|
||||
enable = true;
|
||||
userName = "xezo360hye";
|
||||
@@ -26,8 +24,14 @@
|
||||
extraConfig = {
|
||||
credential.helper = "store";
|
||||
init.defaultBranch = "master";
|
||||
url."https://github.com/".insteadOf = [ "gh:" "github:" ];
|
||||
url."https://git.psf.lt/".insteadOf = [ "psf:" "gitea:" ];
|
||||
url."https://github.com/".insteadOf = [
|
||||
"gh:"
|
||||
"github:"
|
||||
];
|
||||
url."https://git.psf.lt/".insteadOf = [
|
||||
"psf:"
|
||||
"gitea:"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
@@ -48,49 +52,46 @@
|
||||
};
|
||||
};
|
||||
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
home = {
|
||||
packages = with pkgs; let
|
||||
sent' = sent.overrideAttrs (oldAttrs: {
|
||||
buildInputs = oldAttrs.buildInputs ++ [ cairo ];
|
||||
patches = [
|
||||
./resources/patches/sent-pdf.diff
|
||||
];
|
||||
});
|
||||
in [
|
||||
texlive.combined.scheme-full
|
||||
telegram-desktop
|
||||
libreoffice-qt6
|
||||
libqalculate
|
||||
arduino-cli
|
||||
packages =
|
||||
with pkgs;
|
||||
let
|
||||
sent' = sent.overrideAttrs (oldAttrs: {
|
||||
buildInputs = oldAttrs.buildInputs ++ [ cairo ];
|
||||
patches = [
|
||||
./resources/patches/sent-pdf.diff
|
||||
];
|
||||
});
|
||||
in
|
||||
[
|
||||
texlive.combined.scheme-full
|
||||
telegram-desktop
|
||||
libreoffice-qt6
|
||||
libqalculate
|
||||
arduino-cli
|
||||
|
||||
gimp
|
||||
krita
|
||||
inkscape
|
||||
gimp
|
||||
krita
|
||||
inkscape
|
||||
|
||||
ani-cli
|
||||
ytfzf
|
||||
ani-cli
|
||||
ytfzf
|
||||
|
||||
cpufrequtils
|
||||
steam-run
|
||||
cpufrequtils
|
||||
steam-run
|
||||
|
||||
sent'
|
||||
sent'
|
||||
|
||||
gcc
|
||||
python3
|
||||
nodejs
|
||||
lua
|
||||
gcc
|
||||
python3
|
||||
nodejs
|
||||
lua
|
||||
|
||||
wl-clipboard
|
||||
];
|
||||
wl-clipboard
|
||||
];
|
||||
|
||||
sessionVariables = {
|
||||
ANI_CLI_PLAYER = "mpv";
|
||||
};
|
||||
|
||||
file = {
|
||||
".config/nixpkgs/config.nix".text = "{ allowUnfree = true; }";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@@ -3,15 +3,16 @@
|
||||
programs.emacs = {
|
||||
enable = true;
|
||||
package = pkgs.emacs-gtk;
|
||||
extraPackages = epkgs: with epkgs; [
|
||||
doom
|
||||
extraPackages =
|
||||
epkgs: with epkgs; [
|
||||
doom
|
||||
|
||||
magit
|
||||
minimap
|
||||
rainbow-delimiters
|
||||
magit
|
||||
minimap
|
||||
rainbow-delimiters
|
||||
|
||||
company
|
||||
company-tabnine
|
||||
];
|
||||
company
|
||||
company-tabnine
|
||||
];
|
||||
};
|
||||
}
|
||||
|
@@ -46,6 +46,9 @@
|
||||
"browser.translations.automaticallyPopup" = false;
|
||||
"browser.tabs.inTitlebar" = 0;
|
||||
|
||||
"devtools.accessibility.enabled" = false;
|
||||
"browser.eme.ui.enabled" = false;
|
||||
|
||||
"services.sync.engine.addons" = false;
|
||||
|
||||
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
||||
@@ -56,59 +59,97 @@
|
||||
force = true;
|
||||
default = "ddg";
|
||||
|
||||
engines = let
|
||||
makeShortcuts = let
|
||||
prefix = "@";
|
||||
in map (shortcut: prefix + shortcut);
|
||||
engines =
|
||||
let
|
||||
makeShortcuts =
|
||||
let
|
||||
prefix = "@";
|
||||
in
|
||||
map (shortcut: prefix + shortcut);
|
||||
|
||||
hideEngines = let
|
||||
hideEngine = engine: {
|
||||
name = engine;
|
||||
value = {
|
||||
metaData.hidden = true;
|
||||
};
|
||||
};
|
||||
in engines: lib.listToAttrs (map hideEngine engines);
|
||||
in (hideEngines [ "google" "bing" "amazondotcom-us" "ebay" ]) //
|
||||
{
|
||||
"Arch Wiki" = {
|
||||
urls = [{ template = "https://wiki.archlinux.org/index.php?search={searchTerms}"; }];
|
||||
icon = "https://wiki.archlinux.org/favicon.ico";
|
||||
definedAliases = makeShortcuts [ "archlinux" "aw" ];
|
||||
};
|
||||
|
||||
"Nix Packages" = {
|
||||
urls = [{
|
||||
template = "https://search.nixos.org/packages";
|
||||
params = [
|
||||
{ name = "type"; value = "packages"; }
|
||||
{ name = "channel"; value = "unstable"; }
|
||||
{ name = "query"; value = "{searchTerms}"; }
|
||||
hideEngines =
|
||||
let
|
||||
hideEngine = engine: {
|
||||
name = engine;
|
||||
value = {
|
||||
metaData.hidden = true;
|
||||
};
|
||||
};
|
||||
in
|
||||
engines: lib.listToAttrs (map hideEngine engines);
|
||||
in
|
||||
(hideEngines [
|
||||
"google"
|
||||
"bing"
|
||||
"amazondotcom-us"
|
||||
"ebay"
|
||||
])
|
||||
// {
|
||||
"Arch Wiki" = {
|
||||
urls = [ { template = "https://wiki.archlinux.org/index.php?search={searchTerms}"; } ];
|
||||
icon = "https://wiki.archlinux.org/favicon.ico";
|
||||
definedAliases = makeShortcuts [
|
||||
"archlinux"
|
||||
"aw"
|
||||
];
|
||||
}];
|
||||
};
|
||||
|
||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
definedAliases = makeShortcuts [ "nixpkgs" "packages" "np" ];
|
||||
};
|
||||
"Nix Packages" = {
|
||||
urls = [
|
||||
{
|
||||
template = "https://search.nixos.org/packages";
|
||||
params = [
|
||||
{
|
||||
name = "type";
|
||||
value = "packages";
|
||||
}
|
||||
{
|
||||
name = "channel";
|
||||
value = "unstable";
|
||||
}
|
||||
{
|
||||
name = "query";
|
||||
value = "{searchTerms}";
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
|
||||
"NixOS Wiki" = {
|
||||
urls = [{ template = "https://wiki.nixos.org/w/index.php?search={searchTerms}"; }];
|
||||
icon = "https://wiki.nixos.org/favicon.png";
|
||||
definedAliases = makeShortcuts [ "nixos" "nw" ];
|
||||
};
|
||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
definedAliases = makeShortcuts [
|
||||
"nixpkgs"
|
||||
"packages"
|
||||
"np"
|
||||
];
|
||||
};
|
||||
|
||||
"MyNixOS" = {
|
||||
urls = [{ template = "https://mynixos.com/search?q={searchTerms}"; }];
|
||||
icon = "https://mynixos.com/favicon-light.svg";
|
||||
definedAliases = makeShortcuts [ "mynixos" "mw" ];
|
||||
};
|
||||
"NixOS Wiki" = {
|
||||
urls = [ { template = "https://wiki.nixos.org/w/index.php?search={searchTerms}"; } ];
|
||||
icon = "https://wiki.nixos.org/favicon.png";
|
||||
definedAliases = makeShortcuts [
|
||||
"nixos"
|
||||
"nw"
|
||||
];
|
||||
};
|
||||
|
||||
"RuTracker" = {
|
||||
urls = [{ template = "https://rutracker.org/forum/tracker.php?nm={searchTerms}"; }];
|
||||
icon = "https://rutracker.org/favicon.ico";
|
||||
definedAliases = makeShortcuts [ "rutracker" "rt" ];
|
||||
"MyNixOS" = {
|
||||
urls = [ { template = "https://mynixos.com/search?q={searchTerms}"; } ];
|
||||
icon = "https://mynixos.com/favicon-light.svg";
|
||||
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 +167,7 @@
|
||||
EmailTracking = true;
|
||||
Fingerprinting = true;
|
||||
|
||||
Exceptions = [];
|
||||
Exceptions = [ ];
|
||||
};
|
||||
|
||||
FirefoxHome = {
|
||||
|
@@ -5,7 +5,8 @@
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let genFlatList = f: n: builtins.concatLists (builtins.genList f n);
|
||||
let
|
||||
genFlatList = f: n: builtins.concatLists (builtins.genList f n);
|
||||
in
|
||||
{
|
||||
programs.kitty = {
|
||||
@@ -50,26 +51,28 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
bind = [
|
||||
"SUPER, Return, exec, kitty"
|
||||
"SUPER SHIFT, Q, exit"
|
||||
bind =
|
||||
[
|
||||
"SUPER, Return, exec, kitty"
|
||||
"SUPER SHIFT, Q, exit"
|
||||
|
||||
"SUPER, V, togglefloating"
|
||||
"SUPER, J, togglesplit"
|
||||
"SUPER, P, pseudo"
|
||||
"SUPER, V, togglefloating"
|
||||
"SUPER, J, togglesplit"
|
||||
"SUPER, P, pseudo"
|
||||
|
||||
"ALT CTRL, left, workspace, -1"
|
||||
"ALT CTRL, right, workspace, +1"
|
||||
] ++ (
|
||||
genFlatList
|
||||
( x: let n = toString (x + 1);
|
||||
"ALT CTRL, left, workspace, -1"
|
||||
"ALT CTRL, right, workspace, +1"
|
||||
]
|
||||
++ (genFlatList (
|
||||
x:
|
||||
let
|
||||
n = toString (x + 1);
|
||||
in
|
||||
[ "SUPER, ${n}, workspace, ${n}"
|
||||
[
|
||||
"SUPER, ${n}, workspace, ${n}"
|
||||
"SUPER SHIFT, ${n}, movetoworkspace, ${n}"
|
||||
]
|
||||
)
|
||||
9
|
||||
);
|
||||
) 9);
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@@ -14,31 +14,31 @@
|
||||
|
||||
copilot-lua = {
|
||||
enable = true;
|
||||
settings = {
|
||||
settings = {
|
||||
suggestion.autoTrigger = true;
|
||||
suggestion.keymap = {
|
||||
accept = "<M-a>";
|
||||
acceptLine = "<M-l>";
|
||||
acceptWord = "<M-w>";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
keymaps = [
|
||||
{
|
||||
mode = "n";
|
||||
key = ";";
|
||||
action = ":";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<Esc>";
|
||||
action = "<Cmd>nohlsearch<CR>";
|
||||
options = {
|
||||
silent = true;
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = ";";
|
||||
action = ":";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<Esc>";
|
||||
action = "<Cmd>nohlsearch<CR>";
|
||||
options = {
|
||||
silent = true;
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
|
@@ -34,20 +34,20 @@
|
||||
|
||||
hilite_status = {
|
||||
hitpoints = {
|
||||
"100%" = "grey";
|
||||
"100%" = "grey";
|
||||
"<100%" = "green";
|
||||
"<66%" = "yellow";
|
||||
"<50%" = "orange";
|
||||
"<33%" = "red&bold";
|
||||
"<15%" = "red&inverse";
|
||||
"<66%" = "yellow";
|
||||
"<50%" = "orange";
|
||||
"<33%" = "red&bold";
|
||||
"<15%" = "red&inverse";
|
||||
};
|
||||
|
||||
power = {
|
||||
"100%" = "grey";
|
||||
"100%" = "grey";
|
||||
"<100%" = "green";
|
||||
"<66%" = "yellow";
|
||||
"<50%" = "orange";
|
||||
"<33%" = "red&bold";
|
||||
"<66%" = "yellow";
|
||||
"<50%" = "orange";
|
||||
"<33%" = "red&bold";
|
||||
};
|
||||
|
||||
cap = {
|
||||
@@ -199,17 +199,21 @@
|
||||
"(mud|buckled|riding|snow|hiking|combat|jungle) boots" = "magenta";
|
||||
" (Dragonbane|Fire Brand|Frost Brand|Ogresmasher|Trollsbane|Werebane)" = "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";
|
||||
" (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";
|
||||
" (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";
|
||||
" cursed.* bag .* holding" = "red&bold";
|
||||
" cursed.* luck(stone)?($| )" = "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";
|
||||
" load(stone)?($| )" = "red&underline";
|
||||
" bag .* tricks" = "blue&underline";
|
||||
@@ -218,8 +222,10 @@
|
||||
" gold piece" = "yellow";
|
||||
" valuable" = "brown";
|
||||
" 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 )?(diamond|rub(y|ies)|jacinth|sapphire|black opal|emerald|topaz|aquamarine)(e?s)?( stones?| gems?)?( named .*)?$" = "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 )?(diamond|rub(y|ies)|jacinth|sapphire|black opal|emerald|topaz|aquamarine)(e?s)?( stones?| gems?)?( named .*)?$" =
|
||||
"yellow";
|
||||
" 0%" = "white";
|
||||
" [1-9]%" = "cyan";
|
||||
" [12][0-9]%" = "cyan";
|
||||
|
@@ -4,7 +4,7 @@
|
||||
nativeMessagingHosts = [ pkgs.kdePackages.plasma-browser-integration ];
|
||||
|
||||
profiles.default = {
|
||||
extensions = [ pkgs.nur.repos.rycee.firefox-addons.plasma-integration ];
|
||||
extensions.packages = [ pkgs.nur.repos.rycee.firefox-addons.plasma-integration ];
|
||||
|
||||
settings = {
|
||||
"widget.use-xdg-desktop-portal.file-picker" = 1;
|
||||
@@ -13,17 +13,21 @@
|
||||
};
|
||||
};
|
||||
|
||||
services.kdeconnect.enable = true;
|
||||
|
||||
programs.plasma = {
|
||||
enable = true;
|
||||
|
||||
input.touchpads = [{
|
||||
enable = true;
|
||||
name = "SynPS/2 Synaptics TouchPad";
|
||||
vendorId = "0002";
|
||||
productId = "0007";
|
||||
disableWhileTyping = false;
|
||||
naturalScroll = true;
|
||||
}];
|
||||
input.touchpads = [
|
||||
{
|
||||
enable = true;
|
||||
name = "SynPS/2 Synaptics TouchPad";
|
||||
vendorId = "0002";
|
||||
productId = "0007";
|
||||
disableWhileTyping = false;
|
||||
naturalScroll = true;
|
||||
}
|
||||
];
|
||||
|
||||
kwin.edgeBarrier = 0;
|
||||
workspace = {
|
||||
@@ -40,54 +44,54 @@
|
||||
floating = false;
|
||||
height = 44;
|
||||
|
||||
widgets = let
|
||||
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";
|
||||
widgets =
|
||||
let
|
||||
kickoff = {
|
||||
kickoff.icon = "nix-snowflake-white";
|
||||
};
|
||||
};
|
||||
|
||||
workspaces = "org.kde.plasma.pager";
|
||||
separator = "org.kde.plasma.panelspacer";
|
||||
in
|
||||
[
|
||||
kickoff
|
||||
workspaces
|
||||
taskmanager
|
||||
taskmanager = {
|
||||
iconTasks.launchers = [
|
||||
"applications:systemsettings.desktop"
|
||||
"applications:org.kde.dolphin.desktop"
|
||||
"applications:firefox.desktop"
|
||||
"applications:org.kde.konsole.desktop"
|
||||
];
|
||||
};
|
||||
|
||||
separator
|
||||
digital-clock
|
||||
separator
|
||||
systray = {
|
||||
systemTray.items.shown = [
|
||||
"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 = [
|
||||
{
|
||||
description = "Konsole";
|
||||
@@ -148,4 +152,6 @@
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
gtk.gtk2.force = true;
|
||||
}
|
||||
|
@@ -1,23 +1,37 @@
|
||||
{ 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
|
||||
{
|
||||
# Bootloader
|
||||
boot.loader.grub.enable = true;
|
||||
boot.loader.grub.device = lib.mkDefault "/dev/sda";
|
||||
|
||||
|
||||
# Networking
|
||||
networking.networkmanager.enable = true;
|
||||
networking.firewall = rec {
|
||||
allowedTCPPortRanges = [
|
||||
{
|
||||
from = 1714;
|
||||
to = 1764;
|
||||
}
|
||||
];
|
||||
|
||||
allowedUDPPortRanges = allowedTCPPortRanges;
|
||||
};
|
||||
services.openssh.enable = true;
|
||||
services.tailscale.enable = true;
|
||||
|
||||
|
||||
# l10n and i8n
|
||||
time.timeZone = "Europe/Riga";
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
|
||||
|
||||
# Editor
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
@@ -26,13 +40,15 @@ in
|
||||
defaultEditor = true;
|
||||
};
|
||||
|
||||
|
||||
# Nix
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
nix = {
|
||||
settings = {
|
||||
trusted-users = [ "andrey" ];
|
||||
experimental-features = [ "nix-command" "flakes" ];
|
||||
experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
];
|
||||
flake-registry = "";
|
||||
nix-path = config.nix.nixPath;
|
||||
};
|
||||
@@ -42,19 +58,26 @@ in
|
||||
nixPath = lib.mapAttrsToList (n: _: "${n}=flake:${n}") flakeInputs;
|
||||
};
|
||||
|
||||
|
||||
# Users
|
||||
users.mutableUsers = false;
|
||||
users.users.andrey = {
|
||||
isNormalUser = true;
|
||||
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.wheelNeedsPassword = false;
|
||||
|
||||
|
||||
# Printers and scanners
|
||||
hardware.sane.enable = true;
|
||||
services.printing.enable = true;
|
||||
@@ -73,20 +96,24 @@ in
|
||||
stats.enable = true;
|
||||
};
|
||||
|
||||
|
||||
# Programs
|
||||
programs = {
|
||||
git = {
|
||||
enable = true;
|
||||
config = {
|
||||
init.defaultBranch = "master";
|
||||
url."https://github.com/".insteadOf = [ "gh:" "github:" ];
|
||||
url."https://git.psf.lt/".insteadOf = [ "psf:" "gitea:" ];
|
||||
url."https://github.com/".insteadOf = [
|
||||
"gh:"
|
||||
"github:"
|
||||
];
|
||||
url."https://git.psf.lt/".insteadOf = [
|
||||
"psf:"
|
||||
"gitea:"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
# Packages
|
||||
environment.systemPackages = with pkgs; [
|
||||
alsa-utils
|
||||
@@ -97,13 +124,11 @@ in
|
||||
unzip
|
||||
];
|
||||
|
||||
|
||||
hardware.bluetooth = {
|
||||
enable = true;
|
||||
settings.General.Enable = "Source,Sink,Media,Socket";
|
||||
};
|
||||
|
||||
|
||||
# Xorg
|
||||
security.rtkit.enable = true;
|
||||
services = {
|
||||
|
@@ -28,8 +28,11 @@
|
||||
};
|
||||
};
|
||||
|
||||
fonts.packages = lib.mkAfter (with pkgs; [
|
||||
vistafonts
|
||||
corefonts
|
||||
]);
|
||||
fonts.packages = lib.mkAfter (
|
||||
with pkgs;
|
||||
[
|
||||
vistafonts
|
||||
corefonts
|
||||
]
|
||||
);
|
||||
}
|
||||
|
Reference in New Issue
Block a user