This commit is contained in:
Ivan Kirilov Dimitrov 2024-07-05 16:40:04 +02:00
parent a29de4f7ca
commit 37f0d1df20
No known key found for this signature in database
GPG Key ID: 0BDAD4B211C49294
16 changed files with 190 additions and 954 deletions

View File

@ -1,680 +0,0 @@
{
"nodes": {
"catppuccin": {
"locked": {
"lastModified": 1719758387,
"narHash": "sha256-bMaI1jJNzIZar4TP/hhoPQROqqcbD6zT6O+sqIJdp8c=",
"owner": "catppuccin",
"repo": "nix",
"rev": "9eb0610d48dd0e1fecf772bbdacf9050d7b82d7c",
"type": "github"
},
"original": {
"owner": "catppuccin",
"repo": "nix",
"type": "github"
}
},
"devshell": {
"inputs": {
"flake-utils": "flake-utils_2",
"nixpkgs": [
"ide",
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1717408969,
"narHash": "sha256-Q0OEFqe35fZbbRPPRdrjTUUChKVhhWXz3T9ZSKmaoVY=",
"owner": "numtide",
"repo": "devshell",
"rev": "1ebbe68d57457c8cae98145410b164b5477761f4",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "devshell",
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_3": {
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"revCount": 57,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
}
},
"flake-compat_4": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
"ide",
"neovim-nightly-overlay",
"nixpkgs"
]
},
"locked": {
"lastModified": 1717285511,
"narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": [
"ide",
"neovim-nightly-overlay",
"hercules-ci-effects",
"nixpkgs"
]
},
"locked": {
"lastModified": 1712014858,
"narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "9126214d0a59633752a136528f5f3b9aa8565b7d",
"type": "github"
},
"original": {
"id": "flake-parts",
"type": "indirect"
}
},
"flake-parts_3": {
"inputs": {
"nixpkgs-lib": [
"ide",
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1717285511,
"narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": [
"ide",
"systems"
]
},
"locked": {
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1701680307,
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"git-hooks": {
"inputs": {
"flake-compat": "flake-compat_2",
"gitignore": "gitignore",
"nixpkgs": [
"ide",
"neovim-nightly-overlay",
"nixpkgs"
],
"nixpkgs-stable": [
"ide",
"neovim-nightly-overlay",
"nixpkgs"
]
},
"locked": {
"lastModified": 1718879355,
"narHash": "sha256-RTyqP4fBX2MdhNuMP+fnR3lIwbdtXhyj7w7fwtvgspc=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "8cd35b9496d21a6c55164d8547d9d5280162b07a",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"git-hooks_2": {
"inputs": {
"flake-compat": "flake-compat_4",
"gitignore": "gitignore_2",
"nixpkgs": [
"ide",
"nixvim",
"nixpkgs"
],
"nixpkgs-stable": [
"ide",
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1718879355,
"narHash": "sha256-RTyqP4fBX2MdhNuMP+fnR3lIwbdtXhyj7w7fwtvgspc=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "8cd35b9496d21a6c55164d8547d9d5280162b07a",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"ide",
"neovim-nightly-overlay",
"git-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"gitignore_2": {
"inputs": {
"nixpkgs": [
"ide",
"nixvim",
"git-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"hercules-ci-effects": {
"inputs": {
"flake-parts": "flake-parts_2",
"nixpkgs": [
"ide",
"neovim-nightly-overlay",
"nixpkgs"
]
},
"locked": {
"lastModified": 1718018037,
"narHash": "sha256-03rLBd/lKecgaKz0j5ESUf9lDn5R0SJatZTKLL5unWE=",
"owner": "hercules-ci",
"repo": "hercules-ci-effects",
"rev": "0ab08b23ce3c3f75fe9a5598756b6fb8bcf0b414",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "hercules-ci-effects",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1719827439,
"narHash": "sha256-tneHOIv1lEavZ0vQ+rgz67LPNCgOZVByYki3OkSshFU=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "59ce796b2563e19821361abbe2067c3bb4143a7d",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"home-manager_2": {
"inputs": {
"nixpkgs": [
"ide",
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1719037157,
"narHash": "sha256-aOKd8+mhBsLQChCu1mn/W5ww79ta5cXVE59aJFrifM8=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "cd886711998fe5d9ff7979fdd4b4cbd17b1f1511",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"hosts": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1719456570,
"narHash": "sha256-FS9+w+9QPBd6hCtX7C5x/xm4nGCA0lOtYgjefkQNbbg=",
"owner": "StevenBlack",
"repo": "hosts",
"rev": "0f8be09978187ba0e4eab2a9e0dcde88f358f1dc",
"type": "github"
},
"original": {
"owner": "StevenBlack",
"repo": "hosts",
"type": "github"
}
},
"ide": {
"inputs": {
"flake-utils": "flake-utils",
"neovim-nightly-overlay": "neovim-nightly-overlay",
"nixpkgs": [
"nixpkgs"
],
"nixvim": "nixvim",
"systems": "systems_2"
},
"locked": {
"lastModified": 1719498174,
"narHash": "sha256-TZHKHP2P8FmbzTnQ1CII8MN6L/yigMsSRok8ShVglOg=",
"owner": "ivandimitrov8080",
"repo": "flake-ide",
"rev": "953b69dde6f3798eeb36892540267bb338a4d241",
"type": "github"
},
"original": {
"owner": "ivandimitrov8080",
"repo": "flake-ide",
"type": "github"
}
},
"musnix": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1719810225,
"narHash": "sha256-/2loMwYYMrBYSOWjNJ253xlwYhnQZ+PVmyE7NDI/xJA=",
"owner": "musnix",
"repo": "musnix",
"rev": "2197ffe9fa4c2b62e33d656ee443b086dbb4f151",
"type": "github"
},
"original": {
"owner": "musnix",
"repo": "musnix",
"type": "github"
}
},
"neovim-nightly-overlay": {
"inputs": {
"flake-compat": "flake-compat",
"flake-parts": "flake-parts",
"git-hooks": "git-hooks",
"hercules-ci-effects": "hercules-ci-effects",
"neovim-src": "neovim-src",
"nixpkgs": [
"ide",
"nixpkgs"
]
},
"locked": {
"lastModified": 1719211247,
"narHash": "sha256-GaEckCf2RaHzoEDj/j07BIV6eyDOT5wCFVSdbbkZ87U=",
"owner": "nix-community",
"repo": "neovim-nightly-overlay",
"rev": "820da0e6b6127df9ad05ef3af40d767577e21ba1",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "neovim-nightly-overlay",
"type": "github"
}
},
"neovim-src": {
"flake": false,
"locked": {
"lastModified": 1719138008,
"narHash": "sha256-+rM0RjvuW6/vzxdJxEU6KvQEF159NXrgB+irtS044Cc=",
"owner": "neovim",
"repo": "neovim",
"rev": "be999e6a0e5b251b2b37500d06636d4167334c6e",
"type": "github"
},
"original": {
"owner": "neovim",
"repo": "neovim",
"type": "github"
}
},
"nid": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1719832725,
"narHash": "sha256-dr8DkeS74KVNTgi8BE0BiUKALb+EKlMIV86G2xPYO64=",
"owner": "nix-community",
"repo": "nix-index-database",
"rev": "2917972ed34ce292309b3a4976286f8b5c08db27",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nix-index-database",
"type": "github"
}
},
"nix-darwin": {
"inputs": {
"nixpkgs": [
"ide",
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1719128254,
"narHash": "sha256-I7jMpq0CAOZA/i70+HDQO/ulLttyQu/K70cSESiMX7A=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "50581970f37f06a4719001735828519925ef8310",
"type": "github"
},
"original": {
"owner": "lnl7",
"repo": "nix-darwin",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1719690277,
"narHash": "sha256-0xSej1g7eP2kaUF+JQp8jdyNmpmCJKRpO12mKl/36Kc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "2741b4b489b55df32afac57bc4bfd220e8bf617e",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixvim": {
"inputs": {
"devshell": "devshell",
"flake-compat": "flake-compat_3",
"flake-parts": "flake-parts_3",
"git-hooks": "git-hooks_2",
"home-manager": "home-manager_2",
"nix-darwin": "nix-darwin",
"nixpkgs": [
"ide",
"nixpkgs"
],
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1719228487,
"narHash": "sha256-eJUcZAjOcGAoh97ZRsy+ls8IkHPMpDuh0IpRKSmoWs4=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "66c8592b31845cb0a1335ecc31ea40e89bed1a38",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixvim",
"type": "github"
}
},
"parts": {
"inputs": {
"nixpkgs-lib": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1719745305,
"narHash": "sha256-xwgjVUpqSviudEkpQnioeez1Uo2wzrsMaJKJClh+Bls=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "c3c5ecc05edc7dafba779c6c1a61cd08ac6583e9",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"root": {
"inputs": {
"catppuccin": "catppuccin",
"home-manager": "home-manager",
"hosts": "hosts",
"ide": "ide",
"musnix": "musnix",
"nid": "nid",
"nixpkgs": "nixpkgs",
"parts": "parts",
"sal": "sal"
}
},
"sal": {
"inputs": {
"ide": [
"ide"
],
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1718993075,
"narHash": "sha256-1U+4ghAeWCaqV6qNg1+oCI3IVSWK4MYvGp5rxTdAGlY=",
"owner": "ivandimitrov8080",
"repo": "sal",
"rev": "ce5fd60c7b072b96506911caccadba2e379ecd65",
"type": "github"
},
"original": {
"owner": "ivandimitrov8080",
"repo": "sal",
"type": "github"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1680978846,
"narHash": "sha256-Gtqg8b/v49BFDpDetjclCYXm8mAnTrUzR0JnE2nv5aw=",
"owner": "nix-systems",
"repo": "x86_64-linux",
"rev": "2ecfcac5e15790ba6ce360ceccddb15ad16d08a8",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "x86_64-linux",
"type": "github"
}
},
"treefmt-nix": {
"inputs": {
"nixpkgs": [
"ide",
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1718522839,
"narHash": "sha256-ULzoKzEaBOiLRtjeY3YoGFJMwWSKRYOic6VNw2UyTls=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "68eb1dc333ce82d0ab0c0357363ea17c31ea1f81",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

View File

@ -15,7 +15,7 @@ toplevel@{ inputs, withSystem, config, ... }:
inputs.catppuccin.homeManagerModules.catppuccin
mods.all
mods.dev
mods.essential
mods.base
mods.random
mods.reminders
];

View File

@ -10,17 +10,136 @@
fswatch
nvim
];
programs = {
git = {
enable = true;
delta.enable = true;
userName = pkgs.lib.mkDefault "Ivan Kirilov Dimitrov";
userEmail = pkgs.lib.mkDefault "ivan@idimitrov.dev";
signing = {
signByDefault = true;
key = "ivan@idimitrov.dev";
};
extraConfig = {
color.ui = "auto";
pull.rebase = true;
push.autoSetupRemote = true;
};
aliases = {
a = "add .";
c = "commit";
d = "diff --cached";
p = "push";
};
};
};
services.pueue.enable = true;
}
);
essential = moduleWithSystem (
shell = moduleWithSystem (
top@{ ... }:
perSystem@{ pkgs, ... }: {
programs = {
zsh = {
enable = true;
dotDir = ".config/zsh";
defaultKeymap = "viins";
enableVteIntegration = true;
syntaxHighlighting.enable = true;
autosuggestion.enable = true;
loginExtra = ''
[ "$(tty)" = "/dev/tty1" ] && exec sway
'';
sessionVariables = {
TERM = "screen-256color";
};
shellAliases = {
cal = "cal $(date +%Y)";
GG = "git add . && git commit -m 'GG' && git push --set-upstream origin HEAD";
gad = "git add . && git diff --cached";
gac = "ga && gc";
gach = "gac -C HEAD";
ga = "git add .";
gc = "git commit";
dev = "nix develop --command $SHELL";
ls = "${pkgs.nushell}/bin/nu -c 'ls'";
la = "${pkgs.nushell}/bin/nu -c 'ls -al'";
torrent = "transmission-remote";
vi = "nvim";
sc = "systemctl";
};
shellGlobalAliases.comp = "-vcodec libx265 -crf 28";
history.expireDuplicatesFirst = true;
historySubstringSearch.enable = true;
};
tmux = {
enable = true;
clock24 = true;
baseIndex = 1;
escapeTime = 0;
keyMode = "vi";
shell = "\${SHELL}";
terminal = "screen-256color";
plugins = with pkgs.tmuxPlugins; [ tilish catppuccin ];
extraConfig = ''
set-option -a terminal-features 'screen-256color:RGB'
'';
};
nushell = {
enable = true;
environmentVariables = {
config = ''
{
show_banner: false,
completions: {
quick: false
partial: false
algorithm: "prefix"
}
}
'';
PATH = "($env.PATH | split row (char esep) | append ($env.HOME | path join .local bin))";
};
shellAliases = {
gcal = ''
bash -c "cal $(date +%Y)"
'';
la = "ls -al";
dev = "nix develop --command $env.SHELL";
torrent = "transmission-remote";
vi = "nvim";
sc = "systemctl";
neofetch = "${pkgs.fastfetch}/bin/fastfetch -c all.jsonc";
};
loginFile.text = ''
if (tty) == "/dev/tty1" {
sway
}
'';
};
starship = {
enable = true;
enableNushellIntegration = true;
enableZshIntegration = true;
enableBashIntegration = true;
};
};
services.pueue.enable = true;
}
);
base = moduleWithSystem (
top@{ ... }:
perSystem@{ pkgs, ... }: {
programs.home-manager.enable = true;
home.packages = with pkgs; [
gopass
ffmpeg
transmission_4
speedtest-cli
];
bat = {
enable = true;
};
}
);
random = moduleWithSystem (
@ -34,17 +153,80 @@
];
}
);
sway = moduleWithSystem (
top@{ ... }:
perSystem@{ pkgs, ... }: {
wayland.windowManager.sway = {
enable = true;
catppuccin.enable = true;
systemd.enable = true;
config = rec {
menu = "rofi -show run";
terminal = "kitty";
modifier = "Mod4";
startup = [
{ command = "swaymsg 'workspace 1; exec kitty'"; }
{ command = "swaymsg 'workspace 2; exec firefox'"; }
];
bars = [ ];
window.titlebar = false;
keybindings = pkgs.lib.mkOptionDefault {
# Audio
"XF86AudioMicMute" = "exec ${pkgs.pulseaudio}/bin/pactl set-source-mute @DEFAULT_SOURCE@ toggle";
"XF86AudioRaiseVolume" = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ +5%";
"XF86AudioLowerVolume" = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ -5%";
"Alt+XF86AudioRaiseVolume" = "exec ${pkgs.pulseaudio}/bin/pactl set-source-volume @DEFAULT_SOURCE@ +5%";
"Alt+XF86AudioLowerVolume" = "exec ${pkgs.pulseaudio}/bin/pactl set-source-volume @DEFAULT_SOURCE@ -5%";
"XF86AudioMute" = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-mute @DEFAULT_SINK@ toggle";
# Display
"Alt+Shift+l" = "exec ${pkgs.swaylock}/bin/swaylock"; # Lock screen
"XF86ScreenSaver" = "output 'eDP-1' toggle"; # Turn screen off
"XF86MonBrightnessUp" = "exec doas ${pkgs.light}/bin/light -A 10";
"XF86MonBrightnessDown" = "exec doas ${pkgs.light}/bin/light -U 10";
# Programs
"${modifier}+p" = "exec ${menu}";
"${modifier}+Shift+a" = "exec screenshot area";
"${modifier}+Shift+s" = "exec screenshot";
"${modifier}+c" = "exec ${pkgs.sal}/bin/sal";
"End" = "exec rofi -show calc";
# sway commands
"${modifier}+Shift+r" = "reload";
"${modifier}+Shift+c" = "kill";
"${modifier}+Shift+q" = "exit";
};
input = {
"*" = {
xkb_layout = "us,bg";
xkb_options = "grp:win_space_toggle";
xkb_variant = ",phonetic";
};
};
};
swaynag = {
enable = true;
};
};
home.packages = with pkgs; [
audacity
gimp
grim
libnotify
libreoffice-qt
mupdf
slurp
wl-clipboard
xdg-user-dirs
xdg-utils
xwayland
];
}
);
all = moduleWithSystem
(
top@{ ... }:
perSystem@{ pkgs, ... }:
rec {
imports = [ ../programs ];
programs.home-manager.enable = true;
catppuccin = {
enable = true;
flavor = "mocha";
};
gtk = {
enable = true;

View File

@ -1,6 +0,0 @@
{
programs.bat = {
enable = true;
catppuccin.enable = true;
};
}

View File

@ -1,30 +1,5 @@
{ ... }: {
imports = [
./bat
./bottom
./carapace
./chromium
./cliphist
./comma
./firefox
./git
./gpg
./imv
./mako
./kitty
./lf
./mpv
./nushell
./obs-studio
./pueue
./rofi
./starship
./sway
./swaylock
./tealdeer
./tmux
./waybar
./zsh
];
programs.browserpass.enable = true;
}

View File

@ -1,23 +0,0 @@
{
programs.git = {
enable = true;
delta.enable = true;
userName = "Ivan Kirilov Dimitrov";
userEmail = "ivan@idimitrov.dev";
signing = {
signByDefault = true;
key = "ivan@idimitrov.dev";
};
extraConfig = {
color.ui = "auto";
pull.rebase = true;
push.autoSetupRemote = true;
};
aliases = {
a = "add .";
c = "commit";
d = "diff --cached";
p = "push";
};
};
}

View File

@ -1,12 +0,0 @@
{
programs.lf = {
enable = true;
extraConfig = builtins.readFile ./lfrc;
keybindings = {
D = "trash";
T = "touch";
M = "mkdir";
R = "mv";
};
};
}

View File

@ -1,39 +0,0 @@
# Basic Settings
set hidden true
set ignorecase true
set icons true
# Custom Functions
cmd trash ${{
files=$(printf "$fx" | tr '\n' ';')
while [ "$files" ]; do
file=${files%%;*}
rm -rf "$(basename "$file")"
if [ "$files" = "$file" ]; then
files=''
else
files="${files#*;}"
fi
done
}}
cmd mkdir ${{
printf "Directory Name: "
read ans
mkdir "$ans"
}}
cmd touch ${{
printf "File Name: "
read ans
touch "$ans"
}}
cmd mv ${{
printf "Move to: "
read ans
mv "$f" "$ans"
}}

View File

@ -1,34 +0,0 @@
{ pkgs, ... }: {
programs.nushell = {
enable = true;
environmentVariables = {
config = ''
{
show_banner: false,
completions: {
quick: false
partial: false
algorithm: "prefix"
}
}
'';
PATH = "($env.PATH | split row (char esep) | append ($env.HOME | path join .local bin))";
};
shellAliases = {
gcal = ''
bash -c "cal $(date +%Y)"
'';
la = "ls -al";
dev = "nix develop --command $env.SHELL";
torrent = "transmission-remote";
vi = "nvim";
sc = "systemctl";
neofetch = "${pkgs.fastfetch}/bin/fastfetch -c all.jsonc";
};
loginFile.text = ''
if (tty) == "/dev/tty1" {
sway
}
'';
};
}

View File

@ -1,5 +0,0 @@
{
services.pueue = {
enable = true;
};
}

View File

@ -1,8 +0,0 @@
{
programs.starship = {
enable = true;
catppuccin.enable = true;
enableNushellIntegration = true;
enableZshIntegration = true;
};
}

View File

@ -1,65 +1 @@
{ pkgs, ... }: {
wayland.windowManager.sway = {
enable = true;
catppuccin.enable = true;
systemd.enable = true;
config = rec {
menu = "rofi -show run";
terminal = "kitty";
modifier = "Mod4";
startup = [
{ command = "swaymsg 'workspace 1; exec kitty'"; }
{ command = "swaymsg 'workspace 2; exec firefox'"; }
];
bars = [ ];
window.titlebar = false;
keybindings = pkgs.lib.mkOptionDefault {
# Audio
"XF86AudioMicMute" = "exec ${pkgs.pulseaudio}/bin/pactl set-source-mute @DEFAULT_SOURCE@ toggle";
"XF86AudioRaiseVolume" = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ +5%";
"XF86AudioLowerVolume" = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ -5%";
"Alt+XF86AudioRaiseVolume" = "exec ${pkgs.pulseaudio}/bin/pactl set-source-volume @DEFAULT_SOURCE@ +5%";
"Alt+XF86AudioLowerVolume" = "exec ${pkgs.pulseaudio}/bin/pactl set-source-volume @DEFAULT_SOURCE@ -5%";
"XF86AudioMute" = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-mute @DEFAULT_SINK@ toggle";
# Display
"Alt+Shift+l" = "exec ${pkgs.swaylock}/bin/swaylock"; # Lock screen
"XF86ScreenSaver" = "output 'eDP-1' toggle"; # Turn screen off
"XF86MonBrightnessUp" = "exec doas ${pkgs.light}/bin/light -A 10";
"XF86MonBrightnessDown" = "exec doas ${pkgs.light}/bin/light -U 10";
# Programs
"${modifier}+p" = "exec ${menu}";
"${modifier}+Shift+a" = "exec screenshot area";
"${modifier}+Shift+s" = "exec screenshot";
"${modifier}+c" = "exec ${pkgs.sal}/bin/sal";
"End" = "exec rofi -show calc";
# sway commands
"${modifier}+Shift+r" = "reload";
"${modifier}+Shift+c" = "kill";
"${modifier}+Shift+q" = "exit";
};
input = {
"*" = {
xkb_layout = "us,bg";
xkb_options = "grp:win_space_toggle";
xkb_variant = ",phonetic";
};
};
};
swaynag = {
enable = true;
};
};
home.packages = with pkgs; [
audacity
gimp
grim
libnotify
libreoffice-qt
mupdf
slurp
wl-clipboard
xdg-user-dirs
xdg-utils
xwayland
];
}
{ pkgs, ... }: { }

View File

@ -1,15 +0,0 @@
{ pkgs, ... }: {
programs.tmux = {
enable = true;
clock24 = true;
baseIndex = 1;
escapeTime = 0;
keyMode = "vi";
shell = "\${SHELL}";
terminal = "screen-256color";
plugins = with pkgs.tmuxPlugins; [ tilish catppuccin ];
extraConfig = ''
set-option -a terminal-features 'screen-256color:RGB'
'';
};
}

View File

@ -1,35 +0,0 @@
{ pkgs, ... }:
{
programs.zsh = {
enable = true;
dotDir = ".config/zsh";
defaultKeymap = "viins";
enableVteIntegration = true;
syntaxHighlighting.enable = true;
autosuggestion.enable = true;
loginExtra = ''
[ "$(tty)" = "/dev/tty1" ] && exec sway
'';
sessionVariables = {
TERM = "screen-256color";
};
shellAliases = {
cal = "cal $(date +%Y)";
GG = "git add . && git commit -m 'GG' && git push --set-upstream origin HEAD";
gad = "git add . && git diff --cached";
gac = "ga && gc";
gach = "gac -C HEAD";
ga = "git add .";
gc = "git commit";
dev = "nix develop --command $SHELL";
ls = "${pkgs.nushell}/bin/nu -c 'ls'";
la = "${pkgs.nushell}/bin/nu -c 'ls -al'";
torrent = "transmission-remote";
vi = "nvim";
sc = "systemctl";
};
shellGlobalAliases.comp = "-vcodec libx265 -crf 28";
history.expireDuplicatesFirst = true;
historySubstringSearch.enable = true;
};
}

BIN
main

Binary file not shown.

BIN
main.keys

Binary file not shown.