Compare commits
No commits in common. "fe6455b4f246bbcaa86be8c314fbb030d2ac8da4" and "0907481b8fd3504a7206c416d22311dd58cd39e8" have entirely different histories.
fe6455b4f2
...
0907481b8f
1143
flake.lock
1143
flake.lock
File diff suppressed because it is too large
Load Diff
39
flake.nix
39
flake.nix
@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
description = ''
|
description = ''
|
||||||
Dhimas config based on nixy
|
Nixy is a NixOS configuration with home-manager, secrets and custom theming all in one place.
|
||||||
|
It's a simple way to manage your system configuration and dotfiles.
|
||||||
'';
|
'';
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
@ -18,32 +19,40 @@
|
|||||||
url = "github:Gerg-L/spicetify-nix";
|
url = "github:Gerg-L/spicetify-nix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
hyprland.url = "github:/hyprwm/hyprland";
|
sops-nix = {
|
||||||
|
url = "github:Mic92/sops-nix";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
nixy-wallpapers = {
|
||||||
|
url = "github:anotherhadi/nixy-wallpapers";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
hyprland.url = "github:/hyprwm/Hyprland?submodules=1";
|
||||||
hyprpolkitagent.url = "github:hyprwm/hyprpolkitagent";
|
hyprpolkitagent.url = "github:hyprwm/hyprpolkitagent";
|
||||||
|
hyprsunset.url = "github:hyprwm/hyprsunset";
|
||||||
|
hyprpanel = {
|
||||||
|
url = "github:Jas-SinghFSU/HyprPanel";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
stylix.url = "github:danth/stylix";
|
stylix.url = "github:danth/stylix";
|
||||||
|
apple-fonts.url = "github:Lyndeno/apple-fonts.nix";
|
||||||
firefox-addons = {
|
firefox-addons = {
|
||||||
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
nvf.url = "github:notashelf/nvf";
|
zen-browser.url = "github:0xc000022070/zen-browser-flake";
|
||||||
niri = {
|
|
||||||
url = "github:sodiboo/niri-flake";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
noctalia = {
|
|
||||||
url = "github:noctalia-dev/noctalia-shell";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs @ {nixpkgs, ...}: {
|
outputs = inputs@{ nixpkgs, ... }: {
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
dark =
|
dark = # CHANGEME: This should match the 'hostname' in your variables.nix file
|
||||||
# CHANGEME: This should match the 'hostname' in your variables.nix file
|
|
||||||
nixpkgs.lib.nixosSystem {
|
nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
{_module.args = {inherit inputs;};}
|
{
|
||||||
|
nixpkgs.overlays = [ inputs.hyprpanel.overlay ];
|
||||||
|
_module.args = { inherit inputs; };
|
||||||
|
}
|
||||||
inputs.nixos-hardware.nixosModules.lenovo-thinkpad-x270 # CHANGEME: check https://github.com/NixOS/nixos-hardware
|
inputs.nixos-hardware.nixosModules.lenovo-thinkpad-x270 # CHANGEME: check https://github.com/NixOS/nixos-hardware
|
||||||
inputs.home-manager.nixosModules.home-manager
|
inputs.home-manager.nixosModules.home-manager
|
||||||
inputs.stylix.nixosModules.stylix
|
inputs.stylix.nixosModules.stylix
|
||||||
|
|||||||
@ -1,8 +1,4 @@
|
|||||||
{
|
{ pkgs, inputs, ... }: {
|
||||||
pkgs,
|
|
||||||
inputs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
programs.firefox = {
|
programs.firefox = {
|
||||||
enable = true;
|
enable = true;
|
||||||
profiles.dark = {
|
profiles.dark = {
|
||||||
@ -53,53 +49,49 @@
|
|||||||
search = {
|
search = {
|
||||||
force = true;
|
force = true;
|
||||||
default = "Searx";
|
default = "Searx";
|
||||||
order = ["Searx" "google"];
|
order = [ "Searx" "Google" ];
|
||||||
engines = {
|
engines = {
|
||||||
"Nix Packages" = {
|
"Nix Packages" = {
|
||||||
urls = [
|
urls = [{
|
||||||
{
|
template = "https://search.nixos.org/packages";
|
||||||
template = "https://search.nixos.org/packages";
|
params = [
|
||||||
params = [
|
{
|
||||||
{
|
name = "type";
|
||||||
name = "type";
|
value = "packages";
|
||||||
value = "packages";
|
}
|
||||||
}
|
{
|
||||||
{
|
name = "query";
|
||||||
name = "query";
|
value = "{searchTerms}";
|
||||||
value = "{searchTerms}";
|
}
|
||||||
}
|
];
|
||||||
];
|
}];
|
||||||
}
|
icon =
|
||||||
];
|
"''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
icon = "''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
definedAliases = [ "@np" ];
|
||||||
definedAliases = ["@np"];
|
|
||||||
};
|
};
|
||||||
"NixOS Wiki" = {
|
"NixOS Wiki" = {
|
||||||
urls = [
|
urls = [{
|
||||||
{
|
template = "https://nixos.wiki/index.php?search={searchTerms}";
|
||||||
template = "https://nixos.wiki/index.php?search={searchTerms}";
|
}];
|
||||||
}
|
iconUpdateURL = "https://nixos.wiki/favicon.png";
|
||||||
];
|
|
||||||
icon = "https://nixos.wiki/favicon.png";
|
|
||||||
updateInterval = 24 * 60 * 60 * 1000; # every day
|
updateInterval = 24 * 60 * 60 * 1000; # every day
|
||||||
definedAliases = ["@nw"];
|
definedAliases = [ "@nw" ];
|
||||||
};
|
};
|
||||||
"Searx" = {
|
"Searx" = {
|
||||||
urls = [
|
urls = [{
|
||||||
{
|
template = "https://searx.aicampground.com/?q={searchTerms}";
|
||||||
template = "https://searx.aicampground.com/?q={searchTerms}";
|
}];
|
||||||
}
|
iconUpdateURL = "https://nixos.wiki/favicon.png";
|
||||||
];
|
|
||||||
icon = "https://nixos.wiki/favicon.png";
|
|
||||||
updateInterval = 24 * 60 * 60 * 1000; # every day
|
updateInterval = 24 * 60 * 60 * 1000; # every day
|
||||||
definedAliases = ["@searx"];
|
definedAliases = [ "@searx" ];
|
||||||
};
|
};
|
||||||
bing.metaData.hidden = true;
|
"Bing".metaData.hidden = true;
|
||||||
google.metaData.alias = "@g"; # builtin engines only support specifying one additional alias
|
"Google".metaData.alias =
|
||||||
|
"@g"; # builtin engines only support specifying one additional alias
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
extensions.packages = with inputs.firefox-addons.packages.${pkgs.stdenv.hostPlatform.system}; [
|
extensions = with inputs.firefox-addons.packages.${pkgs.system}; [
|
||||||
bitwarden
|
bitwarden
|
||||||
multi-account-containers
|
multi-account-containers
|
||||||
zotero-connector
|
zotero-connector
|
||||||
@ -107,5 +99,4 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
stylix.targets.firefox.profileNames = ["dark"];
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,8 +0,0 @@
|
|||||||
{
|
|
||||||
programs.ghostty = {
|
|
||||||
enable = true;
|
|
||||||
enableZshIntegration = true;
|
|
||||||
installVimSyntax = true;
|
|
||||||
installBatSyntax = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,12 +1,12 @@
|
|||||||
{ config, pkgs, ... }:
|
{ config, ... }:
|
||||||
let
|
let
|
||||||
username = config.var.git.username;
|
username = config.var.git.username;
|
||||||
email = config.var.git.email;
|
email = config.var.git.email;
|
||||||
in {
|
in {
|
||||||
home.packages = with pkgs; [ tea ];
|
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
signing.key = "D8EDD65BCB54AC8719BE4EBD8D5D880EB08F1544";
|
userName = username;
|
||||||
|
userEmail = email;
|
||||||
ignores = [
|
ignores = [
|
||||||
".cache/"
|
".cache/"
|
||||||
".DS_Store"
|
".DS_Store"
|
||||||
@ -19,44 +19,37 @@ in {
|
|||||||
"result"
|
"result"
|
||||||
"result-*"
|
"result-*"
|
||||||
];
|
];
|
||||||
settings = {
|
extraConfig = {
|
||||||
user = {
|
|
||||||
name = username;
|
|
||||||
email = email;
|
|
||||||
};
|
|
||||||
aliases = {
|
|
||||||
essa = "push --force";
|
|
||||||
co = "checkout";
|
|
||||||
fuck = "commit --amend -m";
|
|
||||||
c = "commit -m";
|
|
||||||
ca = "commit -am";
|
|
||||||
forgor = "commit --amend --no-edit";
|
|
||||||
graph = "log --all --decorate --graph --oneline";
|
|
||||||
oops = "checkout --";
|
|
||||||
l = "log";
|
|
||||||
r = "rebase";
|
|
||||||
s = "status --short";
|
|
||||||
ss = "status";
|
|
||||||
d = "diff";
|
|
||||||
ps = "!git push origin $(git rev-parse --abbrev-ref HEAD)";
|
|
||||||
pl = "!git pull origin $(git rev-parse --abbrev-ref HEAD)";
|
|
||||||
af = "!git add $(git ls-files -m -o --exclude-standard | sk -m)";
|
|
||||||
st = "status";
|
|
||||||
br = "branch";
|
|
||||||
df =
|
|
||||||
"!git hist | peco | awk '{print $2}' | xargs -I {} git diff {}^ {}";
|
|
||||||
hist = ''
|
|
||||||
log --pretty=format:"%Cgreen%h %Creset%cd %Cblue[%cn] %Creset%s%C(yellow)%d%C(reset)" --graph --date=relative --decorate --all'';
|
|
||||||
llog = ''
|
|
||||||
log --graph --name-status --pretty=format:"%C(red)%h %C(reset)(%cd) %C(green)%an %Creset%s %C(yellow)%d%Creset" --date=relative'';
|
|
||||||
edit-unmerged =
|
|
||||||
"!f() { git ls-files --unmerged | cut -f2 | sort -u ; }; hx `f`";
|
|
||||||
};
|
|
||||||
|
|
||||||
init.defaultBranch = "main";
|
init.defaultBranch = "main";
|
||||||
push.autoSetupRemote = true;
|
push.autoSetupRemote = true;
|
||||||
color.ui = "1";
|
color.ui = "1";
|
||||||
commit.gpgSign = true;
|
};
|
||||||
|
aliases = {
|
||||||
|
essa = "push --force";
|
||||||
|
co = "checkout";
|
||||||
|
fuck = "commit --amend -m";
|
||||||
|
c = "commit -m";
|
||||||
|
ca = "commit -am";
|
||||||
|
forgor = "commit --amend --no-edit";
|
||||||
|
graph = "log --all --decorate --graph --oneline";
|
||||||
|
oops = "checkout --";
|
||||||
|
l = "log";
|
||||||
|
r = "rebase";
|
||||||
|
s = "status --short";
|
||||||
|
ss = "status";
|
||||||
|
d = "diff";
|
||||||
|
ps = "!git push origin $(git rev-parse --abbrev-ref HEAD)";
|
||||||
|
pl = "!git pull origin $(git rev-parse --abbrev-ref HEAD)";
|
||||||
|
af = "!git add $(git ls-files -m -o --exclude-standard | sk -m)";
|
||||||
|
st = "status";
|
||||||
|
br = "branch";
|
||||||
|
df = "!git hist | peco | awk '{print $2}' | xargs -I {} git diff {}^ {}";
|
||||||
|
hist = ''
|
||||||
|
log --pretty=format:"%Cgreen%h %Creset%cd %Cblue[%cn] %Creset%s%C(yellow)%d%C(reset)" --graph --date=relative --decorate --all'';
|
||||||
|
llog = ''
|
||||||
|
log --graph --name-status --pretty=format:"%C(red)%h %C(reset)(%cd) %C(green)%an %Creset%s %C(yellow)%d%Creset" --date=relative'';
|
||||||
|
edit-unmerged =
|
||||||
|
"!f() { git ls-files --unmerged | cut -f2 | sort -u ; }; hx `f`";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
inputs,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
programs.helix = {
|
|
||||||
enable = true;
|
|
||||||
languages = {
|
|
||||||
language = [
|
|
||||||
{
|
|
||||||
name = "nix";
|
|
||||||
auto-format = true;
|
|
||||||
formatter.command = "${pkgs.nixfmt}/bin/nixfmt";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -27,5 +27,4 @@
|
|||||||
tab_bar_style = "powerline";
|
tab_bar_style = "powerline";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
stylix.targets.kitty.variant256Colors = true;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,24 +0,0 @@
|
|||||||
{
|
|
||||||
inputs,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
inputs.nvf.homeManagerModules.default
|
|
||||||
./options.nix
|
|
||||||
./languages.nix
|
|
||||||
./picker.nix
|
|
||||||
./snacks.nix
|
|
||||||
./keymaps.nix
|
|
||||||
./utils.nix
|
|
||||||
./mini.nix
|
|
||||||
];
|
|
||||||
programs.nvf = {
|
|
||||||
enable = true;
|
|
||||||
settings.vim = {
|
|
||||||
startPlugins = [
|
|
||||||
pkgs.vimPlugins.vim-kitty-navigator
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,173 +0,0 @@
|
|||||||
{
|
|
||||||
programs.nvf.settings.vim = {
|
|
||||||
globals.mapleader = " ";
|
|
||||||
binds = {
|
|
||||||
whichKey = {
|
|
||||||
enable = true;
|
|
||||||
# TODO: registers
|
|
||||||
register = { };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
keymaps = [
|
|
||||||
# General Mappings
|
|
||||||
{
|
|
||||||
key = "s";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua require('flash').jump()<cr>";
|
|
||||||
desc = "Flash";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "K";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua vim.lsp.buf.hover()<cr>";
|
|
||||||
desc = "LSP Hover";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<C-tab>";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>bnext<cr>";
|
|
||||||
desc = "Next Buffer";
|
|
||||||
}
|
|
||||||
|
|
||||||
# Kitty navigator
|
|
||||||
{
|
|
||||||
key = "<C-h>";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>KittyNavigateLeft<cr>";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<C-j>";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>KittyNavigateDown<cr>";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<C-k>";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>KittyNavigateUp<cr>";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<C-l>";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>KittyNavigateRight<cr>";
|
|
||||||
}
|
|
||||||
|
|
||||||
# Disable Arrow Keys in Normal Mode
|
|
||||||
{
|
|
||||||
key = "<Up>";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<Nop>";
|
|
||||||
desc = "Disable Up Arrow";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<Down>";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<Nop>";
|
|
||||||
desc = "Disable Down Arrow";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<Left>";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<Nop>";
|
|
||||||
desc = "Disable Left Arrow";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<Right>";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<Nop>";
|
|
||||||
desc = "Disable Right Arrow";
|
|
||||||
}
|
|
||||||
|
|
||||||
# UI
|
|
||||||
{
|
|
||||||
key = "<leader>uw";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>set wrap!<cr>";
|
|
||||||
desc = "Toggle word wrapping";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>ul";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>set linebreak!<cr>";
|
|
||||||
desc = "Toggle linebreak";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>us";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>set spell!<cr>";
|
|
||||||
desc = "Toggle spellLazyGitcheck";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>uc";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>set cursorline!<cr>";
|
|
||||||
desc = "Toggle cursorline";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>un";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>set number!<cr>";
|
|
||||||
desc = "Toggle line numbers";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>ur";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>set relativenumber!<cr>";
|
|
||||||
desc = "Toggle relative line numbers";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>ut";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>set showtabline=2<cr>";
|
|
||||||
desc = "Show tabline";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>uT";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>set showtabline=0<cr>";
|
|
||||||
desc = "Hide tabline";
|
|
||||||
}
|
|
||||||
|
|
||||||
# Windows
|
|
||||||
{
|
|
||||||
key = "<leader>ws";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>split<cr>";
|
|
||||||
desc = "Split";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>wv";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>vsplit<cr>";
|
|
||||||
desc = "VSplit";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>wd";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>close<cr>";
|
|
||||||
desc = "Close";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,99 +0,0 @@
|
|||||||
{ lib, pkgs, ... }: {
|
|
||||||
programs.nvf.settings.vim = {
|
|
||||||
diagnostics = {
|
|
||||||
enable = true;
|
|
||||||
config = {
|
|
||||||
signs = {
|
|
||||||
text = {
|
|
||||||
"vim.diagnostic.severity.Error" = " ";
|
|
||||||
"vim.diagnostic.severity.Warn" = " ";
|
|
||||||
"vim.diagnostic.severity.Hint" = " ";
|
|
||||||
"vim.diagnostic.severity.Info" = " ";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
underline = true;
|
|
||||||
update_in_insert = true;
|
|
||||||
virtual_text = {
|
|
||||||
format = lib.generators.mkLuaInline
|
|
||||||
# lua
|
|
||||||
''
|
|
||||||
function(diagnostic)
|
|
||||||
return string.format("%s", diagnostic.message)
|
|
||||||
--return string.format("%s (%s)", diagnostic.message, diagnostic.source)
|
|
||||||
end
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
nvim-lint = { enable = true; };
|
|
||||||
};
|
|
||||||
syntaxHighlighting = true;
|
|
||||||
treesitter = {
|
|
||||||
enable = true;
|
|
||||||
autotagHtml = true;
|
|
||||||
context.enable = true;
|
|
||||||
highlight.enable = true;
|
|
||||||
grammars = with pkgs.vimPlugins.nvim-treesitter.builtGrammars;
|
|
||||||
[
|
|
||||||
typescript # in language settings only tsx gets enabled, not typescript
|
|
||||||
];
|
|
||||||
};
|
|
||||||
lsp = {
|
|
||||||
enable = true;
|
|
||||||
trouble.enable = true;
|
|
||||||
lspSignature.enable = true;
|
|
||||||
lspconfig.enable = true;
|
|
||||||
formatOnSave = true;
|
|
||||||
inlayHints.enable = true;
|
|
||||||
null-ls.enable = true;
|
|
||||||
servers.nixd.settings.nil.nix.autoArchive = true;
|
|
||||||
otter-nvim = {
|
|
||||||
enable = true;
|
|
||||||
setupOpts = {
|
|
||||||
buffers.set_filetype = true;
|
|
||||||
lsp = { diagnostic_update_event = [ "BufWritePost" "InsertLeave" ]; };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
lspkind.enable = true;
|
|
||||||
lspsaga = {
|
|
||||||
enable = true;
|
|
||||||
setupOpts = {
|
|
||||||
ui = { code_action = ""; };
|
|
||||||
lightbulb = {
|
|
||||||
sign = false;
|
|
||||||
virtual_text = true;
|
|
||||||
};
|
|
||||||
breadcrumbs.enable = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
languages = {
|
|
||||||
enableDAP = true;
|
|
||||||
enableExtraDiagnostics = true;
|
|
||||||
enableFormat = true;
|
|
||||||
enableTreesitter = true;
|
|
||||||
|
|
||||||
php = {
|
|
||||||
enable = true;
|
|
||||||
lsp.server = "intelephense";
|
|
||||||
};
|
|
||||||
go.enable = true;
|
|
||||||
markdown = {
|
|
||||||
enable = true;
|
|
||||||
format.type = "prettierd";
|
|
||||||
extensions = { markview-nvim = { enable = true; }; };
|
|
||||||
extraDiagnostics.enable = true;
|
|
||||||
};
|
|
||||||
ts = {
|
|
||||||
enable = false;
|
|
||||||
extensions.ts-error-translator.enable = true;
|
|
||||||
};
|
|
||||||
css.enable = true;
|
|
||||||
sql.enable = true;
|
|
||||||
html.enable = true;
|
|
||||||
bash.enable = true;
|
|
||||||
nix.enable = true;
|
|
||||||
tailwind.enable = true;
|
|
||||||
};
|
|
||||||
formatter = { conform-nvim = { enable = true; }; };
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,13 +0,0 @@
|
|||||||
{
|
|
||||||
programs.nvf.settings.vim.mini = {
|
|
||||||
starter.enable = true;
|
|
||||||
comment.enable = true;
|
|
||||||
# cursorword.enable = true;
|
|
||||||
icons.enable = true;
|
|
||||||
indentscope.enable = true;
|
|
||||||
notify.enable = true;
|
|
||||||
pairs.enable = true;
|
|
||||||
diff.enable = true;
|
|
||||||
git.enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,40 +0,0 @@
|
|||||||
{ lib, ... }: {
|
|
||||||
programs.nvf.settings.vim = {
|
|
||||||
viAlias = false;
|
|
||||||
vimAlias = true;
|
|
||||||
withNodeJs = true;
|
|
||||||
# syntaxHighlighting = true;
|
|
||||||
options = {
|
|
||||||
autoindent = true;
|
|
||||||
smartindent = true;
|
|
||||||
shiftwidth = 2;
|
|
||||||
foldlevel = 99;
|
|
||||||
foldcolumn = "auto:1";
|
|
||||||
mousescroll = "ver:1,hor:1";
|
|
||||||
mousemoveevent = true;
|
|
||||||
fillchars = "eob:‿,fold: ,foldopen:▼,foldsep:⸽,foldclose:⏵";
|
|
||||||
signcolumn = "yes";
|
|
||||||
tabstop = 2;
|
|
||||||
softtabstop = 2;
|
|
||||||
wrap = false;
|
|
||||||
};
|
|
||||||
globals = {
|
|
||||||
navic_silence = true; # navic tries to attach multiple LSPs and fails
|
|
||||||
suda_smart_edit = 1; # use super user write automatically
|
|
||||||
neovide_scale_factor = 0.7;
|
|
||||||
neovide_cursor_animation_length = 0.1;
|
|
||||||
neovide_cursor_short_animation_length = 0;
|
|
||||||
};
|
|
||||||
clipboard = {
|
|
||||||
enable = true;
|
|
||||||
registers = "unnamedplus";
|
|
||||||
providers.wl-copy.enable = true;
|
|
||||||
};
|
|
||||||
theme = {
|
|
||||||
enable = true;
|
|
||||||
name = lib.mkForce "catppuccin";
|
|
||||||
style = lib.mkForce "mocha";
|
|
||||||
transparent = lib.mkForce true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,257 +0,0 @@
|
|||||||
{
|
|
||||||
programs.nvf.settings.vim = {
|
|
||||||
utility = {
|
|
||||||
oil-nvim.enable = true;
|
|
||||||
snacks-nvim = {
|
|
||||||
setupOpts = {
|
|
||||||
picker.enabled = true;
|
|
||||||
explorer.enabled = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
keymaps = [
|
|
||||||
# Top Pickers & Explorer
|
|
||||||
{
|
|
||||||
key = "<leader> ";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua Snacks.picker.smart()<cr>";
|
|
||||||
desc = "Smart Find Files";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>,";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua Snacks.picker.buffers()<cr>";
|
|
||||||
desc = "Buffers";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>/";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua Snacks.picker.grep()<cr>";
|
|
||||||
desc = "Grep";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>:";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua Snacks.picker.command_history()<cr>";
|
|
||||||
desc = "Command History";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>e";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua Snacks.explorer()<cr>";
|
|
||||||
desc = "File Explorer";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "-";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>Oil<cr>";
|
|
||||||
desc = "Oil";
|
|
||||||
}
|
|
||||||
|
|
||||||
# Find
|
|
||||||
{
|
|
||||||
key = "<leader>fb";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua Snacks.picker.buffers()<cr>";
|
|
||||||
desc = "Buffers";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>fc";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = ''
|
|
||||||
<cmd>lua Snacks.picker.files({ cwd = vim.fn.stdpath("config") })<cr>'';
|
|
||||||
desc = "Find Config File";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>ff";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua Snacks.picker.files()<cr>";
|
|
||||||
desc = "Find Files";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>fg";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua Snacks.picker.git_files()<cr>";
|
|
||||||
desc = "Find Git Files";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>fp";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua Snacks.picker.projects()<cr>";
|
|
||||||
desc = "Projects";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>fr";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua Snacks.picker.recent()<cr>";
|
|
||||||
desc = "Recent";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>fn";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua Snacks.picker.notifications()<cr>";
|
|
||||||
desc = "Notification History";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>fe";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua Snacks.picker.icons()<cr>";
|
|
||||||
desc = "Emoji";
|
|
||||||
}
|
|
||||||
|
|
||||||
# Git
|
|
||||||
{
|
|
||||||
key = "<leader>gb";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua Snacks.picker.git_branches()<cr>";
|
|
||||||
desc = "Git Branches";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>gL";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua Snacks.picker.git_log()<cr>";
|
|
||||||
desc = "Git Log Line";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>gs";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua Snacks.picker.git_status()<cr>";
|
|
||||||
desc = "Git Status";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>gS";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua Snacks.picker.git_stash()<cr>";
|
|
||||||
desc = "Git Stash";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>gd";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua Snacks.picker.git_diff()<cr>";
|
|
||||||
desc = "Git Diff (Hunks)";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>gf";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua Snacks.picker.git_log_file()<cr>";
|
|
||||||
desc = "Git Log File";
|
|
||||||
}
|
|
||||||
|
|
||||||
# Grep
|
|
||||||
{
|
|
||||||
key = "<leader>sb";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua Snacks.picker.lines()<cr>";
|
|
||||||
desc = "Buffer Lines";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>st";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua Snacks.picker.todo_comments()<cr>";
|
|
||||||
desc = "Todos";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>sB";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua Snacks.picker.grep_buffers()<cr>";
|
|
||||||
desc = "Grep Open Buffers";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>sg";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua Snacks.picker.grep()<cr>";
|
|
||||||
desc = "Grep";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>sw";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua Snacks.picker.grep_word()<cr>";
|
|
||||||
desc = "Visual selection or word";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>sr";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>nohlsearch<cr>";
|
|
||||||
desc = "Reset search";
|
|
||||||
}
|
|
||||||
|
|
||||||
# LSP
|
|
||||||
{
|
|
||||||
key = "gd";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua Snacks.picker.lsp_definitions()<cr>";
|
|
||||||
desc = "Goto Definition";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "gD";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua Snacks.picker.lsp_declarations()<cr>";
|
|
||||||
desc = "Goto Declaration";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "gr";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua Snacks.picker.lsp_references()<cr>";
|
|
||||||
desc = "References";
|
|
||||||
nowait = true;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "gI";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua Snacks.picker.lsp_implementations()<cr>";
|
|
||||||
desc = "Goto Implementation";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "gy";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua Snacks.picker.lsp_type_definitions()<cr>";
|
|
||||||
desc = "Goto Type Definition";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>ss";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua Snacks.picker.lsp_symbols()<cr>";
|
|
||||||
desc = "LSP Symbols";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>sS";
|
|
||||||
mode = "n";
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua Snacks.picker.lsp_workspace_symbols()<cr>";
|
|
||||||
desc = "LSP Workspace Symbols";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,19 +0,0 @@
|
|||||||
{
|
|
||||||
programs.nvf.settings.vim.utility.snacks-nvim = {
|
|
||||||
enable = true;
|
|
||||||
setupOpts = {
|
|
||||||
image = {
|
|
||||||
enabled = true;
|
|
||||||
doc = {
|
|
||||||
inline = false;
|
|
||||||
float = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
quickfile.enabled = true;
|
|
||||||
statuscolumn.enabled = true;
|
|
||||||
zen.enabled = true;
|
|
||||||
bufdelete.enabled = true;
|
|
||||||
gitsigns.enabled = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,49 +0,0 @@
|
|||||||
{ pkgs, ... }: {
|
|
||||||
programs.nvf.settings.vim = {
|
|
||||||
undoFile.enable = true;
|
|
||||||
utility = {
|
|
||||||
motion.flash-nvim.enable = true;
|
|
||||||
outline.aerial-nvim.enable = true;
|
|
||||||
};
|
|
||||||
tabline.nvimBufferline.enable = true;
|
|
||||||
notes.todo-comments.enable = true;
|
|
||||||
assistant.copilot = {
|
|
||||||
enable = false;
|
|
||||||
cmp.enable = true;
|
|
||||||
};
|
|
||||||
statusline.lualine.enable = true;
|
|
||||||
|
|
||||||
autocomplete = {
|
|
||||||
nvim-cmp = {
|
|
||||||
enable = true;
|
|
||||||
sources = {
|
|
||||||
buffer = "[Buffer]";
|
|
||||||
nvim-cmp = null;
|
|
||||||
path = "[Path]";
|
|
||||||
};
|
|
||||||
sourcePlugins = [ pkgs.vimPlugins.cmp-cmdline ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
snippets.luasnip.enable = true;
|
|
||||||
ui = {
|
|
||||||
noice.enable = true;
|
|
||||||
colorizer.enable = true;
|
|
||||||
};
|
|
||||||
git = {
|
|
||||||
enable = true;
|
|
||||||
gitsigns.enable = true;
|
|
||||||
};
|
|
||||||
terminal.toggleterm = {
|
|
||||||
enable = true;
|
|
||||||
lazygit = {
|
|
||||||
enable = true;
|
|
||||||
mappings.open = "<leader>gl";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
visuals = {
|
|
||||||
rainbow-delimiters.enable = true;
|
|
||||||
nvim-scrollbar = { enable = false; };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,186 +0,0 @@
|
|||||||
{
|
|
||||||
programs.nixvim = {
|
|
||||||
autoGroups = {
|
|
||||||
auto_quit.clear = true;
|
|
||||||
autoview.clear = true;
|
|
||||||
checktime.clear = true;
|
|
||||||
create_dir.clear = true;
|
|
||||||
editorconfig_filetype.clear = true;
|
|
||||||
file_user_events.clear = true;
|
|
||||||
highlighturl.clear = true;
|
|
||||||
highlightyank.clear = true;
|
|
||||||
large_buf_settings.clear = true;
|
|
||||||
q_close_windows.clear = true;
|
|
||||||
terminal_settings.clear = true;
|
|
||||||
unlist_quickfix.clear = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
autoCmd = [
|
|
||||||
# auto_quit
|
|
||||||
# https://github.com/AstroNvim/AstroNvim/blob/v4.7.7/lua/astronvim/plugins/_astrocore_autocmds.lua#L18-L46
|
|
||||||
{
|
|
||||||
desc =
|
|
||||||
"Quit neovim if more than one window is open and only sidebar windows are list";
|
|
||||||
event = "BufEnter";
|
|
||||||
group = "auto_quit";
|
|
||||||
|
|
||||||
callback.__raw = ''
|
|
||||||
function()
|
|
||||||
local wins = vim.api.nvim_tabpage_list_wins(0)
|
|
||||||
-- Both neo-tree and aerial will auto-quit if there is only a single window left
|
|
||||||
if #wins <= 1 then return end
|
|
||||||
local sidebar_fts = { aerial = true, ["neo-tree"] = true }
|
|
||||||
for _, winid in ipairs(wins) do
|
|
||||||
if vim.api.nvim_win_is_valid(winid) then
|
|
||||||
local bufnr = vim.api.nvim_win_get_buf(winid)
|
|
||||||
local filetype = vim.bo[bufnr].filetype
|
|
||||||
-- If any visible windows are not sidebars, early return
|
|
||||||
if not sidebar_fts[filetype] then
|
|
||||||
return
|
|
||||||
-- If the visible window is a sidebar
|
|
||||||
else
|
|
||||||
-- only count filetypes once, so remove a found sidebar from the detection
|
|
||||||
sidebar_fts[filetype] = nil
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
if #vim.api.nvim_list_tabpages() > 1 then
|
|
||||||
vim.cmd.tabclose()
|
|
||||||
else
|
|
||||||
vim.cmd.qall()
|
|
||||||
end
|
|
||||||
end
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
|
|
||||||
# autoview
|
|
||||||
# https://github.com/AstroNvim/AstroNvim/blob/v4.7.7/lua/astronvim/plugins/_astrocore_autocmds.lua#L49-L70
|
|
||||||
{
|
|
||||||
desc = "Save view with mkview for real files";
|
|
||||||
event = [ "BufWinLeave" "BufWritePost" "WinLeave" ];
|
|
||||||
group = "autoview";
|
|
||||||
|
|
||||||
callback.__raw = ''
|
|
||||||
function(event)
|
|
||||||
if vim.b[event.buf].view_activated then vim.cmd.mkview { mods = { emsg_silent = true } } end
|
|
||||||
end
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
{
|
|
||||||
desc =
|
|
||||||
"Try to load file view if available and enable view saving for real files";
|
|
||||||
event = "BufWinEnter";
|
|
||||||
group = "autoview";
|
|
||||||
|
|
||||||
callback.__raw = ''
|
|
||||||
function(event)
|
|
||||||
if not vim.b[event.buf].view_activated then
|
|
||||||
local filetype = vim.bo[event.buf].filetype
|
|
||||||
local buftype = vim.bo[event.buf].buftype
|
|
||||||
local ignore_filetypes = { "gitcommit", "gitrebase", "svg", "hgcommit" }
|
|
||||||
if buftype == "" and filetype and filetype ~= "" and not vim.tbl_contains(ignore_filetypes, filetype) then
|
|
||||||
vim.b[event.buf].view_activated = true
|
|
||||||
vim.cmd.loadview { mods = { emsg_silent = true } }
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
|
|
||||||
# checktime
|
|
||||||
# https://github.com/AstroNvim/AstroNvim/blob/v4.7.7/lua/astronvim/plugins/_astrocore_autocmds.lua#L118-L122
|
|
||||||
{
|
|
||||||
desc = "Check if buffers changed on editor focus";
|
|
||||||
event = [ "FocusGained" "TermClose" "TermLeave" ];
|
|
||||||
group = "checktime";
|
|
||||||
command = "checktime";
|
|
||||||
}
|
|
||||||
|
|
||||||
# editorconfig_filetype
|
|
||||||
# https://github.com/AstroNvim/AstroNvim/blob/v4.7.7/lua/astronvim/plugins/_astrocore_autocmds.lua#L135-L144
|
|
||||||
{
|
|
||||||
desc =
|
|
||||||
"Configure editorconfig after filetype detection to override `ftplugin`s";
|
|
||||||
event = "FileType";
|
|
||||||
group = "editorconfig_filetype";
|
|
||||||
|
|
||||||
callback.__raw = ''
|
|
||||||
function(args)
|
|
||||||
if vim.F.if_nil(vim.b.editorconfig, vim.g.editorconfig, true) then
|
|
||||||
local editorconfig_avail, editorconfig = pcall(require, "editorconfig")
|
|
||||||
if editorconfig_avail then editorconfig.config(args.buf) end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
|
|
||||||
# highlightyank
|
|
||||||
# https://github.com/AstroNvim/AstroNvim/blob/v4.7.7/lua/astronvim/plugins/_astrocore_autocmds.lua#L206-L211
|
|
||||||
{
|
|
||||||
desc = "Highlight yanked text";
|
|
||||||
event = "TextYankPost";
|
|
||||||
group = "highlightyank";
|
|
||||||
pattern = "*";
|
|
||||||
|
|
||||||
callback.__raw = ''
|
|
||||||
function()
|
|
||||||
vim.highlight.on_yank()
|
|
||||||
end
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
|
|
||||||
# q_close_windows
|
|
||||||
# https://github.com/AstroNvim/AstroNvim/blob/v4.7.7/lua/astronvim/plugins/_astrocore_autocmds.lua#L242-L255
|
|
||||||
{
|
|
||||||
desc = "Make q close help, man, quickfix, dap floats";
|
|
||||||
event = "BufWinEnter";
|
|
||||||
group = "q_close_windows";
|
|
||||||
|
|
||||||
callback.__raw = ''
|
|
||||||
function(event)
|
|
||||||
if vim.tbl_contains({ "help", "nofile", "quickfix" }, vim.bo[event.buf].buftype) then
|
|
||||||
vim.keymap.set("n", "q", "<Cmd>close<CR>", {
|
|
||||||
desc = "Close window",
|
|
||||||
buffer = event.buf,
|
|
||||||
silent = true,
|
|
||||||
nowait = true,
|
|
||||||
})
|
|
||||||
end
|
|
||||||
end
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
|
|
||||||
# terminal_settings
|
|
||||||
# https://github.com/AstroNvim/AstroNvim/blob/v4.7.7/lua/astronvim/plugins/_astrocore_autocmds.lua#L258-L266
|
|
||||||
{
|
|
||||||
desc = "Disable line number/fold column/sign column for terminals";
|
|
||||||
event = "TermOpen";
|
|
||||||
group = "terminal_settings";
|
|
||||||
|
|
||||||
callback.__raw = ''
|
|
||||||
function()
|
|
||||||
vim.opt_local.number = false
|
|
||||||
vim.opt_local.relativenumber = false
|
|
||||||
vim.opt_local.foldcolumn = "0"
|
|
||||||
vim.opt_local.signcolumn = "no"
|
|
||||||
end
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
|
|
||||||
# unlist_quickfix
|
|
||||||
# https://github.com/AstroNvim/AstroNvim/blob/v4.7.7/lua/astronvim/plugins/_astrocore_autocmds.lua#L270-L275
|
|
||||||
{
|
|
||||||
desc = "Unlist quickfix buffers";
|
|
||||||
event = "FileType";
|
|
||||||
group = "unlist_quickfix";
|
|
||||||
pattern = "qf";
|
|
||||||
|
|
||||||
callback.__raw = ''
|
|
||||||
function()
|
|
||||||
vim.opt_local.buflisted = false
|
|
||||||
end
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,14 +1,13 @@
|
|||||||
# Nixvim is a NixOS module that installs and configures Neovim
|
# Nixvim is a NixOS module that installs and configures Neovim
|
||||||
{ inputs, ... }: {
|
{ inputs, ... }: {
|
||||||
imports = [
|
imports = [
|
||||||
inputs.nixvim.homeModules.nixvim
|
inputs.nixvim.homeManagerModules.nixvim
|
||||||
./plugins/cmp.nix
|
./plugins/cmp.nix
|
||||||
./plugins/dashboard.nix
|
./plugins/dashboard.nix
|
||||||
./plugins/lsp.nix
|
./plugins/lsp.nix
|
||||||
./plugins/markdown.nix
|
./plugins/markdown.nix
|
||||||
./plugins/tree.nix
|
./plugins/tree.nix
|
||||||
./plugins/ui.nix
|
./plugins/ui.nix
|
||||||
./plugins/lualine.nix
|
|
||||||
./plugins/utils.nix
|
./plugins/utils.nix
|
||||||
./plugins/dap.nix
|
./plugins/dap.nix
|
||||||
./plugins/telescope.nix
|
./plugins/telescope.nix
|
||||||
@ -18,7 +17,6 @@
|
|||||||
|
|
||||||
./options.nix
|
./options.nix
|
||||||
./keymaps.nix
|
./keymaps.nix
|
||||||
./autocmds.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.nixvim.enable = true;
|
programs.nixvim.enable = true;
|
||||||
|
|||||||
@ -313,16 +313,6 @@
|
|||||||
action = "<cmd>lua require('dap').toggle_breakpoint()<CR>";
|
action = "<cmd>lua require('dap').toggle_breakpoint()<CR>";
|
||||||
options.desc = "Toggle breakpoint";
|
options.desc = "Toggle breakpoint";
|
||||||
}
|
}
|
||||||
{
|
|
||||||
key = "<S-l>";
|
|
||||||
action = "<cmd>BufferLineCycleNext<CR>";
|
|
||||||
options.desc = "Go to next buffer";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<S-h>";
|
|
||||||
action = "<cmd>BufferLineCyclePrev<CR>";
|
|
||||||
options.desc = "Go to previous buffer";
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,149 +1,40 @@
|
|||||||
{
|
{
|
||||||
programs.nixvim = {
|
programs.nixvim.globals.mapleader = " ";
|
||||||
globals.mapleader = " ";
|
programs.nixvim.opts = {
|
||||||
opts = {
|
updatetime = 50; # Faster completion
|
||||||
autoindent = true;
|
|
||||||
|
|
||||||
smartindent = true;
|
number = true;
|
||||||
|
relativenumber = true;
|
||||||
|
|
||||||
incsearch = true;
|
autoindent = true;
|
||||||
hlsearch = true;
|
clipboard = "unnamed,unnamedplus";
|
||||||
wildmode = "list:longest";
|
|
||||||
scrolloff = 8;
|
|
||||||
|
|
||||||
swapfile = false;
|
expandtab = true;
|
||||||
conceallevel = 3;
|
tabstop = 2;
|
||||||
clipboard = "unnamed,unnamedplus";
|
softtabstop = 2;
|
||||||
|
shiftwidth = 2;
|
||||||
|
smartindent = true;
|
||||||
|
breakindent = true;
|
||||||
|
|
||||||
# Don't stop backspace at insert
|
ignorecase = true;
|
||||||
backspace.__raw = ''
|
incsearch = true;
|
||||||
vim.list_extend(vim.opt.backspace:get(), { "nostop" })
|
hlsearch = true;
|
||||||
'';
|
smartcase = true;
|
||||||
|
wildmode = "list:longest";
|
||||||
|
completeopt = [ "menuone" "noselect" "noinsert" ];
|
||||||
|
signcolumn = "yes";
|
||||||
|
cursorline = false;
|
||||||
|
scrolloff = 8;
|
||||||
|
mouse = "a";
|
||||||
|
termguicolors = true;
|
||||||
|
showmode = false;
|
||||||
|
|
||||||
# Keep visual indentation on wrapped lines
|
wrap = false;
|
||||||
breakindent = true;
|
linebreak = true;
|
||||||
|
|
||||||
# Hide command line unless needed
|
swapfile = false;
|
||||||
cmdheight = 0;
|
undofile = true;
|
||||||
|
conceallevel = 3;
|
||||||
# Insert mode completion options
|
|
||||||
completeopt = [ "menu" "menuone" "noselect" ];
|
|
||||||
|
|
||||||
# Raise a dialog asking if you wish to save the current file(s)
|
|
||||||
confirm = true;
|
|
||||||
|
|
||||||
# Copy previous indentation on autoindenting
|
|
||||||
copyindent = true;
|
|
||||||
|
|
||||||
# Highlight current line
|
|
||||||
cursorline = true;
|
|
||||||
|
|
||||||
# Enable linematch diff algorithm
|
|
||||||
diffopt.__raw = ''
|
|
||||||
vim.list_extend(vim.opt.diffopt:get(), { "algorithm:histogram", "linematch:60" })
|
|
||||||
'';
|
|
||||||
|
|
||||||
# Expand <Tab> to spaces
|
|
||||||
expandtab = true;
|
|
||||||
|
|
||||||
# Disable `~` on nonexistent lines
|
|
||||||
fillchars = { eob = " "; };
|
|
||||||
|
|
||||||
# Enable fold with all code unfolded
|
|
||||||
foldcolumn = "1";
|
|
||||||
foldenable = true;
|
|
||||||
foldlevel = 99;
|
|
||||||
foldlevelstart = 99;
|
|
||||||
|
|
||||||
# Ignore case in search patterns
|
|
||||||
ignorecase = true;
|
|
||||||
|
|
||||||
# Show substitution preview in split window
|
|
||||||
inccommand = "split";
|
|
||||||
|
|
||||||
# Infer casing on word completion
|
|
||||||
infercase = true;
|
|
||||||
|
|
||||||
# Global statusline
|
|
||||||
laststatus = 3;
|
|
||||||
|
|
||||||
# Wrap lines at 'breakat'
|
|
||||||
linebreak = true;
|
|
||||||
|
|
||||||
# Enable mouse support
|
|
||||||
mouse = "a";
|
|
||||||
|
|
||||||
# Show line numbers
|
|
||||||
number = true;
|
|
||||||
|
|
||||||
# Preserve indentation as much as possible
|
|
||||||
preserveindent = true;
|
|
||||||
|
|
||||||
# Height of the popup menu
|
|
||||||
pumheight = 10;
|
|
||||||
|
|
||||||
# Display line numbers relative to current line
|
|
||||||
relativenumber = true;
|
|
||||||
|
|
||||||
# Minimal number of lines to keep around the cursor
|
|
||||||
# This has the effect to move the view along with current line
|
|
||||||
#scrolloff = 999;
|
|
||||||
|
|
||||||
# Number of spaces to use for indentation
|
|
||||||
shiftwidth = 2;
|
|
||||||
|
|
||||||
# Disable search count wrap and startup messages
|
|
||||||
shortmess.__raw = ''
|
|
||||||
vim.tbl_deep_extend("force", vim.opt.shortmess:get(), { s = true, I = true })
|
|
||||||
'';
|
|
||||||
|
|
||||||
# Disable showing modes in command line
|
|
||||||
showmode = false;
|
|
||||||
|
|
||||||
# Show signs column
|
|
||||||
signcolumn = "yes";
|
|
||||||
|
|
||||||
# Override ignorecase if search pattern contains uppercase characters
|
|
||||||
smartcase = true;
|
|
||||||
|
|
||||||
# Number of spaces input on <Tab>
|
|
||||||
softtabstop = 2;
|
|
||||||
|
|
||||||
# Open horizontal split below (:split)
|
|
||||||
splitbelow = true;
|
|
||||||
|
|
||||||
# Open vertical split to the right (:vsplit)
|
|
||||||
splitright = true;
|
|
||||||
|
|
||||||
# Number of spaces to represent a <Tab>
|
|
||||||
tabstop = 2;
|
|
||||||
|
|
||||||
# Enables 24-bit RGB color
|
|
||||||
termguicolors = true;
|
|
||||||
|
|
||||||
# Shorter timeout duration
|
|
||||||
timeoutlen = 500;
|
|
||||||
|
|
||||||
# Set window title to the filename
|
|
||||||
title = true;
|
|
||||||
|
|
||||||
# Save undo history to undo file (in $XDG_STATE_HOME/nvim/undo)
|
|
||||||
undofile = true;
|
|
||||||
|
|
||||||
viewoptions.__raw = ''
|
|
||||||
vim.tbl_filter(function(val) return val ~= "curdir" end, vim.opt.viewoptions:get())
|
|
||||||
'';
|
|
||||||
|
|
||||||
# Enable virtual edit in visual block mode
|
|
||||||
# This has the effect of selecting empty cells beyond lines boundaries
|
|
||||||
virtualedit = "block";
|
|
||||||
|
|
||||||
# Disable line wrapping
|
|
||||||
wrap = false;
|
|
||||||
|
|
||||||
# Disable making a backup before overwriting a file
|
|
||||||
writebackup = false;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
programs.nixvim.extraConfigLuaPost = ''
|
programs.nixvim.extraConfigLuaPost = ''
|
||||||
vim.g.neovide_scale_factor = 1.0
|
vim.g.neovide_scale_factor = 1.0
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
{
|
{
|
||||||
programs.nixvim.plugins = {
|
programs.nixvim.plugins = {
|
||||||
luasnip.enable = true;
|
luasnip.enable = true;
|
||||||
friendly-snippets.enable = true;
|
|
||||||
cmp-buffer = { enable = true; };
|
cmp-buffer = { enable = true; };
|
||||||
cmp-emoji = { enable = true; };
|
cmp-emoji = { enable = true; };
|
||||||
cmp-nvim-lsp = { enable = true; };
|
cmp-nvim-lsp = { enable = true; };
|
||||||
@ -69,6 +68,7 @@
|
|||||||
Calendar = "",
|
Calendar = "",
|
||||||
Watch = "",
|
Watch = "",
|
||||||
Package = "",
|
Package = "",
|
||||||
|
Copilot = "",
|
||||||
Codeium = "",
|
Codeium = "",
|
||||||
TabNine = "",
|
TabNine = "",
|
||||||
}
|
}
|
||||||
@ -112,5 +112,6 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -16,9 +16,13 @@
|
|||||||
texthl = "DapLogPoint";
|
texthl = "DapLogPoint";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
extensions = {
|
||||||
programs.nixvim.plugins = {
|
dap-go = {
|
||||||
dap-virtual-text.enable = true;
|
enable = true;
|
||||||
dap-ui.enable = true;
|
delve.path = "${pkgs.delve}/bin/dlv";
|
||||||
|
};
|
||||||
|
dap-ui = { enable = true; };
|
||||||
|
dap-virtual-text = { enable = true; };
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -50,17 +50,7 @@ in {
|
|||||||
val = " Find file";
|
val = " Find file";
|
||||||
on_press.__raw = "function() vim.cmd[[Telescope find_files]] end";
|
on_press.__raw = "function() vim.cmd[[Telescope find_files]] end";
|
||||||
opts = {
|
opts = {
|
||||||
keymap = [
|
shortcut = "nf";
|
||||||
"n"
|
|
||||||
"f"
|
|
||||||
":Telescope find_files <CR>"
|
|
||||||
{
|
|
||||||
noremap = true;
|
|
||||||
silent = true;
|
|
||||||
nowait = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
shortcut = "f";
|
|
||||||
position = "center";
|
position = "center";
|
||||||
cursor = 3;
|
cursor = 3;
|
||||||
width = 50;
|
width = 50;
|
||||||
@ -74,17 +64,7 @@ in {
|
|||||||
val = " New file";
|
val = " New file";
|
||||||
on_press.__raw = "function() vim.cmd[[ene]] end";
|
on_press.__raw = "function() vim.cmd[[ene]] end";
|
||||||
opts = {
|
opts = {
|
||||||
keymap = [
|
shortcut = "nn";
|
||||||
"n"
|
|
||||||
"n"
|
|
||||||
":ene <CR>"
|
|
||||||
{
|
|
||||||
noremap = true;
|
|
||||||
silent = true;
|
|
||||||
nowait = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
shortcut = "n";
|
|
||||||
position = "center";
|
position = "center";
|
||||||
cursor = 3;
|
cursor = 3;
|
||||||
width = 50;
|
width = 50;
|
||||||
@ -98,17 +78,7 @@ in {
|
|||||||
val = " NixOs Config";
|
val = " NixOs Config";
|
||||||
on_press.__raw = "function() vim.cmd[[Neotree ${configDir}]] end";
|
on_press.__raw = "function() vim.cmd[[Neotree ${configDir}]] end";
|
||||||
opts = {
|
opts = {
|
||||||
keymap = [
|
shortcut = "nc";
|
||||||
"n"
|
|
||||||
"c"
|
|
||||||
":Neotree ${configDir} <CR>"
|
|
||||||
{
|
|
||||||
noremap = true;
|
|
||||||
silent = true;
|
|
||||||
nowait = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
shortcut = "c";
|
|
||||||
position = "center";
|
position = "center";
|
||||||
cursor = 3;
|
cursor = 3;
|
||||||
width = 50;
|
width = 50;
|
||||||
@ -123,17 +93,7 @@ in {
|
|||||||
on_press.__raw =
|
on_press.__raw =
|
||||||
"function() vim.cmd[[e ${configDir}/docs/KEYBINDINGS.md]] end";
|
"function() vim.cmd[[e ${configDir}/docs/KEYBINDINGS.md]] end";
|
||||||
opts = {
|
opts = {
|
||||||
keymap = [
|
shortcut = "nc";
|
||||||
"n"
|
|
||||||
"b"
|
|
||||||
":e ${configDir}/docs/KEYBINDINGS.md <CR>"
|
|
||||||
{
|
|
||||||
noremap = true;
|
|
||||||
silent = true;
|
|
||||||
nowait = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
shortcut = "b";
|
|
||||||
position = "center";
|
position = "center";
|
||||||
cursor = 3;
|
cursor = 3;
|
||||||
width = 50;
|
width = 50;
|
||||||
@ -147,17 +107,7 @@ in {
|
|||||||
val = " Recently used";
|
val = " Recently used";
|
||||||
on_press.__raw = "function() vim.cmd[[Telescope oldfiles]] end";
|
on_press.__raw = "function() vim.cmd[[Telescope oldfiles]] end";
|
||||||
opts = {
|
opts = {
|
||||||
keymap = [
|
shortcut = "no";
|
||||||
"n"
|
|
||||||
"o"
|
|
||||||
":Telescope oldfiles <CR>"
|
|
||||||
{
|
|
||||||
noremap = true;
|
|
||||||
silent = true;
|
|
||||||
nowait = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
shortcut = "o";
|
|
||||||
position = "center";
|
position = "center";
|
||||||
cursor = 3;
|
cursor = 3;
|
||||||
width = 50;
|
width = 50;
|
||||||
@ -171,17 +121,7 @@ in {
|
|||||||
val = " Find text";
|
val = " Find text";
|
||||||
on_press.__raw = "function() vim.cmd[[Telescope live_grep]] end";
|
on_press.__raw = "function() vim.cmd[[Telescope live_grep]] end";
|
||||||
opts = {
|
opts = {
|
||||||
keymap = [
|
shortcut = "nt";
|
||||||
"n"
|
|
||||||
"t"
|
|
||||||
":Telescope live_grep <CR>"
|
|
||||||
{
|
|
||||||
noremap = true;
|
|
||||||
silent = true;
|
|
||||||
nowait = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
shortcut = "t";
|
|
||||||
position = "center";
|
position = "center";
|
||||||
cursor = 3;
|
cursor = 3;
|
||||||
width = 50;
|
width = 50;
|
||||||
@ -195,17 +135,7 @@ in {
|
|||||||
val = " Quit Neovim";
|
val = " Quit Neovim";
|
||||||
on_press.__raw = "function() vim.cmd[[qa]] end";
|
on_press.__raw = "function() vim.cmd[[qa]] end";
|
||||||
opts = {
|
opts = {
|
||||||
keymap = [
|
shortcut = "nq";
|
||||||
"n"
|
|
||||||
"q"
|
|
||||||
":qa <CR>"
|
|
||||||
{
|
|
||||||
noremap = true;
|
|
||||||
silent = true;
|
|
||||||
nowait = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
shortcut = "q";
|
|
||||||
position = "center";
|
position = "center";
|
||||||
cursor = 3;
|
cursor = 3;
|
||||||
width = 50;
|
width = 50;
|
||||||
|
|||||||
@ -40,7 +40,7 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
sources = {
|
sources = {
|
||||||
diagnostics = {
|
diagnostics = {
|
||||||
golangci_lint.enable = false;
|
golangci_lint.enable = true;
|
||||||
statix.enable = true;
|
statix.enable = true;
|
||||||
};
|
};
|
||||||
formatting = {
|
formatting = {
|
||||||
@ -53,7 +53,7 @@
|
|||||||
shfmt.enable = true;
|
shfmt.enable = true;
|
||||||
# golines.enable = true;
|
# golines.enable = true;
|
||||||
# gofumpt.enable = true;
|
# gofumpt.enable = true;
|
||||||
# phpcsfixer.enable = true;
|
phpcsfixer.enable = true;
|
||||||
elm_format.enable = true;
|
elm_format.enable = true;
|
||||||
blade_formatter = {
|
blade_formatter = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
programs.nixvim.plugins.lualine = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
options.disabled_filetypes.statusline =
|
|
||||||
[ "dashboard" "alpha" "neo-tree" ];
|
|
||||||
|
|
||||||
options = { show_filename_only = false; };
|
|
||||||
alwaysDivideMiddle = true;
|
|
||||||
globalstatus = true;
|
|
||||||
ignoreFocus = [ "neo-tree" ];
|
|
||||||
extensions = [ "fzf" ];
|
|
||||||
theme = "auto";
|
|
||||||
componentSeparators = {
|
|
||||||
left = "|";
|
|
||||||
right = "|";
|
|
||||||
};
|
|
||||||
sectionSeparators = {
|
|
||||||
left = ""; #
|
|
||||||
right = ""; #
|
|
||||||
};
|
|
||||||
sections = {
|
|
||||||
lualine_a = [ "mode" ];
|
|
||||||
lualine_b = [ "branch" "diff" "diagnostics" ];
|
|
||||||
lualine_c = [ "filename" ];
|
|
||||||
lualine_x = [ "filetype" ];
|
|
||||||
lualine_y = [ "progress" "selectioncount" ];
|
|
||||||
lualine_z = [ ''" " .. os.date("%R")'' ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,3 +1,4 @@
|
|||||||
|
# The render-markdown.nvim plugin is a plugin that renders markdown files in a neovim in a more readable way.
|
||||||
{ config, ... }:
|
{ config, ... }:
|
||||||
let
|
let
|
||||||
accent = "#${config.lib.stylix.colors.base0D}";
|
accent = "#${config.lib.stylix.colors.base0D}";
|
||||||
@ -8,113 +9,112 @@ in {
|
|||||||
|
|
||||||
programs.nixvim = {
|
programs.nixvim = {
|
||||||
plugins.mkdnflow = {
|
plugins.mkdnflow = {
|
||||||
enable = false;
|
enable = true;
|
||||||
settings = {
|
modules = { conceal = false; };
|
||||||
modules = { conceal = false; };
|
|
||||||
to_do.symbols = [ " " "-" "x" "!" "/" ];
|
toDo.symbols = [ " " "-" "x" "!" "/" ];
|
||||||
# mappings = {
|
mappings = {
|
||||||
# MkdnCreateLink = false;
|
MkdnCreateLink = false;
|
||||||
# MkdnCreateLinkFromClipboard = {
|
MkdnCreateLinkFromClipboard = {
|
||||||
# key = "<leader>ml";
|
key = "<leader>ml";
|
||||||
# modes = [ "n" "v" ];
|
modes = [ "n" "v" ];
|
||||||
# };
|
|
||||||
# MkdnDecreaseHeading = {
|
|
||||||
# key = "<leader>m-";
|
|
||||||
# modes = "n";
|
|
||||||
# };
|
|
||||||
# MkdnDestroyLink = false;
|
|
||||||
# MkdnEnter = {
|
|
||||||
# key = "<CR>";
|
|
||||||
# modes = [ "v" ];
|
|
||||||
# };
|
|
||||||
# MkdnExtendList = false;
|
|
||||||
# MkdnFoldSection = {
|
|
||||||
# key = "<leader>mf";
|
|
||||||
# modes = "n";
|
|
||||||
# };
|
|
||||||
# MkdnUnfoldSection = {
|
|
||||||
# key = "<leader>mF";
|
|
||||||
# modes = "n";
|
|
||||||
# };
|
|
||||||
# MkdnFollowLink = {
|
|
||||||
# key = "gd";
|
|
||||||
# modes = "n";
|
|
||||||
# };
|
|
||||||
# MkdnGoBack = false;
|
|
||||||
# MkdnGoForward = false;
|
|
||||||
# MkdnIncreaseHeading = {
|
|
||||||
# key = "<leader>m+";
|
|
||||||
# modes = "n";
|
|
||||||
# };
|
|
||||||
# MkdnMoveSource = false;
|
|
||||||
# MkdnNewListItem = false;
|
|
||||||
# MkdnNewListItemAboveInsert = {
|
|
||||||
# key = "O";
|
|
||||||
# modes = "n";
|
|
||||||
# };
|
|
||||||
# MkdnNewListItemBelowInsert = {
|
|
||||||
# key = "o";
|
|
||||||
# modes = "n";
|
|
||||||
# };
|
|
||||||
# MkdnNextHeading = {
|
|
||||||
# key = "<leader>m#";
|
|
||||||
# modes = "n";
|
|
||||||
# };
|
|
||||||
# MkdnNextLink = false;
|
|
||||||
# MkdnPrevLink = false;
|
|
||||||
# MkdnPrevHeading = {
|
|
||||||
# key = "<leader>m*";
|
|
||||||
# modes = "n";
|
|
||||||
# };
|
|
||||||
# MkdnSTab = false;
|
|
||||||
# MkdnTab = false;
|
|
||||||
# MkdnTableNewColAfter = {
|
|
||||||
# key = "<leader>mc";
|
|
||||||
# modes = "n";
|
|
||||||
# };
|
|
||||||
# MkdnTableNewColBefore = {
|
|
||||||
# key = "<leader>mC";
|
|
||||||
# modes = "n";
|
|
||||||
# };
|
|
||||||
# MkdnTableNewRowAbove = {
|
|
||||||
# key = "<leader>mR";
|
|
||||||
# modes = "n";
|
|
||||||
# };
|
|
||||||
# MkdnTableNewRowBelow = {
|
|
||||||
# key = "<leader>mr";
|
|
||||||
# modes = "n";
|
|
||||||
# };
|
|
||||||
# MkdnTableNextCell = {
|
|
||||||
# key = "<S-Tab>";
|
|
||||||
# modes = "n";
|
|
||||||
# };
|
|
||||||
# MkdnTableNextRow = false;
|
|
||||||
# MkdnTablePrevCell = {
|
|
||||||
# key = "<S-Tab>";
|
|
||||||
# modes = "n";
|
|
||||||
# };
|
|
||||||
# MkdnTablePrevRow = false;
|
|
||||||
# MkdnToggleToDo = {
|
|
||||||
# key = "<C-Space>";
|
|
||||||
# modes = [ "n" "v" ];
|
|
||||||
# };
|
|
||||||
# MkdnUpdateNumbering = {
|
|
||||||
# key = "<leader>mn";
|
|
||||||
# modes = "n";
|
|
||||||
# };
|
|
||||||
# MkdnYankAnchorLink = {
|
|
||||||
# key = "ya";
|
|
||||||
# modes = "n";
|
|
||||||
# };
|
|
||||||
# MkdnYankFileAnchorLink = {
|
|
||||||
# key = "yfa";
|
|
||||||
# modes = "n";
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
tables = {
|
|
||||||
formatOnMove = true;
|
|
||||||
trimWhitespace = true;
|
|
||||||
};
|
};
|
||||||
|
MkdnDecreaseHeading = {
|
||||||
|
key = "<leader>m-";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnDestroyLink = false;
|
||||||
|
MkdnEnter = {
|
||||||
|
key = "<CR>";
|
||||||
|
modes = [ "v" ];
|
||||||
|
};
|
||||||
|
MkdnExtendList = false;
|
||||||
|
MkdnFoldSection = {
|
||||||
|
key = "<leader>mf";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnUnfoldSection = {
|
||||||
|
key = "<leader>mF";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnFollowLink = {
|
||||||
|
key = "gd";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnGoBack = false;
|
||||||
|
MkdnGoForward = false;
|
||||||
|
MkdnIncreaseHeading = {
|
||||||
|
key = "<leader>m+";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnMoveSource = false;
|
||||||
|
MkdnNewListItem = false;
|
||||||
|
MkdnNewListItemAboveInsert = {
|
||||||
|
key = "O";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnNewListItemBelowInsert = {
|
||||||
|
key = "o";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnNextHeading = {
|
||||||
|
key = "<leader>m#";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnNextLink = false;
|
||||||
|
MkdnPrevLink = false;
|
||||||
|
MkdnPrevHeading = {
|
||||||
|
key = "<leader>m*";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnSTab = false;
|
||||||
|
MkdnTab = false;
|
||||||
|
MkdnTableNewColAfter = {
|
||||||
|
key = "<leader>mc";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnTableNewColBefore = {
|
||||||
|
key = "<leader>mC";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnTableNewRowAbove = {
|
||||||
|
key = "<leader>mR";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnTableNewRowBelow = {
|
||||||
|
key = "<leader>mr";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnTableNextCell = {
|
||||||
|
key = "<S-Tab>";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnTableNextRow = false;
|
||||||
|
MkdnTablePrevCell = {
|
||||||
|
key = "<S-Tab>";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnTablePrevRow = false;
|
||||||
|
MkdnToggleToDo = {
|
||||||
|
key = "<C-Space>";
|
||||||
|
modes = [ "n" "v" ];
|
||||||
|
};
|
||||||
|
MkdnUpdateNumbering = {
|
||||||
|
key = "<leader>mn";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnYankAnchorLink = {
|
||||||
|
key = "ya";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnYankFileAnchorLink = {
|
||||||
|
key = "yfa";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
tables = {
|
||||||
|
formatOnMove = true;
|
||||||
|
trimWhitespace = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
extraFiles = {
|
extraFiles = {
|
||||||
@ -132,9 +132,8 @@ in {
|
|||||||
RenderMarkdownH4.fg = accent-alt;
|
RenderMarkdownH4.fg = accent-alt;
|
||||||
RenderMarkdownH5.fg = accent-alt;
|
RenderMarkdownH5.fg = accent-alt;
|
||||||
RenderMarkdownH6.fg = accent-alt;
|
RenderMarkdownH6.fg = accent-alt;
|
||||||
RenderMarkdownTodo.fg = "#f78c6c";
|
RenderMarkdownTodo.fg = muted;
|
||||||
RenderMarkdownWarning.fg = "#ff5370";
|
RenderMarkdownWarning.fg = accent;
|
||||||
RenderMarkdownDone.fg = muted;
|
|
||||||
};
|
};
|
||||||
plugins.headlines = {
|
plugins.headlines = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@ -157,7 +156,6 @@ in {
|
|||||||
settings = {
|
settings = {
|
||||||
heading = {
|
heading = {
|
||||||
icons = [ "# " " " " " " " " " " " ];
|
icons = [ "# " " " " " " " " " " " ];
|
||||||
sign = false;
|
|
||||||
backgrounds = [ "RenderMarkdownBg" ];
|
backgrounds = [ "RenderMarkdownBg" ];
|
||||||
foregrounds = [
|
foregrounds = [
|
||||||
"RenderMarkdownH1"
|
"RenderMarkdownH1"
|
||||||
@ -170,7 +168,7 @@ in {
|
|||||||
};
|
};
|
||||||
checkbox = {
|
checkbox = {
|
||||||
unchecked = { highlight = "RenderMarkdownTodo"; };
|
unchecked = { highlight = "RenderMarkdownTodo"; };
|
||||||
checked = { highlight = "RenderMarkdownDone"; };
|
checked = { highlight = "RenderMarkdownTodo"; };
|
||||||
custom = {
|
custom = {
|
||||||
pending = {
|
pending = {
|
||||||
raw = "[-]";
|
raw = "[-]";
|
||||||
@ -179,13 +177,13 @@ in {
|
|||||||
};
|
};
|
||||||
important = {
|
important = {
|
||||||
raw = "[!]";
|
raw = "[!]";
|
||||||
rendered = " ";
|
rendered = " ";
|
||||||
highlight = "RenderMarkdownWarning";
|
highlight = "RenderMarkdownWarning";
|
||||||
};
|
};
|
||||||
cancel = {
|
cancel = {
|
||||||
raw = "[/]";
|
raw = "[/]";
|
||||||
rendered = " ";
|
rendered = " ";
|
||||||
highlight = "RenderMarkdownWarning";
|
highlight = "RenderMarkdownTodo";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,13 +1,54 @@
|
|||||||
{ pkgs, ... }: {
|
{ pkgs, ... }: {
|
||||||
home.packages = with pkgs; [ ctags ];
|
home.packages = with pkgs; [ ctags ];
|
||||||
programs.nixvim.plugins = {
|
|
||||||
web-devicons.enable = true;
|
programs.nixvim = {
|
||||||
noice.enable = true;
|
plugins = {
|
||||||
glance.enable = true;
|
lualine = {
|
||||||
gitsigns = {
|
enable = true;
|
||||||
enable = true;
|
settings = {
|
||||||
settings.current_line_blame = false;
|
options.disabled_filetypes.statusline =
|
||||||
|
[ "dashboard" "alpha" "neo-tree" ];
|
||||||
|
|
||||||
|
alwaysDivideMiddle = true;
|
||||||
|
globalstatus = true;
|
||||||
|
ignoreFocus = [ "neo-tree" ];
|
||||||
|
extensions = [ "fzf" ];
|
||||||
|
theme = "auto";
|
||||||
|
componentSeparators = {
|
||||||
|
left = "|";
|
||||||
|
right = "|";
|
||||||
|
};
|
||||||
|
sectionSeparators = {
|
||||||
|
left = ""; #
|
||||||
|
right = ""; #
|
||||||
|
};
|
||||||
|
sections = {
|
||||||
|
lualine_a = [ "mode" ];
|
||||||
|
lualine_b = [ "branch" "diff" "diagnostics" ];
|
||||||
|
lualine_c = [ "filename" ];
|
||||||
|
lualine_x = [ "filetype" ];
|
||||||
|
lualine_y = [ "progress" "selectioncount" ];
|
||||||
|
lualine_z = [ ''" " .. os.date("%R")'' ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
web-devicons.enable = true;
|
||||||
|
noice.enable = true;
|
||||||
|
notify = {
|
||||||
|
enable = true;
|
||||||
|
level = "warn";
|
||||||
|
};
|
||||||
|
gitsigns = {
|
||||||
|
enable = true;
|
||||||
|
settings.current_line_blame = false;
|
||||||
|
};
|
||||||
|
trouble.enable = true;
|
||||||
|
indent-blankline.enable = true;
|
||||||
|
colorizer.enable = true;
|
||||||
|
tagbar = {
|
||||||
|
enable = true;
|
||||||
|
tagsPackage = pkgs.universal-ctags;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
trouble.enable = true;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,11 +4,11 @@
|
|||||||
FloatBorder.fg = "#${config.lib.stylix.colors.base0D}";
|
FloatBorder.fg = "#${config.lib.stylix.colors.base0D}";
|
||||||
};
|
};
|
||||||
plugins = {
|
plugins = {
|
||||||
copilot-vim.enable = false;
|
copilot-vim.enable = true;
|
||||||
flash.enable = true;
|
flash.enable = true;
|
||||||
image = {
|
image = {
|
||||||
enable = false;
|
enable = false;
|
||||||
settings.integrations.markdown = {
|
integrations.markdown = {
|
||||||
clearInInsertMode = true;
|
clearInInsertMode = true;
|
||||||
onlyRenderImageAtCursor = true;
|
onlyRenderImageAtCursor = true;
|
||||||
};
|
};
|
||||||
@ -16,8 +16,26 @@
|
|||||||
tmux-navigator.enable = true;
|
tmux-navigator.enable = true;
|
||||||
comment.enable = true;
|
comment.enable = true;
|
||||||
nvim-autopairs.enable = true;
|
nvim-autopairs.enable = true;
|
||||||
|
friendly-snippets.enable = true;
|
||||||
todo-comments.enable = true;
|
todo-comments.enable = true;
|
||||||
orgmode.enable = false;
|
harpoon = {
|
||||||
|
enable = true;
|
||||||
|
enableTelescope = true;
|
||||||
|
keymapsSilent = true;
|
||||||
|
keymaps = {
|
||||||
|
addFile = "<leader>ha";
|
||||||
|
toggleQuickMenu = "<leader>hu";
|
||||||
|
navNext = "<leader>hl";
|
||||||
|
navPrev = "<leader>hh";
|
||||||
|
navFile = {
|
||||||
|
"1" = "<leader>h1";
|
||||||
|
"2" = "<leader>h2";
|
||||||
|
"3" = "<leader>h3";
|
||||||
|
"4" = "<leader>h4";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
orgmode.enable = true;
|
||||||
treesitter-context.enable = true;
|
treesitter-context.enable = true;
|
||||||
nvim-surround.enable = true;
|
nvim-surround.enable = true;
|
||||||
vim-suda.enable = true;
|
vim-suda.enable = true;
|
||||||
|
|||||||
@ -1,14 +1,3 @@
|
|||||||
{ pkgs, ... }: {
|
{ pkgs, ... }: {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [ libreoffice thunderbird marp-cli ];
|
||||||
libreoffice
|
|
||||||
hunspell
|
|
||||||
hunspellDicts.id_ID
|
|
||||||
hunspellDicts.en_US
|
|
||||||
thunderbird
|
|
||||||
marp-cli
|
|
||||||
qpdf
|
|
||||||
qrencode
|
|
||||||
temurin-jre-bin
|
|
||||||
librsvg
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -11,6 +11,6 @@
|
|||||||
enableZshIntegration = true;
|
enableZshIntegration = true;
|
||||||
verbose = true;
|
verbose = true;
|
||||||
enableScDaemon = false;
|
enableScDaemon = false;
|
||||||
pinentry.package = pkgs.pinentry-all;
|
pinentryPackage = pkgs.pinentry-all;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -55,7 +55,7 @@ in {
|
|||||||
|
|
||||||
plugins = with pkgs; [
|
plugins = with pkgs; [
|
||||||
tmuxPlugins.vim-tmux-navigator
|
tmuxPlugins.vim-tmux-navigator
|
||||||
# tmuxPlugins.resurrect
|
tmuxPlugins.resurrect
|
||||||
tmuxPlugins.sensible
|
tmuxPlugins.sensible
|
||||||
# tmuxPlugins.tokyo-night-tmux
|
# tmuxPlugins.tokyo-night-tmux
|
||||||
];
|
];
|
||||||
|
|||||||
@ -12,9 +12,9 @@ in {
|
|||||||
extraPackages = with pkgs.bat-extras; [
|
extraPackages = with pkgs.bat-extras; [
|
||||||
batman
|
batman
|
||||||
batdiff
|
batdiff
|
||||||
# batgrep
|
batgrep
|
||||||
batwatch
|
batwatch
|
||||||
# prettybat
|
prettybat
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -26,7 +26,7 @@ in {
|
|||||||
syntaxHighlighting.enable = true;
|
syntaxHighlighting.enable = true;
|
||||||
historySubstringSearch.enable = true;
|
historySubstringSearch.enable = true;
|
||||||
|
|
||||||
initContent = lib.mkBefore ''
|
initExtraFirst = ''
|
||||||
bindkey -e
|
bindkey -e
|
||||||
${if fetch == "neofetch" then
|
${if fetch == "neofetch" then
|
||||||
pkgs.neofetch + "/bin/neofetch"
|
pkgs.neofetch + "/bin/neofetch"
|
||||||
@ -95,7 +95,7 @@ in {
|
|||||||
gcu = "git add . && git commit -m 'Update'";
|
gcu = "git add . && git commit -m 'Update'";
|
||||||
gp = "git push";
|
gp = "git push";
|
||||||
gpl = "git pull";
|
gpl = "git pull";
|
||||||
gst = "git status";
|
gs = "git status";
|
||||||
gd = "git diff";
|
gd = "git diff";
|
||||||
gco = "git checkout";
|
gco = "git checkout";
|
||||||
gcb = "git checkout -b";
|
gcb = "git checkout -b";
|
||||||
|
|||||||
@ -1,16 +1,13 @@
|
|||||||
# Spicetify is a spotify client customizer
|
# Spicetify is a spotify client customizer
|
||||||
{
|
{ pkgs, config, lib, inputs, ... }:
|
||||||
pkgs,
|
let
|
||||||
config,
|
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
|
||||||
lib,
|
|
||||||
inputs,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.stdenv.hostPlatform.system};
|
|
||||||
accent = "${config.lib.stylix.colors.base0D}";
|
accent = "${config.lib.stylix.colors.base0D}";
|
||||||
background = "${config.lib.stylix.colors.base00}";
|
|
||||||
in {
|
in {
|
||||||
imports = [inputs.spicetify-nix.homeManagerModules.default];
|
imports = [ inputs.spicetify-nix.homeManagerModules.default ];
|
||||||
|
|
||||||
|
nixpkgs.config.allowUnfreePredicate = pkg:
|
||||||
|
builtins.elem (lib.getName pkg) [ "spotify" ];
|
||||||
|
|
||||||
stylix.targets.spicetify.enable = false;
|
stylix.targets.spicetify.enable = false;
|
||||||
|
|
||||||
@ -24,9 +21,6 @@ in {
|
|||||||
button = accent;
|
button = accent;
|
||||||
button-active = accent;
|
button-active = accent;
|
||||||
tab-active = accent;
|
tab-active = accent;
|
||||||
player = background;
|
|
||||||
main = background;
|
|
||||||
sidebar = background;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
enabledExtensions = with spicePkgs.extensions; [
|
enabledExtensions = with spicePkgs.extensions; [
|
||||||
@ -37,7 +31,6 @@ in {
|
|||||||
adblock
|
adblock
|
||||||
fullAppDisplay
|
fullAppDisplay
|
||||||
shuffle
|
shuffle
|
||||||
keyboardShortcut
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,10 +1,48 @@
|
|||||||
# Thunar is a file explorer
|
# Thunar is a file explorer
|
||||||
{ pkgs, ... }: {
|
{ pkgs, ... }: {
|
||||||
# ctrl + m to toggle the menubar
|
# ctrl + m to toggle the menubar
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs.xfce; [
|
||||||
xfce.thunar
|
thunar
|
||||||
xfce.xfconf
|
xfconf
|
||||||
xfce.tumbler
|
tumbler
|
||||||
file-roller
|
thunar-archive-plugin
|
||||||
|
thunar-volman
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# home.file.".config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml".text = ''
|
||||||
|
# <?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
#
|
||||||
|
# <channel name="thunar" version="1.0">
|
||||||
|
# <property name="last-view" type="string" value="ThunarIconView"/>
|
||||||
|
# <property name="last-icon-view-zoom-level" type="string" value="THUNAR_ZOOM_LEVEL_100_PERCENT"/>
|
||||||
|
# <property name="last-window-maximized" type="bool" value="true"/>
|
||||||
|
# <property name="last-separator-position" type="int" value="170"/>
|
||||||
|
# <property name="last-statusbar-visible" type="bool" value="false"/>
|
||||||
|
# <property name="last-menubar-visible" type="bool" value="false"/>
|
||||||
|
# <property name="misc-single-click" type="bool" value="false"/>
|
||||||
|
# <property name="shortcuts-icon-emblems" type="bool" value="true"/>
|
||||||
|
# <property name="tree-icon-emblems" type="bool" value="true"/>
|
||||||
|
# <property name="misc-file-size-binary" type="bool" value="true"/>
|
||||||
|
# <property name="misc-thumbnail-draw-frames" type="bool" value="false"/>
|
||||||
|
# <property name="misc-text-beside-icons" type="bool" value="true"/>
|
||||||
|
# <property name="misc-change-window-icon" type="bool" value="true"/>
|
||||||
|
# <property name="hidden-bookmarks" type="array">
|
||||||
|
# <value type="string" value="computer:///"/>
|
||||||
|
# <value type="string" value="recent:///"/>
|
||||||
|
# <value type="string" value="file:///"/>
|
||||||
|
# <value type="string" value="network:///"/>
|
||||||
|
# </property>
|
||||||
|
# <property name="hidden-devices" type="array">
|
||||||
|
# <value type="string" value="52FEA905FEA8E309"/>
|
||||||
|
# </property>
|
||||||
|
# <property name="last-toolbar-item-order" type="string" value="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17"/>
|
||||||
|
# <property name="last-toolbar-visible-buttons" type="string" value="0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0"/>
|
||||||
|
# <property name="last-location-bar" type="string" value="ThunarLocationButtons"/>
|
||||||
|
# <property name="last-show-hidden" type="bool" value="false"/>
|
||||||
|
# <property name="last-details-view-zoom-level" type="string" value="THUNAR_ZOOM_LEVEL_38_PERCENT"/>
|
||||||
|
# <property name="last-details-view-column-widths" type="string" value="50,50,127,50,50,50,50,50,751,50,50,75,50,145"/>
|
||||||
|
# <property name="misc-middle-click-in-tab" type="bool" value="true"/>
|
||||||
|
# <property name="last-details-view-visible-columns" type="string" value="THUNAR_COLUMN_DATE_MODIFIED,THUNAR_COLUMN_NAME,THUNAR_COLUMN_SIZE,THUNAR_COLUMN_TYPE"/>
|
||||||
|
# </channel>
|
||||||
|
# '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,6 +4,8 @@
|
|||||||
./sounds
|
./sounds
|
||||||
./brightness
|
./brightness
|
||||||
./caffeine
|
./caffeine
|
||||||
|
./hyprpanel
|
||||||
|
./hyprfocus
|
||||||
./night-shift
|
./night-shift
|
||||||
./screenshot
|
./screenshot
|
||||||
./nerdfont_fzf
|
./nerdfont_fzf
|
||||||
|
|||||||
@ -8,36 +8,36 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
let
|
let
|
||||||
hyprpanel-toggle = pkgs.writeShellScriptBin "hyprpanel-toggle" ''
|
hyprpanel-toggle = pkgs.writeShellScriptBin "hyprpanel-toggle" ''
|
||||||
hyprpanel toggleWindow bar-0
|
hyprpanel -t bar-0
|
||||||
hyprpanel toggleWindow bar-1
|
hyprpanel -t bar-1
|
||||||
hyprpanel toggleWindow bar-2
|
hyprpanel -t bar-2
|
||||||
hyprpanel toggleWindow bar-3
|
hyprpanel -t bar-3
|
||||||
'';
|
'';
|
||||||
|
|
||||||
hyprpanel-hide = pkgs.writeShellScriptBin "hyprpanel-hide" ''
|
hyprpanel-hide = pkgs.writeShellScriptBin "hyprpanel-hide" ''
|
||||||
status=$(hyprpanel isWindowVisible bar-0)
|
status=$(hyprpanel -r "isWindowVisible('bar-0')")
|
||||||
if [[ $status == "true" ]]; then
|
if [[ $status == "true" ]]; then
|
||||||
hyprpanel toggleWindow bar-0
|
hyprpanel -t bar-0
|
||||||
fi
|
fi
|
||||||
status=$(hyprpanel isWindowVisible bar-1)
|
status=$(hyprpanel -r "isWindowVisible('bar-1')")
|
||||||
if [[ $status == "true" ]]; then
|
if [[ $status == "true" ]]; then
|
||||||
hyprpanel toggleWindow bar-1
|
hyprpanel -t bar-1
|
||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
|
|
||||||
hyprpanel-show = pkgs.writeShellScriptBin "hyprpanel-show" ''
|
hyprpanel-show = pkgs.writeShellScriptBin "hyprpanel-show" ''
|
||||||
status=$(hyprpanel isWindowVisible bar-0)
|
status=$(hyprpanel -r "isWindowVisible('bar-0')")
|
||||||
if [[ $status == "false" ]]; then
|
if [[ $status == "false" ]]; then
|
||||||
hyprpanel toggleWindow bar-0
|
hyprpanel -t bar-0
|
||||||
fi
|
fi
|
||||||
status=$(hyprpanel isWindowVisible bar-1)
|
status=$(hyprpanel -r "isWindowVisible('bar-1')")
|
||||||
if [[ $status == "false" ]]; then
|
if [[ $status == "false" ]]; then
|
||||||
hyprpanel toggleWindow bar-1
|
hyprpanel -t bar-1
|
||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
|
|
||||||
hyprpanel-reload = pkgs.writeShellScriptBin "hyprpanel-reload" ''
|
hyprpanel-reload = pkgs.writeShellScriptBin "hyprpanel-reload" ''
|
||||||
[ $(pgrep "hyprpanel") ] && pkill hyprpanel
|
[ $(pgrep "ags") ] && pkill ags
|
||||||
hyprctl dispatch exec hyprpanel
|
hyprctl dispatch exec hyprpanel
|
||||||
'';
|
'';
|
||||||
in {
|
in {
|
||||||
|
|||||||
@ -29,6 +29,7 @@ let
|
|||||||
";Collect Garbage;nixy gc"
|
";Collect Garbage;nixy gc"
|
||||||
";Clean Boot Menu;nixy cb"
|
";Clean Boot Menu;nixy cb"
|
||||||
";Hyprland Keybindings;nvim ${configDirectory}/docs/KEYBINDINGS-HYPRLAND.md"
|
";Hyprland Keybindings;nvim ${configDirectory}/docs/KEYBINDINGS-HYPRLAND.md"
|
||||||
|
";Wallpapers;nvim ${inputs.nixy-wallpapers}/docs/MOBILE-VIEW.md"
|
||||||
)
|
)
|
||||||
|
|
||||||
# Apply default icons if empty:
|
# Apply default icons if empty:
|
||||||
|
|||||||
@ -1,36 +0,0 @@
|
|||||||
{ config, lib, ... }:
|
|
||||||
let
|
|
||||||
accent = "#${config.lib.stylix.colors.base0D}";
|
|
||||||
accent-alt = "#${config.lib.stylix.colors.base03}";
|
|
||||||
background = "#${config.lib.stylix.colors.base00}";
|
|
||||||
background-alt = "#${config.lib.stylix.colors.base01}";
|
|
||||||
foreground = "#${config.lib.stylix.colors.base05}";
|
|
||||||
font = "${config.stylix.fonts.sansSerif.name}";
|
|
||||||
font-size = "${toString config.stylix.fonts.sizes.desktop}";
|
|
||||||
|
|
||||||
inherit (config.var.theme) rounding border-size gaps-in gaps-out;
|
|
||||||
in {
|
|
||||||
|
|
||||||
services.dunst = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
global = {
|
|
||||||
height = 300;
|
|
||||||
offset = "15x15";
|
|
||||||
origin = "top-right";
|
|
||||||
follow = "keyboard";
|
|
||||||
shrink = "no";
|
|
||||||
transparency = 0;
|
|
||||||
separator_height = 2;
|
|
||||||
padding = gaps-in;
|
|
||||||
horizontal_padding = gaps-in;
|
|
||||||
corner_radius = rounding;
|
|
||||||
gap_size = gaps-out;
|
|
||||||
frame_width = border-size;
|
|
||||||
markup = "full";
|
|
||||||
word_wrap = "yes";
|
|
||||||
ellipsize = "middle";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,10 +1,11 @@
|
|||||||
{ pkgs, ... }: {
|
{ pkgs, ... }: {
|
||||||
wayland.windowManager.hyprland.settings = {
|
wayland.windowManager.hyprland.settings = {
|
||||||
bind = [
|
bind = [
|
||||||
"$mod,RETURN, exec, ${pkgs.kitty}/bin/kitty" # Terminal
|
"$mod,RETURN, exec, ${pkgs.kitty}/bin/kitty" # Kitty
|
||||||
"$mod,E, exec, ${pkgs.xfce.thunar}/bin/thunar" # Thunar
|
"$mod,E, exec, ${pkgs.xfce.thunar}/bin/thunar" # Thunar
|
||||||
|
# "$mod,B, exec, ${pkgs.qutebrowser}/bin/qutebrowser" # Qutebrowser
|
||||||
"$mod,U, exec, ${pkgs.firefox}/bin/firefox" # Firefox
|
"$mod,U, exec, ${pkgs.firefox}/bin/firefox" # Firefox
|
||||||
"$mod,M, exec, ${pkgs.emacs-pgtk}/bin/emacs" # Emacs
|
# "$shiftMod,B, exec, ${pkgs.bitwarden}/bin/bitwarden" # Bitwarden
|
||||||
"$shiftMod,Q, exec, ${pkgs.hyprlock}/bin/hyprlock" # Lock
|
"$shiftMod,Q, exec, ${pkgs.hyprlock}/bin/hyprlock" # Lock
|
||||||
"$mod,X, exec, powermenu" # Powermenu
|
"$mod,X, exec, powermenu" # Powermenu
|
||||||
"$mod,SPACE, exec, menu" # Launcher
|
"$mod,SPACE, exec, menu" # Launcher
|
||||||
@ -31,16 +32,14 @@
|
|||||||
"$mod,l, movefocus, r" # Move focus Right
|
"$mod,l, movefocus, r" # Move focus Right
|
||||||
"$mod,k, movefocus, u" # Move focus Up
|
"$mod,k, movefocus, u" # Move focus Up
|
||||||
"$mod,j, movefocus, d" # Move focus Down
|
"$mod,j, movefocus, d" # Move focus Down
|
||||||
"$shiftMod,j, swapnext" # Swap with next client
|
|
||||||
"$shiftMod,k, swapnext, prev" # Swap with previous client
|
|
||||||
"$ctrlMod,k, focusmonitor, -1" # Focus previous monitor
|
"$ctrlMod,k, focusmonitor, -1" # Focus previous monitor
|
||||||
"$ctrlMod,j, focusmonitor, 1" # Focus next monitor
|
"$ctrlMod,j, focusmonitor, 1" # Focus next monitor
|
||||||
"$ctrlMod,h, layoutmsg, addmaster" # Add to master
|
"$ctrlMod,h, layoutmsg, addmaster" # Add to master
|
||||||
"$ctrlMod,l, layoutmsg, removemaster" # Remove from master
|
"$ctrlMod,l, layoutmsg, removemaster" # Remove from master
|
||||||
|
|
||||||
"$mod,PRINT, exec, screenshot window swappy" # Screenshot window
|
"$mod,PRINT, exec, screenshot window" # Screenshot window
|
||||||
",PRINT, exec, screenshot monitor swappy" # Screenshot monitor
|
",PRINT, exec, screenshot monitor" # Screenshot monitor
|
||||||
"$shiftMod,PRINT, exec, screenshot region swappy" # Screenshot region
|
"$shiftMod,PRINT, exec, screenshot region" # Screenshot region
|
||||||
"ALT,PRINT, exec, screenshot region swappy" # Screenshot region then edit
|
"ALT,PRINT, exec, screenshot region swappy" # Screenshot region then edit
|
||||||
|
|
||||||
# "$shiftMod,S, exec, ${pkgs.qutebrowser}/bin/qutebrowser :open $(wofi --show dmenu -L 1 -p ' Search on internet')" # Search on internet with wofi
|
# "$shiftMod,S, exec, ${pkgs.qutebrowser}/bin/qutebrowser :open $(wofi --show dmenu -L 1 -p ' Search on internet')" # Search on internet with wofi
|
||||||
|
|||||||
@ -13,7 +13,7 @@ in {
|
|||||||
qt5.qtwayland
|
qt5.qtwayland
|
||||||
qt6.qtwayland
|
qt6.qtwayland
|
||||||
libsForQt5.qt5ct
|
libsForQt5.qt5ct
|
||||||
qt6Packages.qt6ct
|
qt6ct
|
||||||
hyprshot
|
hyprshot
|
||||||
hyprpicker
|
hyprpicker
|
||||||
swappy
|
swappy
|
||||||
@ -34,12 +34,12 @@ in {
|
|||||||
|
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
systemd.enable = true;
|
xwayland.enable = true;
|
||||||
systemd.variables = [ "--all" ];
|
systemd = {
|
||||||
package =
|
enable = true;
|
||||||
inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
variables = [ "--all" ];
|
||||||
portalPackage =
|
};
|
||||||
inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
package = inputs.hyprland.packages."${pkgs.system}".hyprland;
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
"$mod" = "SUPER";
|
"$mod" = "SUPER";
|
||||||
@ -47,11 +47,8 @@ in {
|
|||||||
"$ctrlMod" = "SUPER_CTRL";
|
"$ctrlMod" = "SUPER_CTRL";
|
||||||
|
|
||||||
exec-once = [
|
exec-once = [
|
||||||
"systemctl --user import-environment"
|
"dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
|
||||||
"hash dbus-update-activation-environment 2>/dev/null"
|
|
||||||
"dbus-update-activation-environment --systemd --all"
|
|
||||||
];
|
];
|
||||||
ecosystem = { no_update_news = true; };
|
|
||||||
|
|
||||||
plugin = { overview = { autoDrag = false; }; };
|
plugin = { overview = { autoDrag = false; }; };
|
||||||
|
|
||||||
@ -105,14 +102,12 @@ in {
|
|||||||
gaps_in = gaps-in;
|
gaps_in = gaps-in;
|
||||||
gaps_out = gaps-out;
|
gaps_out = gaps-out;
|
||||||
border_size = border-size;
|
border_size = border-size;
|
||||||
|
border_part_of_window = true;
|
||||||
layout = "master";
|
layout = "master";
|
||||||
};
|
};
|
||||||
|
|
||||||
decoration = {
|
decoration = {
|
||||||
blur = {
|
blur = { enabled = if blur then "true" else "false"; };
|
||||||
enabled = if blur then "true" else "false";
|
|
||||||
size = 18;
|
|
||||||
};
|
|
||||||
shadow = {
|
shadow = {
|
||||||
enabled = true;
|
enabled = true;
|
||||||
range = 20;
|
range = 20;
|
||||||
@ -126,10 +121,10 @@ in {
|
|||||||
master = {
|
master = {
|
||||||
new_status = true;
|
new_status = true;
|
||||||
allow_small_split = true;
|
allow_small_split = true;
|
||||||
mfact = 0.6;
|
mfact = 0.5;
|
||||||
};
|
};
|
||||||
|
|
||||||
gesture = [ "3, horizontal, workspace" ];
|
gestures = { workspace_swipe = true; };
|
||||||
|
|
||||||
misc = {
|
misc = {
|
||||||
vfr = true;
|
vfr = true;
|
||||||
@ -140,34 +135,8 @@ in {
|
|||||||
new_window_takes_over_fullscreen = 2;
|
new_window_takes_over_fullscreen = 2;
|
||||||
};
|
};
|
||||||
|
|
||||||
windowrulev2 = [
|
windowrulev2 =
|
||||||
"float, tag:modal"
|
[ "float, tag:modal" "pin, tag:modal" "center, tag:modal" ];
|
||||||
"pin, tag:modal"
|
|
||||||
"center, tag:modal"
|
|
||||||
"float, title:^(Media viewer)$"
|
|
||||||
|
|
||||||
# Bitwarden extension
|
|
||||||
"float, title:^(.*Bitwarden Password Manager.*)$"
|
|
||||||
|
|
||||||
# make Firefox/Zen PiP window floating and sticky
|
|
||||||
"float, title:^(Picture-in-Picture)$"
|
|
||||||
"pin, title:^(Picture-in-Picture)$"
|
|
||||||
|
|
||||||
# idle inhibit while watching videos
|
|
||||||
"idleinhibit focus, class:^(mpv|.+exe|celluloid)$"
|
|
||||||
"idleinhibit focus, class:^(zen)$, title:^(.*YouTube.*)$"
|
|
||||||
"idleinhibit fullscreen, class:^(zen)$"
|
|
||||||
|
|
||||||
"dimaround, class:^(gcr-prompter)$"
|
|
||||||
"dimaround, class:^(xdg-desktop-portal-gtk)$"
|
|
||||||
"dimaround, class:^(polkit-gnome-authentication-agent-1)$"
|
|
||||||
"dimaround, class:^(zen)$, title:^(File Upload)$"
|
|
||||||
|
|
||||||
# fix xwayland apps
|
|
||||||
"rounding 0, xwayland:1"
|
|
||||||
"center, class:^(.*jetbrains.*)$, title:^(Confirm Exit|Open Project|win424|win201|splash)$"
|
|
||||||
"size 640 400, class:^(.*jetbrains.*)$, title:^(splash)$"
|
|
||||||
];
|
|
||||||
|
|
||||||
layerrule = [ "noanim, launcher" "noanim, ^ags-.*" ];
|
layerrule = [ "noanim, launcher" "noanim, ^ags-.*" ];
|
||||||
|
|
||||||
@ -187,6 +156,6 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
# systemd.user.targets.hyprland-session.Unit.Wants =
|
systemd.user.targets.hyprland-session.Unit.Wants =
|
||||||
# [ "xdg-desktop-autostart.target" ];
|
[ "xdg-desktop-autostart.target" ];
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,8 +1,7 @@
|
|||||||
{
|
{ inputs, pkgs, ... }: {
|
||||||
inputs,
|
home.packages =
|
||||||
pkgs,
|
[ inputs.hyprpolkitagent.packages."${pkgs.system}".hyprpolkitagent ];
|
||||||
...
|
|
||||||
}: {
|
wayland.windowManager.hyprland.settings.exec-once =
|
||||||
home.packages = [inputs.hyprpolkitagent.packages."${pkgs.stdenv.hostyPlatform.system}".hyprpolkitagent];
|
[ "systemctl --user start hyprpolkitagent" ];
|
||||||
wayland.windowManager.hyprland.settings.exec-once = ["systemctl --user start hyprpolkitagent"];
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,52 +1,33 @@
|
|||||||
{ pkgs, ... }: {
|
{ pkgs, ... }: {
|
||||||
wayland.windowManager.hyprland.settings = {
|
wayland.windowManager.hyprland.settings = {
|
||||||
windowrule = [
|
windowrulev2 = [
|
||||||
"workspace 2, class:^(emacs)$"
|
"workspace 2, class:^(emacs)$"
|
||||||
"workspace 3, class:^(kitty)$"
|
"workspace 3, class:^(kitty)$"
|
||||||
"workspace 3, class:^(com.mitchellh.ghostty)$"
|
|
||||||
"workspace 9, class:^(org.qutebrowser.qutebrowser)$"
|
"workspace 9, class:^(org.qutebrowser.qutebrowser)$"
|
||||||
"workspace 9, title:^(Chromium)$"
|
"workspace 9, title:^(Chromium)$"
|
||||||
"fullscreen, class:^(wlogout)$"
|
"fullscreen, class:^(wlogout)$"
|
||||||
"float, class:^(Zotero)$"
|
"float, class:^(Zotero)$"
|
||||||
"float, class:^(firefox)$"
|
"float, class:^(firefox)$,title:^(Certificate for )*$"
|
||||||
"center, class:^(firefox)$"
|
"float, class:^(firefox)$,title:^(.*Firefox — Sharing Indicator.*)$"
|
||||||
"size 620 720, class:^(firefox)$"
|
"float, class:^(firefox)$,title:^(.*Presensi Mahasiswa.*)$"
|
||||||
"size 810 200, class:^(Zotero)$, title:^(Quick Format Citation)*$"
|
"float, class:(firefox),title:^(Extension)(.*)$"
|
||||||
"tag +dialog, class:^(firefox)$, title:^(Certificate for )*$"
|
"float, class:^(pcmanfm)$,title:^(Confirm File Replacing)$"
|
||||||
"tag +dialog, class:^(firefox)$, title:^(Extension: )*$"
|
"float, class:^(nemo)$,title:^(Confirm File Replacing)$"
|
||||||
"float, class:^(firefox)$, title:^(.*Firefox — Sharing Indicator.*)$"
|
|
||||||
"tag +dialog, class:^(firefox)$, title:^(Presensi Mahasiswa)*$"
|
|
||||||
"float, class:^(firefox)$, title:^(Extension)(.*)$"
|
|
||||||
"float, class:^(pcmanfm)$, title:^(Confirm File Replacing)$"
|
|
||||||
"float, class:^(nemo)$, title:^(Confirm File Replacing)$"
|
|
||||||
"float, title:^(Confirm File Replacing)$"
|
"float, title:^(Confirm File Replacing)$"
|
||||||
"float, class:thunar, title:^(Rename.*)$"
|
|
||||||
"float, class:^(org.inkscape.Inkscape)$"
|
|
||||||
"float, class:^(nm-connection-editor)$"
|
"float, class:^(nm-connection-editor)$"
|
||||||
"float, class:^(.*blueman-manager.*)$"
|
"float, class:^(.*blueman-manager.*)$"
|
||||||
"float, title:^(Picture-in-Picture)$"
|
|
||||||
"size 960 540, title:^(Picture-in-Picture)$"
|
|
||||||
"move 25%-, title:^(Picture-in-Picture)$"
|
|
||||||
"float, title:^(imv|mpv|danmufloat|termfloat|nemo|ncmpcpp)$"
|
|
||||||
"move 25%-, title:^(imv|mpv|danmufloat|termfloat|nemo|ncmpcpp)$"
|
|
||||||
"size 960 540, title:^(imv|mpv|danmufloat|termfloat|nemo|ncmpcpp)$"
|
|
||||||
"pin, title:^(danmufloat)$"
|
|
||||||
"noblur, class:^(org.mozilla.firefox)$"
|
|
||||||
"size 530 300, class:^(.*blueman-manager.*)$"
|
"size 530 300, class:^(.*blueman-manager.*)$"
|
||||||
"move 100%-w-20 40, class:^(.*blueman-manager.*)$"
|
"move 100%-w-20 40, class:^(.*blueman-manager.*)$"
|
||||||
"tag +portal, class:^(.*desktop-portal.*)$"
|
"noborder, class:^(.*dg-desktop-portal-.*)$"
|
||||||
"tag +dialog, initialTitle:^.(Calendar Reminders).*$"
|
"noblur, class:^(.*dg-desktop-portal-.*)$"
|
||||||
"noborder, tag:portal"
|
"noshadow, class:^(.*dg-desktop-portal-.*)$"
|
||||||
"noblur, tag:portal"
|
"float, class:^(*.dg-desktop-portal-.*)$"
|
||||||
"noshadow, tag:portal"
|
"pin, class:^(*.dg-desktop-portal-.*)$"
|
||||||
"float, tag:portal"
|
|
||||||
"float, tag:dialog"
|
|
||||||
"pin, tag:portal"
|
|
||||||
"pin, class:^(gcr-prompter)$"
|
"pin, class:^(gcr-prompter)$"
|
||||||
"float, title:^(Volume Control)$"
|
"float, title:^(Volume Control)$"
|
||||||
"pin, title:^(Volume Control)$"
|
"pin, title:^(Volume Control)$"
|
||||||
"size 560 340, title:^(Volume Control)$"
|
"size 560 340, title:^(Volume Control)$"
|
||||||
"move 100%-w-40 40, title:^(Volume Control)$"
|
"move 100%-w-30 30, title:^(Volume Control)$"
|
||||||
"float, class:^(spotube)$"
|
"float, class:^(spotube)$"
|
||||||
"size 660 700, class:^(spotube)$"
|
"size 660 700, class:^(spotube)$"
|
||||||
"move 100%-w-20 40, class:^(spotube)$"
|
"move 100%-w-20 40, class:^(spotube)$"
|
||||||
@ -62,9 +43,6 @@
|
|||||||
"float, class:^(virt-manager)$,title:^(Virtual Machine Manager)$"
|
"float, class:^(virt-manager)$,title:^(Virtual Machine Manager)$"
|
||||||
"size 440 220, class:^(virt-manager)$,title:^(Virtual Machine Manager)$"
|
"size 440 220, class:^(virt-manager)$,title:^(Virtual Machine Manager)$"
|
||||||
"center, class:^(virt-manager)$,title:^(Virtual Machine Manager)$"
|
"center, class:^(virt-manager)$,title:^(Virtual Machine Manager)$"
|
||||||
"stayfocused, class:(pinentry-)(.*)" # fix pinentry losing focus
|
|
||||||
"rounding 10, class:kitty"
|
|
||||||
# "float, class:.*xdg-desktop-portal.*"
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,98 +2,88 @@
|
|||||||
{ config, ... }:
|
{ config, ... }:
|
||||||
let
|
let
|
||||||
foreground = "rgba(216, 222, 233, 0.70)";
|
foreground = "rgba(216, 222, 233, 0.70)";
|
||||||
imageStr = toString config.stylix.image;
|
imageStr = "screenshow"; # toString config.stylix.image;
|
||||||
font = config.stylix.fonts.sansSerif.name;
|
font = config.stylix.fonts.serif.name;
|
||||||
in {
|
in {
|
||||||
programs.hyprlock = {
|
programs.hyprlock = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
general = {
|
general = {
|
||||||
grace = 3;
|
grace = 5;
|
||||||
no_fade_in = false;
|
no_fade_in = false;
|
||||||
disable_loading_bar = false;
|
disable_loading_bar = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
background = {
|
# # BACKGROUND
|
||||||
path = "screenshot";
|
# background = {
|
||||||
blur_passes = 3;
|
# monitor = "";
|
||||||
blur_size = 6;
|
# path = imageStr;
|
||||||
noise = 1.17e-2;
|
# blur_passes = 0;
|
||||||
contrast = 1.3; # Vibrant!!!
|
# contrast = 0.8916;
|
||||||
brightness = 0.8;
|
# brightness = 0.7172;
|
||||||
vibrancy = 0.21;
|
# vibrancy = 0.1696;
|
||||||
vibrancy_darkness = 0.0;
|
# vibrancy_darkness = 0.0;
|
||||||
};
|
# };
|
||||||
|
#
|
||||||
label = [
|
# label = [
|
||||||
# Hour
|
# {
|
||||||
{
|
# # Day-Month-Date
|
||||||
text = ''cmd[update:1000] echo "<b><big> $(date +"%H") </big></b>"'';
|
# monitor = "";
|
||||||
color = "#${config.lib.stylix.colors.base06}";
|
# text = ''cmd[update:1000] echo -e "$(date +"%A, %B %d")"'';
|
||||||
font_size = 112;
|
# color = foreground;
|
||||||
font_family = font;
|
# font_size = 28;
|
||||||
shadow_passes = 2;
|
# font_family = font + " Bold";
|
||||||
shadow_boost = 0.4;
|
# position = "0, 490";
|
||||||
shadow_size = 4;
|
# halign = "center";
|
||||||
position = "0, 220";
|
# valign = "center";
|
||||||
halign = "center";
|
# }
|
||||||
valign = "center";
|
# # Time
|
||||||
}
|
# {
|
||||||
{
|
# monitor = "";
|
||||||
monitor = "";
|
# text = ''cmd[update:1000] echo "<span>$(date +"%I:%M")</span>"'';
|
||||||
text = ''cmd[update:1000] echo "<b><big> $(date +"%M") </big></b>"'';
|
# color = foreground;
|
||||||
color = "#${config.lib.stylix.colors.base06}";
|
# font_size = 160;
|
||||||
font_size = 112;
|
# font_family = "steelfish outline regular";
|
||||||
font_family = font;
|
# position = "0, 370";
|
||||||
shadow_passes = 2;
|
# halign = "center";
|
||||||
shadow_boost = 0.4;
|
# valign = "center";
|
||||||
shadow_size = 4;
|
# }
|
||||||
position = "0, 80";
|
# # USER
|
||||||
halign = "center";
|
# {
|
||||||
valign = "center";
|
# monitor = "";
|
||||||
}
|
# text = " $USER";
|
||||||
{
|
# color = foreground;
|
||||||
monitor = "";
|
# outline_thickness = 2;
|
||||||
text =
|
# dots_size = 0.2; # Scale of input-field height, 0.2 - 0.8
|
||||||
''cmd[update:18000000] echo "<b><big> "$(date +'%A')" </big></b>"'';
|
# dots_spacing = 0.2; # Scale of dots' absolute size, 0.0 - 1.0
|
||||||
color = "#${config.lib.stylix.colors.base07}";
|
# dots_center = true;
|
||||||
font_size = 22;
|
# font_size = 18;
|
||||||
font_family = font;
|
# font_family = font + " Bold";
|
||||||
position = "0, -10";
|
# position = "0, -180";
|
||||||
halign = "center";
|
# halign = "center";
|
||||||
valign = "center";
|
# valign = "center";
|
||||||
}
|
# }
|
||||||
{
|
# ];
|
||||||
monitor = "";
|
#
|
||||||
text = ''cmd[update:18000000] echo "<b> "$(date +'%d %b')" </b>"'';
|
# # INPUT FIELD
|
||||||
color = "#${config.lib.stylix.colors.base07}";
|
# input-field = [{
|
||||||
font_size = 18;
|
# monitor = "";
|
||||||
font_family = font;
|
# size = "300, 60";
|
||||||
position = "0, -40";
|
# outline_thickness = 2;
|
||||||
halign = "center";
|
# dots_size = 0.2; # Scale of input-field height, 0.2 - 0.8
|
||||||
valign = "center";
|
# dots_spacing = 0.2; # Scale of dots' absolute size, 0.0 - 1.0
|
||||||
}
|
# dots_center = true;
|
||||||
];
|
# outer_color = "rgba(255, 255, 255, 0)";
|
||||||
|
# inner_color = "rgba(255, 255, 255, 0.1)";
|
||||||
input-field = [{
|
# font_color = foreground;
|
||||||
monitor = "";
|
# fade_on_empty = false;
|
||||||
size = "250, 50";
|
# font_family = font + " Bold";
|
||||||
outline_thickness = 3;
|
# placeholder_text = "<i>🔒 Enter Password</i>";
|
||||||
dots_size = 0.26; # Scale of input-field height, 0.2 - 0.8
|
# hide_input = false;
|
||||||
dots_spacing = 0.64; # Scale of dots' absolute size, 0.0 - 1.0
|
# position = "0, -250";
|
||||||
dots_center = true;
|
# halign = "center";
|
||||||
dots_rouding = -1;
|
# valign = "center";
|
||||||
rounding = 22;
|
# }];
|
||||||
outer_color = "#${config.lib.stylix.colors.base00}";
|
|
||||||
inner_color = "#${config.lib.stylix.colors.base00}";
|
|
||||||
font_color = "#${config.lib.stylix.colors.base06}";
|
|
||||||
fade_on_empty = true;
|
|
||||||
placeholder_text =
|
|
||||||
"<i>Password...</i>"; # Text rendered in the input box when it's empty.
|
|
||||||
position = "0, 120";
|
|
||||||
halign = "center";
|
|
||||||
valign = "bottom";
|
|
||||||
}];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,51 +7,90 @@ let
|
|||||||
background = "#${config.lib.stylix.colors.base00}";
|
background = "#${config.lib.stylix.colors.base00}";
|
||||||
background-alt = "#${config.lib.stylix.colors.base01}";
|
background-alt = "#${config.lib.stylix.colors.base01}";
|
||||||
foreground = "#${config.lib.stylix.colors.base05}";
|
foreground = "#${config.lib.stylix.colors.base05}";
|
||||||
font = "${config.stylix.fonts.sansSerif.name}";
|
font = "${config.stylix.fonts.serif.name}";
|
||||||
fontSize = "${toString config.stylix.fonts.sizes.desktop}px";
|
fontSize = "${toString config.stylix.fonts.sizes.desktop}px";
|
||||||
|
|
||||||
inherit (config.var.theme) rounding border-size gaps-in gaps-out;
|
inherit (config.var.theme) rounding border-size gaps-in gaps-out;
|
||||||
inherit (config.var.theme.bar)
|
inherit (config.var.theme.bar)
|
||||||
floating transparentButtons transparent position;
|
floating transparentButtons transparent position;
|
||||||
inherit (config.var) location username weatherapikey;
|
inherit (config.var) cpuTempSensor location username weatherapikey;
|
||||||
in {
|
in {
|
||||||
imports = [ inputs.hyprpanel.homeManagerModules.hyprpanel ];
|
imports = [ inputs.hyprpanel.homeManagerModules.hyprpanel ];
|
||||||
|
|
||||||
programs.hyprpanel = {
|
programs.hyprpanel = {
|
||||||
enable = true;
|
enable = true;
|
||||||
overlay.enable = true;
|
systemd.enable = true;
|
||||||
hyprland.enable = true;
|
hyprland.enable = true;
|
||||||
overwrite.enable = true;
|
overwrite.enable = true;
|
||||||
settings = {
|
layout = {
|
||||||
layout = {
|
"bar.layouts" = {
|
||||||
bar.layouts = {
|
"0" = {
|
||||||
"0" = {
|
left = [ "dashboard" "hypridle" "workspaces" "windowtitle" ];
|
||||||
left = [ "dashboard" "hypridle" "workspaces" "windowtitle" ];
|
middle = [ "media" ];
|
||||||
middle = [ "media" ];
|
right = [
|
||||||
right = [
|
"systray"
|
||||||
"volume"
|
"volume"
|
||||||
"hyprsunset"
|
"hyprsunset"
|
||||||
"battery"
|
"battery"
|
||||||
"network"
|
"network"
|
||||||
"bluetooth"
|
"cputemp"
|
||||||
"cpu"
|
"clock"
|
||||||
"clock"
|
"notifications"
|
||||||
"systray"
|
];
|
||||||
"notifications"
|
};
|
||||||
];
|
"*" = {
|
||||||
};
|
left = [ "dashboard" "workspaces" "windowtitle" ];
|
||||||
"*" = {
|
middle = [ "clock" ];
|
||||||
left = [ "dashboard" "workspaces" "windowtitle" ];
|
right = [ "volume" "notifications" ];
|
||||||
middle = [ "clock" ];
|
|
||||||
right = [ "volume" "notifications" ];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
override = {
|
override = {
|
||||||
|
bar.battery.hideLabelWhenFull = true;
|
||||||
|
bar.bluetooth.label = false;
|
||||||
|
bar.clock.format = "%a, %d %b %H:%M";
|
||||||
|
bar.customModules.cpuTemp.sensor = cpuTempSensor;
|
||||||
|
bar.customModules.hypridle.label = false;
|
||||||
|
bar.customModules.hyprsunset.label = false;
|
||||||
|
bar.launcher.icon = "";
|
||||||
|
bar.media.show_active_only = true;
|
||||||
|
bar.network.label = false;
|
||||||
|
bar.network.truncation_size = 12;
|
||||||
|
bar.volume.label = false;
|
||||||
|
bar.windowtitle.label = true;
|
||||||
|
bar.workspaces.hideUnoccupied = false;
|
||||||
|
bar.workspaces.monitorSpecific = true;
|
||||||
|
menus.clock.time.hideSeconds = true;
|
||||||
|
menus.clock.time.military = true;
|
||||||
|
menus.clock.weather.key = weatherapikey;
|
||||||
|
menus.clock.weather.location = location;
|
||||||
|
menus.clock.weather.unit = "metric";
|
||||||
|
menus.dashboard.powermenu.avatar.image =
|
||||||
|
"/home/${username}/.profile_picture.png";
|
||||||
|
menus.dashboard.powermenu.confirmation = false;
|
||||||
|
menus.dashboard.shortcuts.left.shortcut1.command = "firefox";
|
||||||
|
menus.dashboard.shortcuts.left.shortcut1.icon = "";
|
||||||
|
menus.dashboard.shortcuts.left.shortcut1.tooltip = "Firefox";
|
||||||
|
menus.dashboard.shortcuts.left.shortcut2.command = "caffeine";
|
||||||
|
menus.dashboard.shortcuts.left.shortcut2.icon = "";
|
||||||
|
menus.dashboard.shortcuts.left.shortcut2.tooltip = "Caffeine";
|
||||||
|
menus.dashboard.shortcuts.left.shortcut3.command = "night-shift";
|
||||||
|
menus.dashboard.shortcuts.left.shortcut3.icon = "";
|
||||||
|
menus.dashboard.shortcuts.left.shortcut3.tooltip = "Night-shift";
|
||||||
|
menus.dashboard.shortcuts.left.shortcut4.command = "menu";
|
||||||
|
menus.dashboard.shortcuts.left.shortcut4.icon = "";
|
||||||
|
menus.dashboard.shortcuts.left.shortcut4.tooltip = "Search Apps";
|
||||||
|
menus.dashboard.shortcuts.right.shortcut1.command = "hyprpicker -a";
|
||||||
|
menus.dashboard.shortcuts.right.shortcut1.icon = "";
|
||||||
|
menus.dashboard.shortcuts.right.shortcut1.tooltip = "Color Picker";
|
||||||
|
menus.dashboard.shortcuts.right.shortcut3.command =
|
||||||
|
"screenshot region swappy";
|
||||||
|
menus.dashboard.shortcuts.right.shortcut3.icon = "";
|
||||||
|
menus.dashboard.shortcuts.right.shortcut3.tooltip = "Screenshot";
|
||||||
|
menus.dashboard.stats.enabled = false;
|
||||||
theme.bar.background =
|
theme.bar.background =
|
||||||
"${background + (if transparent then "00" else "")}";
|
"${background + (if transparentButtons then "00" else "")}";
|
||||||
theme.bar.border_radius = "${toString rounding}px";
|
theme.bar.border_radius = "${toString rounding}px";
|
||||||
theme.bar.buttons.background =
|
theme.bar.buttons.background =
|
||||||
"${(if transparent then background else background-alt)
|
"${(if transparent then background else background-alt)
|
||||||
@ -72,9 +111,9 @@ in {
|
|||||||
theme.bar.buttons.workspaces.available = accent-alt;
|
theme.bar.buttons.workspaces.available = accent-alt;
|
||||||
theme.bar.buttons.workspaces.hover = accent-alt;
|
theme.bar.buttons.workspaces.hover = accent-alt;
|
||||||
theme.bar.buttons.workspaces.occupied = accent;
|
theme.bar.buttons.workspaces.occupied = accent;
|
||||||
theme.bar.buttons.y_margins = if transparentButtons then "0" else "8";
|
theme.bar.buttons.y_margins =
|
||||||
theme.bar.dropdownGap = "3em";
|
if floating && transparent then "0" else "8";
|
||||||
theme.bar.floating = floating;
|
theme.bar.floating = if floating then "true" else "false";
|
||||||
theme.bar.location = position;
|
theme.bar.location = position;
|
||||||
theme.bar.margin_bottom =
|
theme.bar.margin_bottom =
|
||||||
"${if position == "top" then "0" else toString (gaps-in * 2)}px";
|
"${if position == "top" then "0" else toString (gaps-in * 2)}px";
|
||||||
@ -130,56 +169,6 @@ in {
|
|||||||
theme.osd.muted_zero = true;
|
theme.osd.muted_zero = true;
|
||||||
theme.osd.orientation = "vertical";
|
theme.osd.orientation = "vertical";
|
||||||
theme.osd.radius = "${toString rounding}px";
|
theme.osd.radius = "${toString rounding}px";
|
||||||
|
|
||||||
bar.workspaces.reverse_scroll = true;
|
|
||||||
bar.battery.hideLabelWhenFull = true;
|
|
||||||
bar.bluetooth.label = false;
|
|
||||||
bar.clock.format = "%a, %d %b %H:%M";
|
|
||||||
bar.customModules.hypridle.label = false;
|
|
||||||
bar.customModules.hyprsunset.label = false;
|
|
||||||
bar.customModules.hyprsunset.temperature = "4500k";
|
|
||||||
bar.launcher.icon = "";
|
|
||||||
bar.media.show_active_only = true;
|
|
||||||
bar.network.label = false;
|
|
||||||
bar.network.truncation_size = 12;
|
|
||||||
bar.volume.label = false;
|
|
||||||
bar.windowtitle.label = true;
|
|
||||||
# bar.workspaces.applicationIconEmptyWorkspace = "";
|
|
||||||
# bar.workspaces.hideUnoccupied = false;
|
|
||||||
bar.workspaces.monitorSpecific = false;
|
|
||||||
# bar.workspaces.numbered_active_indicator = "underline";
|
|
||||||
# bar.workspaces.showApplicationIcons = false;
|
|
||||||
bar.workspaces.show_icons = false;
|
|
||||||
bar.workspaces.workspaces = 5;
|
|
||||||
bar.workspaces.show_numbered = true;
|
|
||||||
menus.clock.time.hideSeconds = true;
|
|
||||||
menus.clock.time.military = true;
|
|
||||||
menus.clock.weather.key = weatherapikey;
|
|
||||||
menus.clock.weather.location = location;
|
|
||||||
menus.clock.weather.unit = "metric";
|
|
||||||
menus.dashboard.powermenu.avatar.image =
|
|
||||||
"/home/${username}/.profile_picture.png";
|
|
||||||
menus.dashboard.powermenu.confirmation = false;
|
|
||||||
menus.dashboard.shortcuts.left.shortcut1.command = "firefox";
|
|
||||||
menus.dashboard.shortcuts.left.shortcut1.icon = "";
|
|
||||||
menus.dashboard.shortcuts.left.shortcut1.tooltip = "Firefox";
|
|
||||||
menus.dashboard.shortcuts.left.shortcut2.command = "caffeine";
|
|
||||||
menus.dashboard.shortcuts.left.shortcut2.icon = "";
|
|
||||||
menus.dashboard.shortcuts.left.shortcut2.tooltip = "Caffeine";
|
|
||||||
menus.dashboard.shortcuts.left.shortcut3.command = "night-shift";
|
|
||||||
menus.dashboard.shortcuts.left.shortcut3.icon = "";
|
|
||||||
menus.dashboard.shortcuts.left.shortcut3.tooltip = "Night-shift";
|
|
||||||
menus.dashboard.shortcuts.left.shortcut4.command = "menu";
|
|
||||||
menus.dashboard.shortcuts.left.shortcut4.icon = "";
|
|
||||||
menus.dashboard.shortcuts.left.shortcut4.tooltip = "Search Apps";
|
|
||||||
menus.dashboard.shortcuts.right.shortcut1.command = "hyprpicker -a";
|
|
||||||
menus.dashboard.shortcuts.right.shortcut1.icon = "";
|
|
||||||
menus.dashboard.shortcuts.right.shortcut1.tooltip = "Color Picker";
|
|
||||||
menus.dashboard.shortcuts.right.shortcut3.command =
|
|
||||||
"screenshot region swappy";
|
|
||||||
menus.dashboard.shortcuts.right.shortcut3.icon = "";
|
|
||||||
menus.dashboard.shortcuts.right.shortcut3.tooltip = "Screenshot";
|
|
||||||
menus.dashboard.stats.enabled = false;
|
|
||||||
wallpaper.enable = false;
|
wallpaper.enable = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@ -31,7 +31,5 @@
|
|||||||
"application/pdf" = "org.pwmt.zathura.desktop";
|
"application/pdf" = "org.pwmt.zathura.desktop";
|
||||||
"inode/directory" = "Thunar.desktop";
|
"inode/directory" = "Thunar.desktop";
|
||||||
};
|
};
|
||||||
associations.added = { "x-scheme-handler/mailto" = "thunderbird.desktop"; };
|
|
||||||
};
|
};
|
||||||
xdg.configFile."mimeapps.list".force = true;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,244 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
inputs,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
noctalia = cmd:
|
|
||||||
["noctalia-shell" "ipc" "call"]
|
|
||||||
++ (pkgs.lib.splitString " " cmd);
|
|
||||||
in {
|
|
||||||
imports = [inputs.niri.homeModules.niri inputs.noctalia.homeModules.default];
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
wayland-utils
|
|
||||||
libsecret
|
|
||||||
cage
|
|
||||||
xwayland-satellite
|
|
||||||
libnotify
|
|
||||||
cliphist
|
|
||||||
cava
|
|
||||||
kdePackages.polkit-kde-agent-1
|
|
||||||
nautilus
|
|
||||||
direnv
|
|
||||||
imv
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.niri = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
prefer-no-csd = true;
|
|
||||||
hotkey-overlay.skip-at-startup = true;
|
|
||||||
environment = {
|
|
||||||
NIXOS_OZONE_WL = "1";
|
|
||||||
QT_QPA_PLATFORM = "wayland";
|
|
||||||
ELECTRON_OZON_PLATFORM_HINT = "wayland";
|
|
||||||
DISPLAY = ":0"; # Or null
|
|
||||||
_JAVA_AWT_WM_NONREPARENTING = "1";
|
|
||||||
};
|
|
||||||
cursor = {
|
|
||||||
hide-when-typing = true;
|
|
||||||
hide-after-inactive-ms = 1000;
|
|
||||||
};
|
|
||||||
|
|
||||||
binds = with config.lib.niri.actions; {
|
|
||||||
"Mod+Space".action.spawn = noctalia "launcher toggle";
|
|
||||||
"Mod+P".action.spawn = noctalia "sessionMenu toggle";
|
|
||||||
"Mod+V".action.spawn = noctalia "launcher clipboard";
|
|
||||||
"Mod+Shift+C".action.spawn = noctalia "launcher calculator";
|
|
||||||
"Mod+C".action.spawn = noctalia "calendar toggle";
|
|
||||||
"Mod+S".action.spawn = noctalia "controlCenter toggle";
|
|
||||||
"Mod+F12".action.spawn = noctalia "powerProfile cycle";
|
|
||||||
"XF86AudioLowerVolume".action.spawn = noctalia "volume decrease";
|
|
||||||
"XF86AudioRaiseVolume".action.spawn = noctalia "volume increase";
|
|
||||||
"XF86AudioMute".action.spawn = noctalia "volume muteOutput";
|
|
||||||
"XF86MonBrightnessUp".action.spawn = noctalia "brightness increase";
|
|
||||||
"XF86MonBrightnessDown".action.spawn = noctalia "brightness decrease";
|
|
||||||
"XF86AudioPlay".action.spawn = noctalia "media playPause";
|
|
||||||
"XF86AudioNext".action.spawn = noctalia "media next";
|
|
||||||
"XF86AudioPrev".action.spawn = noctalia "media previous";
|
|
||||||
"Mod+Shift+Q".action.spawn = noctalia "lockScreen lock";
|
|
||||||
"Mod+Return".action.spawn = ["alacritty"];
|
|
||||||
"Mod+E".action.spawn = ["nautilus"];
|
|
||||||
"Mod+B".action.spawn = ["firefox"];
|
|
||||||
"Mod+U".action = move-workspace-up;
|
|
||||||
"Mod+I".action = move-workspace-down;
|
|
||||||
"Mod+Shift+Slash".action = show-hotkey-overlay;
|
|
||||||
"Mod+Q".action = close-window;
|
|
||||||
"Mod+H".action = focus-column-or-monitor-left;
|
|
||||||
"Mod+L".action = focus-column-or-monitor-right;
|
|
||||||
"Mod+J".action = focus-window-or-monitor-down;
|
|
||||||
"Mod+K".action = focus-window-or-monitor-up;
|
|
||||||
"Mod+Shift+H".action = move-column-left-or-to-monitor-left;
|
|
||||||
"Mod+Shift+L".action = move-column-right-or-to-monitor-right;
|
|
||||||
"Mod+Shift+J".action = move-window-down-or-to-workspace-down;
|
|
||||||
"Mod+Shift+K".action = move-window-up-or-to-workspace-up;
|
|
||||||
"Mod+Ctrl+K".action = move-window-to-workspace-up;
|
|
||||||
"Mod+Ctrl+J".action = move-window-to-workspace-down;
|
|
||||||
"Mod+0".action = focus-workspace 0;
|
|
||||||
"Mod+1".action = focus-workspace 1;
|
|
||||||
"Mod+2".action = focus-workspace 2;
|
|
||||||
"Mod+3".action = focus-workspace 3;
|
|
||||||
"Mod+4".action = focus-workspace 4;
|
|
||||||
"Mod+5".action = focus-workspace 5;
|
|
||||||
"Mod+6".action = focus-workspace 6;
|
|
||||||
"Mod+7".action = focus-workspace 7;
|
|
||||||
"Mod+8".action = focus-workspace 8;
|
|
||||||
"Mod+9".action = focus-workspace 9;
|
|
||||||
"Mod+Shift+Period".action = move-workspace-to-monitor-next;
|
|
||||||
"Mod+Shift+Comma".action = move-workspace-to-monitor-previous;
|
|
||||||
"Mod+Comma".action = consume-or-expel-window-left;
|
|
||||||
"Mod+Period".action = consume-or-expel-window-right;
|
|
||||||
"Mod+Grave".action = toggle-overview;
|
|
||||||
"Mod+Tab".action = focus-workspace-previous;
|
|
||||||
"Mod+Equal".action = set-column-width "+5%";
|
|
||||||
"Mod+Minus".action = set-column-width "-5%";
|
|
||||||
"Mod+Shift+Equal".action = set-window-height "+5%";
|
|
||||||
"Mod+Shift+Minus".action = set-window-height "-5%";
|
|
||||||
"Mod+F".action = maximize-column;
|
|
||||||
"Mod+Shift+F".action = fullscreen-window;
|
|
||||||
"Mod+Ctrl+Shift+F".action = toggle-windowed-fullscreen;
|
|
||||||
"Mod+Y".action = toggle-window-floating;
|
|
||||||
"Mod+Shift+Y".action = switch-focus-between-floating-and-tiling;
|
|
||||||
"Mod+W".action = toggle-column-tabbed-display;
|
|
||||||
"Mod+Parenright".action = switch-layout "next";
|
|
||||||
"Mod+Parenleft".action = switch-layout "prev";
|
|
||||||
"Mod+Shift+E".action = quit;
|
|
||||||
};
|
|
||||||
|
|
||||||
input = {
|
|
||||||
warp-mouse-to-focus.enable = true;
|
|
||||||
focus-follows-mouse.enable = false;
|
|
||||||
trackpoint = {
|
|
||||||
accel-profile = "adaptive";
|
|
||||||
accel-speed = 0.6;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
layout = {
|
|
||||||
focus-ring = {
|
|
||||||
width = 2;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
window-rules = [
|
|
||||||
{
|
|
||||||
geometry-corner-radius = let
|
|
||||||
r = 4.0;
|
|
||||||
in {
|
|
||||||
top-left = r;
|
|
||||||
top-right = r;
|
|
||||||
bottom-left = r;
|
|
||||||
bottom-right = r;
|
|
||||||
};
|
|
||||||
clip-to-geometry = true;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
matches = [{app-id = "firefox";}];
|
|
||||||
open-maximized = true;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
matches = [{app-id = "chromium-browser";}];
|
|
||||||
open-maximized = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
# debug = {
|
|
||||||
# honor-xdg-activation-with-invalid-serial = 1;
|
|
||||||
# };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.noctalia-shell = {
|
|
||||||
enable = true;
|
|
||||||
systemd.enable = true;
|
|
||||||
settings = {
|
|
||||||
general = {
|
|
||||||
animationSpeed = 2;
|
|
||||||
compactLockScreen = true;
|
|
||||||
};
|
|
||||||
wallpaper = {
|
|
||||||
enabled = false;
|
|
||||||
directory = "~/Pictures/wallpapers";
|
|
||||||
};
|
|
||||||
dock.enabled = false;
|
|
||||||
bar = {
|
|
||||||
density = "compact";
|
|
||||||
position = "right";
|
|
||||||
showCapsule = false;
|
|
||||||
widgets = {
|
|
||||||
left = [
|
|
||||||
{
|
|
||||||
id = "SidePanelToggle";
|
|
||||||
useDistroLogo = true;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
id = "WiFi";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
id = "Bluetooth";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
center = [
|
|
||||||
{
|
|
||||||
hideUnoccupied = false;
|
|
||||||
id = "Workspace";
|
|
||||||
labelMode = "none";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
right = [
|
|
||||||
{
|
|
||||||
colorizeIcons = true;
|
|
||||||
drawerEnabled = true;
|
|
||||||
id = "Tray";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
alwaysShowPercentage = false;
|
|
||||||
id = "Battery";
|
|
||||||
warningThreshold = 30;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
formatHorizontal = "HH:mm";
|
|
||||||
formatVertical = "HH mm";
|
|
||||||
id = "Clock";
|
|
||||||
useMonospacedFont = true;
|
|
||||||
usePrimaryColor = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
colorSchemes.predefinedScheme = "Monochrome";
|
|
||||||
general = {
|
|
||||||
avatarImage = "/home/dim/.face";
|
|
||||||
radiusRatio = 0.2;
|
|
||||||
};
|
|
||||||
location = {
|
|
||||||
monthBeforeDay = false;
|
|
||||||
name = "Tangerang";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
# this may also be a string or a path to a JSON file,
|
|
||||||
# but in this case must include *all* settings.
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.alacritty = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
window.decorations = "None";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services.kanshi = {
|
|
||||||
enable = true;
|
|
||||||
profiles = {
|
|
||||||
rumah = {
|
|
||||||
outputs = [
|
|
||||||
{
|
|
||||||
criteria = "LG Electronics 16EN33 305INKH5P181";
|
|
||||||
position = "0,0";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
criteria = "eDP-1";
|
|
||||||
position = "0,768";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,225 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
inherit (config.var.theme.bar) position;
|
|
||||||
inherit (config.var.theme) rounding border-size gaps-in gaps-out;
|
|
||||||
in {
|
|
||||||
home.packages = with pkgs; [playerctl];
|
|
||||||
programs.waybar = {
|
|
||||||
enable = true;
|
|
||||||
systemd = {
|
|
||||||
enable = true;
|
|
||||||
target = "hyprland-session";
|
|
||||||
};
|
|
||||||
settings = [
|
|
||||||
{
|
|
||||||
layer = "top";
|
|
||||||
position = position;
|
|
||||||
modules-left = ["hyprland/workspaces" "mpris"];
|
|
||||||
modules-center = [];
|
|
||||||
modules-right = [
|
|
||||||
"idle_inhibitor"
|
|
||||||
"backlight"
|
|
||||||
"battery#1"
|
|
||||||
"battery#2"
|
|
||||||
"cpu"
|
|
||||||
"memory"
|
|
||||||
"temperature"
|
|
||||||
"clock"
|
|
||||||
"privacy"
|
|
||||||
"wireplumber"
|
|
||||||
"tray"
|
|
||||||
];
|
|
||||||
clock = {
|
|
||||||
"format" = "{:%d %b %H:%M} ";
|
|
||||||
"format-alt" = "{:%A, %d %B %Y (%R)} ";
|
|
||||||
"tooltip-format" = ''
|
|
||||||
<big>{:%Y %B}</big>
|
|
||||||
<tt><small>{calendar}</small></tt>'';
|
|
||||||
"calendar" = {
|
|
||||||
"mode" = "year";
|
|
||||||
"mode-mon-col" = 3;
|
|
||||||
"weeks-pos" = "right";
|
|
||||||
"on-scroll" = 1;
|
|
||||||
"format" = {
|
|
||||||
"months" = "<span color='#ffead3'><b>{}</b></span>";
|
|
||||||
"days" = "<span color='#ecc6d9'><b>{}</b></span>";
|
|
||||||
"weeks" = "<span color='#99ffdd'><b>W{}</b></span>";
|
|
||||||
"weekdays" = "<span color='#ffcc66'><b>{}</b></span>";
|
|
||||||
"today" = "<span color='#ff6699'><b><u>{}</u></b></span>";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
actions = {
|
|
||||||
"on-click-right" = "mode";
|
|
||||||
"on-scroll-up" = "shift_up";
|
|
||||||
"on-scroll-down" = "shift_down";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
tray = {spacing = gaps-in;};
|
|
||||||
cpu = {format = " {usage}";};
|
|
||||||
memory = {format = " {}";};
|
|
||||||
idle_inhibitor = {
|
|
||||||
format = "{icon}";
|
|
||||||
format-icons = {
|
|
||||||
activated = "";
|
|
||||||
deactivated = "";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
network = {
|
|
||||||
format = "{ifname}";
|
|
||||||
format-wifi = "{essid} ({signalStrength}%) ";
|
|
||||||
format-ethernet = "{ipaddr}/{cidr} ";
|
|
||||||
format-disconnected = "";
|
|
||||||
tooltip-format = "{ifname} via {gwaddr} ";
|
|
||||||
tooltip-format-wifi = "{essid} ({signalStrength}%) ";
|
|
||||||
tooltip-format-ethernet = "{ifname} ";
|
|
||||||
tooltip-format-disconnected = "Disconnected";
|
|
||||||
max-length = 50;
|
|
||||||
};
|
|
||||||
temperature = {format = "{temperatureC} ";};
|
|
||||||
backlight = {
|
|
||||||
device = "intel_backlight";
|
|
||||||
format = "{icon}";
|
|
||||||
format-icons = ["" "" "" "" "" "" "" "" ""];
|
|
||||||
};
|
|
||||||
"battery#1" = {
|
|
||||||
bat = "BAT0";
|
|
||||||
interval = 90;
|
|
||||||
states = {
|
|
||||||
warning = 30;
|
|
||||||
critical = 15;
|
|
||||||
};
|
|
||||||
format = "{capacity}";
|
|
||||||
max-length = 2;
|
|
||||||
};
|
|
||||||
"battery#2" = {
|
|
||||||
bat = "BAT1";
|
|
||||||
interval = 90;
|
|
||||||
states = {
|
|
||||||
warning = 30;
|
|
||||||
critical = 15;
|
|
||||||
};
|
|
||||||
format = "{capacity} {icon}";
|
|
||||||
format-icons = ["" "" "" "" ""];
|
|
||||||
max-length = 25;
|
|
||||||
};
|
|
||||||
"hyprland/window" = {
|
|
||||||
format = "{}";
|
|
||||||
max-length = 32;
|
|
||||||
rewrite = {
|
|
||||||
"(.*) — Mozilla Firefox" = " $1";
|
|
||||||
"(.*) - kitty" = " [$1]";
|
|
||||||
};
|
|
||||||
separate-outputs = true;
|
|
||||||
};
|
|
||||||
"hyprland/workspaces" = {format = "<small>{name}</small>";};
|
|
||||||
mpris = {
|
|
||||||
"format" = "{player_icon} {dynamic}";
|
|
||||||
"format-paused" = "{status_icon} <i>{dynamic}</i>";
|
|
||||||
"player-icons" = {
|
|
||||||
"default" = "";
|
|
||||||
"mpv" = "";
|
|
||||||
};
|
|
||||||
"dynamic-len" = 30;
|
|
||||||
"status-icons" = {"paused" = "";};
|
|
||||||
"ignored-players" = ["firefox"];
|
|
||||||
};
|
|
||||||
privacy = {
|
|
||||||
"icon-spacing" = 4;
|
|
||||||
"icon-size" = 18;
|
|
||||||
"transition-duration" = 250;
|
|
||||||
"modules" = [
|
|
||||||
{
|
|
||||||
"type" = "screenshare";
|
|
||||||
"tooltip" = true;
|
|
||||||
"tooltip-icon-size" = 24;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"type" = "audio-out";
|
|
||||||
"tooltip" = true;
|
|
||||||
"tooltip-icon-size" = 24;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"type" = "audio-in";
|
|
||||||
"tooltip" = true;
|
|
||||||
"tooltip-icon-size" = 24;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
pulseaudio = {
|
|
||||||
"format" = "{volume}%{icon}";
|
|
||||||
"format-bluetooth" = "{volume}%{icon}";
|
|
||||||
"format-muted" = "";
|
|
||||||
"format-icons" = {
|
|
||||||
"headphone" = "";
|
|
||||||
"phone" = "";
|
|
||||||
"portable" = "";
|
|
||||||
"car" = "";
|
|
||||||
"default" = ["" ""];
|
|
||||||
};
|
|
||||||
"scroll-step" = 1;
|
|
||||||
"on-click" = "pavucontrol";
|
|
||||||
"ignored-sinks" = ["Easy Effects Sink"];
|
|
||||||
};
|
|
||||||
"wireplumber" = {
|
|
||||||
"on-click" = "pavucontrol";
|
|
||||||
"on-click-right" = "amixer sset Master toggle 1>/dev/null";
|
|
||||||
"format" = "<span foreground='#fab387'>{icon}</span>{volume}%";
|
|
||||||
"format-muted" = " ";
|
|
||||||
"format-source" = "";
|
|
||||||
"format-source-muted" = "";
|
|
||||||
"format-icons" = {
|
|
||||||
"headphone" = " ";
|
|
||||||
"hands-free" = " ";
|
|
||||||
"headset" = " ";
|
|
||||||
"phone" = " ";
|
|
||||||
"portable" = " ";
|
|
||||||
"car" = " ";
|
|
||||||
"default" = [" " " " " "];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"custom/cuaca" = {
|
|
||||||
"format" = "{}";
|
|
||||||
"format-alt" = "{alt}: {}";
|
|
||||||
"format-alt-click" = "click-right";
|
|
||||||
"interval" = 3600;
|
|
||||||
"exec" = "curl -s 'https://wttr.in/Tangerang?format=1'";
|
|
||||||
"exec-if" = "ping wttr.in -c1";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
style = ''
|
|
||||||
* { border: none; border-radius: 0; }
|
|
||||||
window#waybar { background-color: transparent; color: @base05; transition-property: background-color; transition-duration: 0.5s; }
|
|
||||||
window#waybar.hidden { opacity: 0.2; }
|
|
||||||
label.module { padding: 0 0.5em; }
|
|
||||||
#workspaces {
|
|
||||||
background-color: @base03;
|
|
||||||
border-radius: 1em;
|
|
||||||
margin: 0 1em;
|
|
||||||
}
|
|
||||||
#workspaces button {
|
|
||||||
padding: 0 .3em;
|
|
||||||
border-radius: 1em;
|
|
||||||
background-color: @base03;
|
|
||||||
}
|
|
||||||
#workspaces button.urgent { background-color: @base09; }
|
|
||||||
#workspaces button.empty { background-color: @base03; }
|
|
||||||
#workspaces button.visible { background-color: @base04; color: @base01 }
|
|
||||||
#workspaces button.active { background-color: @base0A; }
|
|
||||||
#window { font-weight:800; color: @base06; background-color: @base00; margin: 0 .5em; padding: 0 1em; border-radius: 0 0 1em 1em;}
|
|
||||||
.modules-left { background-color: transparent; border-radius: 0 1em 1em 0; padding-right: 1em; }
|
|
||||||
.modules-right { background-color: @base00; border-radius: 0 0 0 1em; padding-left: 1em; }
|
|
||||||
label#battery.1 { padding-right: 0; }
|
|
||||||
label#battery.2 { padding-left: ${toString gaps-in}px; }
|
|
||||||
#privacy, #tray { padding: 0 ${toString gaps-in}px; }
|
|
||||||
#tray { background-color: @base03; border-radius: 1em 0 0 1em; }
|
|
||||||
#tray > .passive { -gtk-icon-effect: dim; }
|
|
||||||
#tray > .needs-attention { -gtk-icon-effect: highlight; background-color: @base08; }
|
|
||||||
tooltip { border-radius: ${toString rounding}px; }
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -5,7 +5,7 @@ let
|
|||||||
background = "#${config.lib.stylix.colors.base00}";
|
background = "#${config.lib.stylix.colors.base00}";
|
||||||
background-alt = "#${config.lib.stylix.colors.base01}";
|
background-alt = "#${config.lib.stylix.colors.base01}";
|
||||||
foreground = "#${config.lib.stylix.colors.base05}";
|
foreground = "#${config.lib.stylix.colors.base05}";
|
||||||
font = config.stylix.fonts.sansSerif.name;
|
font = config.stylix.fonts.serif.name;
|
||||||
rounding = config.var.theme.rounding;
|
rounding = config.var.theme.rounding;
|
||||||
font-size = config.stylix.fonts.sizes.popups;
|
font-size = config.stylix.fonts.sizes.popups;
|
||||||
in {
|
in {
|
||||||
|
|||||||
@ -1,9 +1,8 @@
|
|||||||
{
|
{ config, pkgs, ... }: {
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
imports = [
|
||||||
|
# ../../nixos/nvidia.nix # CHANGEME: Remove this line if you don't have an Nvidia GPU
|
||||||
|
# ../../nixos/prime.nix # CHANGEME: Remove this line if you don't have an Nvidia GPU
|
||||||
|
|
||||||
../../nixos/audio.nix
|
../../nixos/audio.nix
|
||||||
../../nixos/auto-upgrade.nix
|
../../nixos/auto-upgrade.nix
|
||||||
../../nixos/bluetooth.nix
|
../../nixos/bluetooth.nix
|
||||||
@ -14,8 +13,6 @@
|
|||||||
../../nixos/systemd-boot.nix
|
../../nixos/systemd-boot.nix
|
||||||
../../nixos/timezone.nix
|
../../nixos/timezone.nix
|
||||||
../../nixos/tuigreet.nix
|
../../nixos/tuigreet.nix
|
||||||
# ../../nixos/tlp.nix
|
|
||||||
../../nixos/upower.nix
|
|
||||||
../../nixos/users.nix
|
../../nixos/users.nix
|
||||||
../../nixos/utils.nix
|
../../nixos/utils.nix
|
||||||
../../nixos/virtualisation.nix
|
../../nixos/virtualisation.nix
|
||||||
@ -34,14 +31,7 @@
|
|||||||
# users.users."${config.var.username}".extraGroups = [ "scanner" "lp" ];
|
# users.users."${config.var.username}".extraGroups = [ "scanner" "lp" ];
|
||||||
# hardware.sane.enable = true;
|
# hardware.sane.enable = true;
|
||||||
|
|
||||||
programs.nm-applet.enable = true;
|
networking.hosts = { "192.168.122.52" = [ "websiteku.lokal" ]; };
|
||||||
networking.hosts = {
|
|
||||||
"192.168.122.52" = ["websiteku.lokal"];
|
|
||||||
"127.0.0.1" = ["dimensi.lokal" "sisfokampus.ddev.site"];
|
|
||||||
# "10.230.4.15" = [ "www.yapeim.my" ];
|
|
||||||
# "43.239.205.20" = [ "dimensi.my" ];
|
|
||||||
# "103.106.6.124" = [ "dimensi.my" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
# Don't touch this
|
# Don't touch this
|
||||||
system.stateVersion = "24.05";
|
system.stateVersion = "24.05";
|
||||||
|
|||||||
@ -1,16 +1,11 @@
|
|||||||
{
|
{ pkgs, config, inputs, ... }: {
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
imports = [
|
||||||
./variables.nix
|
./variables.nix
|
||||||
|
|
||||||
# Programs
|
# Programs
|
||||||
../../home/programs/kitty
|
../../home/programs/kitty
|
||||||
../../home/programs/nvf
|
../../home/programs/nvim
|
||||||
../../home/programs/helix
|
|
||||||
../../home/programs/shell
|
../../home/programs/shell
|
||||||
../../home/programs/pass
|
../../home/programs/pass
|
||||||
../../home/programs/fetch
|
../../home/programs/fetch
|
||||||
@ -28,49 +23,46 @@
|
|||||||
../../home/scripts # All scripts
|
../../home/scripts # All scripts
|
||||||
|
|
||||||
# System (Desktop environment like stuff)
|
# System (Desktop environment like stuff)
|
||||||
# ../../home/system/hyprland
|
../../home/system/hyprland
|
||||||
# ../../home/system/hypridle
|
../../home/system/hypridle
|
||||||
# ../../home/system/hyprlock
|
../../home/system/hyprlock
|
||||||
# ../../home/system/hyprpaper
|
../../home/system/hyprpanel
|
||||||
# ../../home/system/wofi
|
../../home/system/hyprpaper
|
||||||
# ../../home/system/waybar
|
../../home/system/wofi
|
||||||
# ../../home/system/dunst
|
|
||||||
../../home/system/batsignal
|
../../home/system/batsignal
|
||||||
../../home/system/zathura
|
../../home/system/zathura
|
||||||
../../home/system/mime
|
../../home/system/mime
|
||||||
../../home/system/udiskie
|
../../home/system/udiskie
|
||||||
../../home/system/clipman
|
../../home/system/clipman
|
||||||
../../home/system/niri
|
|
||||||
|
|
||||||
# ./secrets # CHANGEME: You should probably remove this line, this is where I store my secrets
|
# ./secrets # CHANGEME: You should probably remove this line, this is where I store my secrets
|
||||||
];
|
];
|
||||||
|
|
||||||
stylix = {
|
stylix = {
|
||||||
targets.gtk.flatpakSupport.enable = false;
|
targets.gtk.flatpakSupport.enable = false;
|
||||||
targets.hyprlock.enable = false;
|
|
||||||
targets.waybar.addCss = false;
|
|
||||||
iconTheme = {
|
iconTheme = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.qogir-icon-theme;
|
package = pkgs.tela-icon-theme;
|
||||||
dark = "Qogir-Dark";
|
dark = "Tela-dark";
|
||||||
light = "Qogir";
|
light = "Tela-light";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
nixpkgs.config.allowUnfreePredicate = pkg:
|
|
||||||
builtins.elem (lib.getName pkg) ["intelephense" "spotify"];
|
|
||||||
home = {
|
home = {
|
||||||
inherit (config.var) username;
|
inherit (config.var) username;
|
||||||
homeDirectory = "/home/" + config.var.username;
|
homeDirectory = "/home/" + config.var.username;
|
||||||
|
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
# Apps
|
# Apps
|
||||||
|
#discord # Chat
|
||||||
|
# bitwarden # Password manager
|
||||||
mpv # Video player
|
mpv # Video player
|
||||||
# pcmanfm
|
pcmanfm
|
||||||
# xarchiver
|
xarchiver
|
||||||
|
#blanket # White-noise app
|
||||||
|
|
||||||
# Dev
|
# Dev
|
||||||
# go
|
go
|
||||||
nodejs
|
nodejs
|
||||||
(python3.withPackages (ps:
|
(python3.withPackages (ps:
|
||||||
with ps; [
|
with ps; [
|
||||||
@ -87,8 +79,7 @@
|
|||||||
sha256 = "sha256-caff7K4++eQJE/7kbKJb8DgI6aWJdiHBbdV1+46aFMs=";
|
sha256 = "sha256-caff7K4++eQJE/7kbKJb8DgI6aWJdiHBbdV1+46aFMs=";
|
||||||
};
|
};
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
pyproject = true;
|
buildInputs = [ pip ];
|
||||||
propagatedBuildInputs = [pip setuptools pyyaml mypy];
|
|
||||||
})
|
})
|
||||||
]))
|
]))
|
||||||
jq
|
jq
|
||||||
@ -96,13 +87,13 @@
|
|||||||
just
|
just
|
||||||
ddev
|
ddev
|
||||||
mkcert
|
mkcert
|
||||||
devenv
|
|
||||||
|
|
||||||
# Utils
|
# Utils
|
||||||
zip
|
zip
|
||||||
xz
|
xz
|
||||||
unzip
|
unzip
|
||||||
p7zip
|
p7zip
|
||||||
|
unrar
|
||||||
optipng
|
optipng
|
||||||
pfetch
|
pfetch
|
||||||
pandoc
|
pandoc
|
||||||
@ -120,12 +111,12 @@
|
|||||||
inetutils
|
inetutils
|
||||||
gdu
|
gdu
|
||||||
enchant
|
enchant
|
||||||
inxi
|
|
||||||
|
|
||||||
# Just cool
|
# Just cool
|
||||||
# peaclock
|
peaclock
|
||||||
# cbonsai
|
cbonsai
|
||||||
# cmatrix
|
pipes
|
||||||
|
cmatrix
|
||||||
# cava
|
# cava
|
||||||
|
|
||||||
# Backup
|
# Backup
|
||||||
@ -136,24 +127,14 @@
|
|||||||
gimp
|
gimp
|
||||||
sqlitebrowser
|
sqlitebrowser
|
||||||
sqlite
|
sqlite
|
||||||
emacs-pgtk
|
emacs29-pgtk
|
||||||
php
|
|
||||||
phpPackages.composer
|
|
||||||
aspell
|
|
||||||
aspellDicts.id
|
|
||||||
aspellDicts.en
|
|
||||||
html-tidy
|
|
||||||
stylelint
|
|
||||||
jsbeautifier
|
|
||||||
zotero_7
|
zotero_7
|
||||||
chromium
|
chromium
|
||||||
remmina
|
# inputs.zen-browser.packages."${pkgs.system}"
|
||||||
exercism
|
|
||||||
elixir
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# Import my profile picture, used by the hyprpanel dashboard
|
# Import my profile picture, used by the hyprpanel dashboard
|
||||||
file.".profile_picture.png" = {source = ./profile_picture.png;};
|
file.".profile_picture.png" = { source = ./profile_picture.png; };
|
||||||
|
|
||||||
# Don't touch this
|
# Don't touch this
|
||||||
stateVersion = "24.05";
|
stateVersion = "24.05";
|
||||||
|
|||||||
@ -1,13 +1,14 @@
|
|||||||
{config, ...}: {
|
{ config, ... }: {
|
||||||
imports = [../../nixos/variables-config.nix];
|
imports = [ ../../nixos/variables-config.nix ];
|
||||||
|
|
||||||
config.var = {
|
config.var = {
|
||||||
hostname = "dark";
|
hostname = "dark";
|
||||||
username = "dim";
|
username = "dim";
|
||||||
fullname = "Dhimas Widrayato";
|
|
||||||
uid = 1000;
|
uid = 1000;
|
||||||
hashedPassword = "$y$j9T$OqKMt8etf8DgTrZhN9jzy/$biMoM3P.WPZMpk0DAK.QhaHjGOL23pEgxlSvfu9LEPD";
|
hashedPassword =
|
||||||
configDirectory = "/home/" + config.var.username + "/.config/nixos"; # The path of the nixos configuration directory
|
"$y$j9T$OqKMt8etf8DgTrZhN9jzy/$biMoM3P.WPZMpk0DAK.QhaHjGOL23pEgxlSvfu9LEPD";
|
||||||
|
configDirectory = "/home/" + config.var.username
|
||||||
|
+ "/.config/nixos"; # The path of the nixos configuration directory
|
||||||
|
|
||||||
keyboardLayout = "us";
|
keyboardLayout = "us";
|
||||||
|
|
||||||
@ -28,7 +29,8 @@
|
|||||||
|
|
||||||
autoUpgrade = false;
|
autoUpgrade = false;
|
||||||
autoGarbageCollector = false;
|
autoGarbageCollector = false;
|
||||||
cpuTempSensor = "/sys/devices/platform/thinkpad_hwmon/hwmon/hwmon5/temp1_input";
|
cpuTempSensor =
|
||||||
|
"/sys/devices/platform/thinkpad_hwmon/hwmon/hwmon5/temp1_input";
|
||||||
|
|
||||||
theme = import ../../themes/var/nixy.nix;
|
theme = import ../../themes/var/nixy.nix;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,8 +1,6 @@
|
|||||||
{ pkgs, ... }: {
|
{
|
||||||
environment.systemPackages = with pkgs; [ pavucontrol ];
|
|
||||||
|
|
||||||
security.rtkit.enable = true;
|
security.rtkit.enable = true;
|
||||||
services.pulseaudio.enable = false;
|
hardware.pulseaudio.enable = false;
|
||||||
|
|
||||||
services.pipewire = {
|
services.pipewire = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@ -18,13 +16,5 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
extraConfig.pipewire = {
|
|
||||||
"92-clock-rate" = {
|
|
||||||
"context.properties" = {
|
|
||||||
"default.clock.quantum" = 2048;
|
|
||||||
"default.clock.force-quantum" = 2048;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,13 +14,15 @@
|
|||||||
dejavu_fonts
|
dejavu_fonts
|
||||||
noto-fonts
|
noto-fonts
|
||||||
noto-fonts-cjk-sans
|
noto-fonts-cjk-sans
|
||||||
noto-fonts-color-emoji
|
noto-fonts-emoji
|
||||||
victor-mono
|
victor-mono
|
||||||
|
# (nerdfonts.override { fonts = [ "FiraCode" "Meslo" "VictorMono" ]; })
|
||||||
nerd-fonts.victor-mono
|
nerd-fonts.victor-mono
|
||||||
nerd-fonts.fira-code
|
nerd-fonts.fira-code
|
||||||
nerd-fonts.meslo-lg
|
nerd-fonts.meslo-lg
|
||||||
openmoji-color
|
openmoji-color
|
||||||
twemoji-color-font
|
twemoji-color-font
|
||||||
|
inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd
|
||||||
];
|
];
|
||||||
|
|
||||||
enableDefaultPackages = false;
|
enableDefaultPackages = false;
|
||||||
@ -28,8 +30,8 @@
|
|||||||
fontconfig = {
|
fontconfig = {
|
||||||
defaultFonts = {
|
defaultFonts = {
|
||||||
monospace = [ "FiraCode Nerd Font Mono" "Noto Color Emoji" ];
|
monospace = [ "FiraCode Nerd Font Mono" "Noto Color Emoji" ];
|
||||||
sansSerif = [ "Inter Display" "Noto Color Emoji" ];
|
sansSerif = [ "SFProDisplay Nerd Font" "Noto Color Emoji" ];
|
||||||
serif = [ "Noto Serif" "Noto Color Emoji" ];
|
serif = [ "SFProDisplay Nerd Font" "Noto Color Emoji" ];
|
||||||
emoji = [ "Noto Color Emoji" ];
|
emoji = [ "Noto Color Emoji" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{ inputs, ... }: {
|
{ inputs, ... }: {
|
||||||
home-manager = {
|
home-manager = {
|
||||||
useGlobalPkgs = false;
|
useGlobalPkgs = true;
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
backupFileExtension = "hm-backup";
|
backupFileExtension = "hm-backup";
|
||||||
extraSpecialArgs = { inherit inputs; };
|
extraSpecialArgs = { inherit inputs; };
|
||||||
|
|||||||
@ -1,5 +1,4 @@
|
|||||||
{
|
{
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
systemd.services.NetworkManager-wait-online.enable = false;
|
systemd.services.NetworkManager-wait-online.enable = false;
|
||||||
networking.firewall.checkReversePath = "loose";
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,13 +1,6 @@
|
|||||||
{ config, inputs, ... }:
|
{ config, inputs, ... }:
|
||||||
let autoGarbageCollector = config.var.autoGarbageCollector;
|
let autoGarbageCollector = config.var.autoGarbageCollector;
|
||||||
in {
|
in {
|
||||||
security.sudo.extraRules = [{
|
|
||||||
users = [ config.var.username ];
|
|
||||||
commands = [{
|
|
||||||
command = "/run/current-system/sw/bin/nixos-rebuild";
|
|
||||||
options = [ "NOPASSWD" ];
|
|
||||||
}];
|
|
||||||
}];
|
|
||||||
nixpkgs.config = {
|
nixpkgs.config = {
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
allowBroken = true;
|
allowBroken = true;
|
||||||
@ -15,24 +8,15 @@ in {
|
|||||||
nix = {
|
nix = {
|
||||||
nixPath = [ "nixpkgs=${inputs.nixpkgs}" ];
|
nixPath = [ "nixpkgs=${inputs.nixpkgs}" ];
|
||||||
channel.enable = false;
|
channel.enable = false;
|
||||||
|
|
||||||
extraOptions = ''
|
extraOptions = ''
|
||||||
warn-dirty = false
|
warn-dirty = false
|
||||||
'';
|
'';
|
||||||
settings = {
|
settings = {
|
||||||
auto-optimise-store = true;
|
auto-optimise-store = true;
|
||||||
experimental-features = [ "nix-command" "flakes" ];
|
experimental-features = [ "nix-command" "flakes" ];
|
||||||
substituters = [
|
substituters = [ "https://hyprland.cachix.org" ];
|
||||||
"https://cache.nixos.org/?priority=10"
|
|
||||||
"https://nix-community.cachix.org"
|
|
||||||
"https://hyprland.cachix.org"
|
|
||||||
"https://devenv.cachix.org"
|
|
||||||
];
|
|
||||||
trusted-public-keys = [
|
trusted-public-keys = [
|
||||||
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
||||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
|
||||||
"devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw="
|
|
||||||
"nixpkgs-python.cachix.org-1:hxjI7pFxTyuTHn2NkvWCrAUcNZLNS3ZAvfYNuYifcEU="
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
gc = {
|
gc = {
|
||||||
|
|||||||
@ -25,9 +25,4 @@
|
|||||||
consoleLogLevel = 0;
|
consoleLogLevel = 0;
|
||||||
initrd.verbose = false;
|
initrd.verbose = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
services.kmscon = {
|
|
||||||
enable = true;
|
|
||||||
hwRender = true;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,28 +0,0 @@
|
|||||||
{
|
|
||||||
services.tlp = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
CPU_SCALING_GOVERNOR_ON_AC = "performance";
|
|
||||||
CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
|
|
||||||
|
|
||||||
CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
|
|
||||||
CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
|
|
||||||
|
|
||||||
CPU_MIN_PERF_ON_AC = 0;
|
|
||||||
CPU_MAX_PERF_ON_AC = 100;
|
|
||||||
CPU_MIN_PERF_ON_BAT = 0;
|
|
||||||
CPU_MAX_PERF_ON_BAT = 60;
|
|
||||||
|
|
||||||
# Optional helps save long term battery health
|
|
||||||
START_CHARGE_THRESH_BAT0 = 40; # 40 and bellow it starts to charge
|
|
||||||
STOP_CHARGE_THRESH_BAT0 = 80; # 80 and above it stops charging
|
|
||||||
START_CHARGE_THRESH_BAT1 = 40; # 40 and bellow it starts to charge
|
|
||||||
STOP_CHARGE_THRESH_BAT1 = 80; # 80 and above it stops charging
|
|
||||||
RESTORE_THRESHOLD_ON_BAT = 1;
|
|
||||||
|
|
||||||
# Networking powersave
|
|
||||||
DEVICES_TO_DISABLE_ON_LAN_CONNECT = "wifi";
|
|
||||||
DEVICES_TO_ENABLE_ON_UNDOCK = "wifi";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,16 +1,17 @@
|
|||||||
{pkgs, ...}: {
|
{ pkgs, ... }: {
|
||||||
services.greetd = {
|
services.greetd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
default_session = {
|
default_session = {
|
||||||
command = "${pkgs.tuigreet}/bin/tuigreet --remember --asterisks --container-padding 2 --time --time-format '%I:%M %p | %a • %h | %F' --cmd niri-session";
|
command =
|
||||||
|
"${pkgs.greetd.tuigreet}/bin/tuigreet --remember --asterisks --container-padding 2 --time --time-format '%I:%M %p | %a • %h | %F' --cmd Hyprland";
|
||||||
user = "greeter";
|
user = "greeter";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
security.pam.services.greetd.enableGnomeKeyring = true;
|
security.pam.services.greetd.enableGnomeKeyring = true;
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [tuigreet];
|
environment.systemPackages = with pkgs; [ greetd.tuigreet ];
|
||||||
|
|
||||||
# this is a life saver.
|
# this is a life saver.
|
||||||
# literally no documentation about this anywhere.
|
# literally no documentation about this anywhere.
|
||||||
@ -28,12 +29,6 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
# To prevent getting stuck at shutdown
|
# To prevent getting stuck at shutdown
|
||||||
# systemd.extraConfig = "DefaultTimeoutStopSec=10s";
|
systemd.extraConfig = "DefaultTimeoutStopSec=10s";
|
||||||
systemd.settings.Manager = {
|
|
||||||
# KExecWatchdogSec = "5min";
|
|
||||||
# RebootWatchdogSec = "10min";
|
|
||||||
# RuntimeWatchdogSec = "30s";
|
|
||||||
# WatchdogDevice = "/dev/watchdog";
|
|
||||||
DefaultTimeoutStopSec = "10s";
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
services.tlp.enable = false;
|
|
||||||
services.tuned.enable = true;
|
|
||||||
services.upower.enable = true;
|
|
||||||
}
|
|
||||||
@ -1,36 +1,18 @@
|
|||||||
{
|
{ config, pkgs, ... }:
|
||||||
config,
|
let
|
||||||
pkgs,
|
|
||||||
inputs,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
username = config.var.username;
|
username = config.var.username;
|
||||||
hashedPassword = config.var.hashedPassword;
|
hashedPassword = config.var.hashedPassword;
|
||||||
userId = config.var.uid;
|
userId = config.var.uid;
|
||||||
in {
|
in {
|
||||||
programs.zsh.enable = true;
|
programs.zsh.enable = true;
|
||||||
|
|
||||||
# Thunar plugins and services
|
|
||||||
programs.thunar.plugins = with pkgs.xfce; [
|
|
||||||
thunar-archive-plugin
|
|
||||||
thunar-volman
|
|
||||||
];
|
|
||||||
programs.xfconf.enable = true;
|
|
||||||
services.tumbler.enable = true;
|
|
||||||
|
|
||||||
# hardware.graphics = {
|
|
||||||
# package =
|
|
||||||
# inputs.hyprland.inputs.nixpkgs.legacyPackages.${pkgs.stdenv.hostPlatform.system}.mesa;
|
|
||||||
# };
|
|
||||||
|
|
||||||
users = {
|
users = {
|
||||||
defaultUserShell = pkgs.zsh;
|
defaultUserShell = pkgs.zsh;
|
||||||
users.${username} = {
|
users.${username} = {
|
||||||
hashedPassword = "${hashedPassword}";
|
hashedPassword = "${hashedPassword}";
|
||||||
uid = userId;
|
uid = userId;
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = config.var.fullname;
|
description = "${username} account";
|
||||||
extraGroups = ["networkmanager" "wheel" "audio" "video" "input"];
|
extraGroups = [ "networkmanager" "wheel" "audio" "video" "input" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,18 +14,15 @@ in {
|
|||||||
EDITOR = "nvim";
|
EDITOR = "nvim";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.libinput.enable = true;
|
||||||
programs.dconf.enable = true;
|
programs.dconf.enable = true;
|
||||||
services = {
|
services = {
|
||||||
libinput.enable = true;
|
|
||||||
dbus.enable = true;
|
dbus.enable = true;
|
||||||
gvfs.enable = true;
|
gvfs.enable = true;
|
||||||
upower.enable = true;
|
upower.enable = true;
|
||||||
# power-profiles-daemon.enable = true;
|
power-profiles-daemon.enable = true;
|
||||||
udisks2.enable = true;
|
udisks2.enable = true;
|
||||||
devmon.enable = true;
|
devmon.enable = true;
|
||||||
journald.extraConfig = ''
|
|
||||||
SystemMaxUse=1G
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Faster rebuilding
|
# Faster rebuilding
|
||||||
@ -62,11 +59,10 @@ in {
|
|||||||
nix-tree
|
nix-tree
|
||||||
stevenblack-blocklist
|
stevenblack-blocklist
|
||||||
wlay
|
wlay
|
||||||
ldns
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# services.logind.settings.Login = ''
|
services.logind.extraConfig = ''
|
||||||
# # don’t shutdown when power button is short-pressed
|
# don’t shutdown when power button is short-pressed
|
||||||
# HandlePowerKey=ignore
|
HandlePowerKey=ignore
|
||||||
# '';
|
'';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,14 +1,7 @@
|
|||||||
{
|
{ pkgs, config, inputs, ... }: {
|
||||||
pkgs,
|
virtualisation.docker.enable = true;
|
||||||
config,
|
virtualisation.libvirtd.enable = true;
|
||||||
...
|
|
||||||
}: {
|
|
||||||
virtualisation = {
|
|
||||||
docker.enable = true;
|
|
||||||
docker.extraPackages = [pkgs.docker-buildx];
|
|
||||||
libvirtd.enable = true;
|
|
||||||
};
|
|
||||||
programs.virt-manager.enable = true;
|
programs.virt-manager.enable = true;
|
||||||
environment.systemPackages = with pkgs; [virtiofsd];
|
environment.systemPackages = with pkgs; [ virtiofsd ];
|
||||||
users.users."${config.var.username}".extraGroups = ["docker" "libvirtd"];
|
users.users."${config.var.username}".extraGroups = [ "docker" "libvirtd" ];
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,29 +1,10 @@
|
|||||||
{pkgs, ...}: {
|
{ pkgs, ... }: {
|
||||||
# xdg.portal = {
|
|
||||||
# enable = true;
|
|
||||||
# config.common.default = "*";
|
|
||||||
# wlr.enable = true;
|
|
||||||
# xdgOpenUsePortal = true;
|
|
||||||
# extraPortals = [ pkgs.xdg-desktop-portal pkgs.xdg-desktop-portal-gtk ];
|
|
||||||
# };
|
|
||||||
xdg.portal = {
|
xdg.portal = {
|
||||||
enable = true;
|
enable = true;
|
||||||
xdgOpenUsePortal = true;
|
config.common.default = "*";
|
||||||
wlr.enable = true;
|
wlr.enable = true;
|
||||||
config = {
|
xdgOpenUsePortal = true;
|
||||||
common = {
|
extraPortals =
|
||||||
default = [
|
[ pkgs.xdg-desktop-portal-hyprland pkgs.xdg-desktop-portal-gtk ];
|
||||||
"gtk"
|
|
||||||
"gnome"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
niri = {
|
|
||||||
default = [
|
|
||||||
"gtk"
|
|
||||||
"gnome"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
xdg.portal.extraPortals = [pkgs.xdg-desktop-portal-wlr pkgs.xdg-desktop-portal-gtk];
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -44,31 +44,27 @@
|
|||||||
name = "JetBrains Mono Nerd Font";
|
name = "JetBrains Mono Nerd Font";
|
||||||
};
|
};
|
||||||
sansSerif = {
|
sansSerif = {
|
||||||
package = pkgs.inter;
|
package = inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd;
|
||||||
name = "Inter Display";
|
name = "SFProDisplay Nerd Font";
|
||||||
};
|
};
|
||||||
serif = {
|
serif = {
|
||||||
package = pkgs.noto-fonts;
|
package = inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd;
|
||||||
name = "Noto Serif";
|
name = "SFProDisplay Nerd Font";
|
||||||
};
|
};
|
||||||
emoji = {
|
emoji = {
|
||||||
package = pkgs.noto-fonts-color-emoji;
|
package = pkgs.noto-fonts-emoji;
|
||||||
name = "Noto Color Emoji";
|
name = "Noto Color Emoji";
|
||||||
};
|
};
|
||||||
sizes = {
|
sizes = {
|
||||||
applications = 11;
|
applications = 11;
|
||||||
desktop = 10;
|
desktop = 12;
|
||||||
popups = 10;
|
popups = 12;
|
||||||
terminal = 10;
|
terminal = 11;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
polarity = "dark";
|
polarity = "dark";
|
||||||
image = pkgs.fetchurl {
|
image = inputs.nixy-wallpapers + "/wallpapers/dark.png";
|
||||||
url =
|
|
||||||
"https://www.pixelstalk.net/wp-content/uploads/images3/Cute_Owl_HD_Background.jpg";
|
|
||||||
hash = "sha256-pqeVSfJgR9e5mCln6c+WDojAXDRujUSl2n+TS3agWdw=";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -11,8 +11,8 @@
|
|||||||
|
|
||||||
bar = {
|
bar = {
|
||||||
position = "top"; # "top" | "bottom"
|
position = "top"; # "top" | "bottom"
|
||||||
transparent = false;
|
transparent = true;
|
||||||
transparentButtons = true;
|
transparentButtons = false;
|
||||||
floating = false;
|
floating = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user