diff --git a/flake.lock b/flake.lock
new file mode 100644
index 0000000..dcb1887
--- /dev/null
+++ b/flake.lock
@@ -0,0 +1,659 @@
+{
+ "nodes": {
+ "catppuccin": {
+ "locked": {
+ "lastModified": 1719915848,
+ "narHash": "sha256-zq+CMkdT8A9z74HonwspXp8HsX4OvP4uaVdD98AO6as=",
+ "owner": "catppuccin",
+ "repo": "nix",
+ "rev": "9345073d27d91ab66c1b6ab65df322906992aa59",
+ "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": 1720167120,
+ "narHash": "sha256-K9JYdlPiyaXp33JRg7CT8rMwH56e4ncXSsXW/YKnNXc=",
+ "owner": "nix-community",
+ "repo": "home-manager",
+ "rev": "bbe6e94737289c8cb92d4d8f9199fbfe4f11c0ba",
+ "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": 1720105772,
+ "narHash": "sha256-tahf6mdtmZofwMZfMsuDAqCR/V1qZt6vV+o6t4YTKG0=",
+ "owner": "StevenBlack",
+ "repo": "hosts",
+ "rev": "bfefd08fd5dfbc175e82e5c339b0f4ab124c500e",
+ "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": 1720081265,
+ "narHash": "sha256-MQjLb0AhXlJM5icYj9KJ+FYV/dDGiGKvPQIGcDuceiM=",
+ "owner": "ivandimitrov8080",
+ "repo": "flake-ide",
+ "rev": "ede87ccb5225e562efb1be4c68b645c3b2c7dca6",
+ "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"
+ }
+ },
+ "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": 1720031269,
+ "narHash": "sha256-rwz8NJZV+387rnWpTYcXaRNvzUSnnF9aHONoJIYmiUQ=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6",
+ "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": 1719994518,
+ "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=",
+ "owner": "hercules-ci",
+ "repo": "flake-parts",
+ "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7",
+ "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",
+ "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
+}
diff --git a/home/modules/packages/default.nix b/home/modules/packages/default.nix
index 9355916..82f2882 100644
--- a/home/modules/packages/default.nix
+++ b/home/modules/packages/default.nix
@@ -2,39 +2,7 @@
flake.homeManagerModules = {
dev = moduleWithSystem (
top@{ ... }:
- perSystem@{ pkgs, ... }: {
- home.packages = with pkgs; [
- openssh
- procs
- ripgrep
- 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;
- }
+ perSystem@{ pkgs, ... }: { }
);
shell = moduleWithSystem (
top@{ ... }:
@@ -143,6 +111,38 @@
PASSWORD_STORE_DIR = "${config.home.homeDirectory}/.password-store";
};
};
+ 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";
+ };
+ };
+ gpg.enable = true;
+ };
+ services = {
+ pueue.enable = true;
+ gpg-agent = {
+ enable = true;
+ enableBashIntegration = true;
+ enableZshIntegration = true;
+ enableNushellIntegration = true;
+ pinentryPackage = pkgs.pinentry-qt;
+ };
};
home = {
username = "ivand";
@@ -162,6 +162,7 @@
packages = with pkgs; [
transmission_4
speedtest-cli
+ nvim
];
};
bat.enable = true;
@@ -192,23 +193,42 @@
};
}
);
- random = moduleWithSystem (
+ util = moduleWithSystem (
top@{ ... }:
- perSystem@{ pkgs, ... }: {
- home.packages = with pkgs; [
- xonotic
- tor-browser
- electrum
- bisq-desktop
- ];
+ perSystem@{ ... }: {
+ tealdeer = {
+ enable = true;
+ settings = {
+ display = {
+ compact = true;
+ };
+ updates = {
+ auto_update = true;
+ };
+ };
+ };
+ bottom = {
+ enable = true;
+ catppuccin.enable = true;
+ settings = {
+ flags = {
+ rate = "250ms";
+ };
+ row = [
+ { ratio = 40; child = [{ type = "cpu"; } { type = "mem"; } { type = "net"; }]; }
+ { ratio = 35; child = [{ type = "temp"; } { type = "disk"; }]; }
+ { ratio = 40; child = [{ type = "proc"; default = true; }]; }
+ ];
+ };
+ };
}
);
+
swayland = moduleWithSystem (
- top@{ ... }:
+ top@{ config, ... }:
perSystem@{ pkgs, ... }: {
wayland.windowManager.sway = {
enable = true;
- catppuccin.enable = true;
systemd.enable = true;
config = rec {
menu = "rofi -show run";
@@ -256,195 +276,216 @@
enable = true;
};
};
- waybar = {
- enable = true;
- catppuccin.enable = true;
- settings = {
- mainBar =
- let
- in
- {
- layer = "top";
- position = "top";
- height = 30;
- output = [
- "eDP-1"
- "HDMI-A-1"
- ];
- modules-left = [ "sway/workspaces" ];
- modules-center = [ "clock#week" "clock#year" "clock#time" ];
- modules-right = [ "network" "pulseaudio" "memory" "cpu" "battery" ];
-
- "clock#time" = {
- format = "{:%H:%M:%S}";
- interval = 1;
- };
-
- "clock#week" = {
- format = "{:%a}";
- };
-
- "clock#year" = {
- format = "{:%Y-%m-%d}";
- };
-
- battery = {
- format = "{icon} {capacity}% {time}";
- format-time = " {H} h {M} m";
- format-icons = [ "" "" "" "" "" ];
- states = {
- warning = 30;
- critical = 15;
- };
- };
-
- cpu = {
- format = " {usage}%";
- };
-
- memory = {
- format = " {percentage}%";
- interval = 5;
- };
-
- pulseaudio = {
- format = "{icon} {volume}% | {format_source}";
- format-muted = " {volume}% | {format_source}";
- format-source = "{volume}% ";
- format-source-muted = "{volume}% ";
- format-icons = {
- headphone = "";
- default = [ "" "" "" ];
- };
- };
-
- network = {
- format-ethernet = " | {bandwidthUpBytes} {bandwidthDownBytes}";
- format-wifi = "{icon} | {bandwidthUpBytes} {bandwidthDownBytes}";
- format-disconnected = " no connection";
- format-icons = [ "" "" "" "" ];
- interval = 5;
- };
-
- "sway/workspaces" = {
- disable-scroll = true;
- all-outputs = true;
- };
- };
- };
- systemd = {
- enable = true;
- target = "sway-session.target";
- };
- style = /* CSS */ ''
- * {
- font-family: FontAwesome, 'Fira Code';
- font-size: 13px;
- }
-
- window#waybar {
- background-color: rgba(43, 48, 59, 0.1);
- border-bottom: 2px solid rgba(100, 114, 125, 0.5);
- color: @rosewater;
- }
-
- #workspaces button {
- padding: 0 5px;
- background-color: @base;
- color: @text;
- border-radius: 6px;
- }
-
- #workspaces button:hover {
- background: @mantle;
- }
-
- #workspaces button.focused {
- background-color: @crust;
- box-shadow: inset 0 -2px @sky;
- }
-
- #workspaces button.urgent {
- background-color: @red;
- }
-
- #clock,
- #battery,
- #cpu,
- #memory,
- #disk,
- #temperature,
- #backlight,
- #network,
- #pulseaudio,
- #wireplumber,
- #custom-media,
- #tray,
- #mode,
- #idle_inhibitor,
- #scratchpad,
- #power-profiles-daemon,
- #mpd {
- padding: 0 10px;
- color: @text;
- background-color: @base;
- margin: 0 .5em;
- border-radius: 9999px;
- }
-
- #clock.week {
- margin-right: 0px;
- color: @peach;
- border-radius: 9999px 0px 0px 9999px;
- }
-
- #clock.year {
- margin: 0px;
- padding: 0px;
- color: @pink;
- border-radius: 0px;
- }
-
- #clock.time {
- margin-left: 0px;
- color: @sky;
- border-radius: 0px 9999px 9999px 0px;
- }
-
- #battery.charging, #battery.plugged {
- color: @green;
- }
-
- #battery.discharging {
- color: @yellow;
- }
-
- @keyframes blink {
- to {
- background-color: #ffffff;
- color: #000000;
- }
- }
-
- #battery.warning:not(.charging) {
- background-color: @red;
- }
-
- /* Using steps() instead of linear as a timing function to limit cpu usage */
- #battery.critical:not(.charging) {
- background-color: @red;
- animation-name: blink;
- animation-duration: 0.5s;
- animation-timing-function: steps(12);
- animation-iteration-count: infinite;
- animation-direction: alternate;
- }
- '';
- };
programs = {
+ waybar = {
+ enable = true;
+ settings = {
+ mainBar =
+ let
+ in
+ {
+ layer = "top";
+ position = "top";
+ height = 30;
+ output = [
+ "eDP-1"
+ "HDMI-A-1"
+ ];
+ modules-left = [ "sway/workspaces" ];
+ modules-center = [ "clock#week" "clock#year" "clock#time" ];
+ modules-right = [ "network" "pulseaudio" "memory" "cpu" "battery" ];
+
+ "clock#time" = {
+ format = "{:%H:%M:%S}";
+ interval = 1;
+ };
+
+ "clock#week" = {
+ format = "{:%a}";
+ };
+
+ "clock#year" = {
+ format = "{:%Y-%m-%d}";
+ };
+
+ battery = {
+ format = "{icon} {capacity}% {time}";
+ format-time = " {H} h {M} m";
+ format-icons = [ "" "" "" "" "" ];
+ states = {
+ warning = 30;
+ critical = 15;
+ };
+ };
+
+ cpu = {
+ format = " {usage}%";
+ };
+
+ memory = {
+ format = " {percentage}%";
+ interval = 5;
+ };
+
+ pulseaudio = {
+ format = "{icon} {volume}% | {format_source}";
+ format-muted = " {volume}% | {format_source}";
+ format-source = "{volume}% ";
+ format-source-muted = "{volume}% ";
+ format-icons = {
+ headphone = "";
+ default = [ "" "" "" ];
+ };
+ };
+
+ network = {
+ format-ethernet = " | {bandwidthUpBytes} {bandwidthDownBytes}";
+ format-wifi = "{icon} | {bandwidthUpBytes} {bandwidthDownBytes}";
+ format-disconnected = " no connection";
+ format-icons = [ "" "" "" "" ];
+ interval = 5;
+ };
+
+ "sway/workspaces" = {
+ disable-scroll = true;
+ all-outputs = true;
+ };
+ };
+ };
+ systemd = {
+ enable = true;
+ target = "sway-session.target";
+ };
+ style = /* CSS */ ''
+ * {
+ font-family: FontAwesome, 'Fira Code';
+ font-size: 13px;
+ }
+
+ window#waybar {
+ background-color: rgba(43, 48, 59, 0.1);
+ border-bottom: 2px solid rgba(100, 114, 125, 0.5);
+ color: @rosewater;
+ }
+
+ #workspaces button {
+ padding: 0 5px;
+ background-color: @base;
+ color: @text;
+ border-radius: 6px;
+ }
+
+ #workspaces button:hover {
+ background: @mantle;
+ }
+
+ #workspaces button.focused {
+ background-color: @crust;
+ box-shadow: inset 0 -2px @sky;
+ }
+
+ #workspaces button.urgent {
+ background-color: @red;
+ }
+
+ #clock,
+ #battery,
+ #cpu,
+ #memory,
+ #disk,
+ #temperature,
+ #backlight,
+ #network,
+ #pulseaudio,
+ #wireplumber,
+ #custom-media,
+ #tray,
+ #mode,
+ #idle_inhibitor,
+ #scratchpad,
+ #power-profiles-daemon,
+ #mpd {
+ padding: 0 10px;
+ color: @text;
+ background-color: @base;
+ margin: 0 .5em;
+ border-radius: 9999px;
+ }
+
+ #clock.week {
+ margin-right: 0px;
+ color: @peach;
+ border-radius: 9999px 0px 0px 9999px;
+ }
+
+ #clock.year {
+ margin: 0px;
+ padding: 0px;
+ color: @pink;
+ border-radius: 0px;
+ }
+
+ #clock.time {
+ margin-left: 0px;
+ color: @sky;
+ border-radius: 0px 9999px 9999px 0px;
+ }
+
+ #battery.charging, #battery.plugged {
+ color: @green;
+ }
+
+ #battery.discharging {
+ color: @yellow;
+ }
+
+ @keyframes blink {
+ to {
+ background-color: #ffffff;
+ color: #000000;
+ }
+ }
+
+ #battery.warning:not(.charging) {
+ background-color: @red;
+ }
+
+ /* Using steps() instead of linear as a timing function to limit cpu usage */
+ #battery.critical:not(.charging) {
+ background-color: @red;
+ animation-name: blink;
+ animation-duration: 0.5s;
+ animation-timing-function: steps(12);
+ animation-iteration-count: infinite;
+ animation-direction: alternate;
+ }
+ '';
+ };
+ swaylock = {
+ enable = true;
+ settings = {
+ show-failed-attempts = true;
+ image = config.home.homeDirectory + "/pic/bg.png";
+ };
+ };
+ rofi = {
+ enable = true;
+ package = pkgs.rofi-wayland.override {
+ plugins = with pkgs; [
+ (
+ rofi-calc.override
+ {
+ rofi-unwrapped = rofi-wayland-unwrapped;
+ }
+ )
+ ];
+ };
+ extraConfig = {
+ modi = "window,drun,run,ssh,calc";
+ };
+ };
kitty = {
enable = true;
- catppuccin.enable = true;
font = {
package = pkgs.fira-code;
name = "FiraCodeNFM-Reg";
@@ -456,6 +497,7 @@
};
};
imv.enable = true;
+ mpv.enable = true;
bash.profileExtra = ''
[ "$(tty)" = "/dev/tty1" ] && exec sway
'';
@@ -470,6 +512,34 @@
};
services = {
mako.enable = true;
+ cliphist = {
+ enable = true;
+ systemdTarget = "sway-session.target";
+ };
+ };
+ systemd.user = {
+ timers = { rbingwp = { Timer = { OnCalendar = "*-*-* 10:00:00"; Persistent = true; }; Install = { WantedBy = [ "timers.target" ]; }; }; };
+ services = {
+ wpd = {
+ Service = {
+ Environment = [
+ "PATH=${pkgs.xdg-user-dirs}/bin:${pkgs.swaybg}/bin"
+ ];
+ ExecStart = [ "${pkgs.nushell}/bin/nu -c 'swaybg -i ((xdg-user-dir PICTURES) | path split | path join bg.png)'" ];
+ };
+ };
+ bingwp = {
+ Service = { Type = "oneshot"; Environment = [ "PATH=${pkgs.xdg-user-dirs}/bin:${pkgs.nushell}/bin" ]; ExecStart = [ "${pkgs.scripts}/bin/bingwp" ]; };
+ };
+ rbingwp = {
+ Install = { WantedBy = [ "sway-session.target" ]; };
+ Unit = { Description = "Restart bingwp and wpd services"; After = "graphical-session-pre.target"; PartOf = "graphical-session.target"; };
+ Service = {
+ Type = "oneshot";
+ ExecStart = [ "${pkgs.nushell}/bin/nu -c '${pkgs.systemd}/bin/systemctl --user restart bingwp.service; ${pkgs.systemd}/bin/systemctl --user restart wpd.service'" ];
+ };
+ };
+ };
};
home.packages = with pkgs; [
audacity
@@ -486,105 +556,5 @@
];
}
);
- all = moduleWithSystem
- (
- top@{ ... }:
- perSystem@{ pkgs, ... }:
- rec {
- imports = [ ../programs ];
-
- gtk = {
- enable = true;
- };
-
-
- systemd.user = {
- timers = {
- rbingwp = {
- Timer = {
- OnCalendar = "*-*-* 10:00:00";
- Persistent = true;
- };
- Install = {
- WantedBy = [ "timers.target" ];
- };
- };
- };
- services = {
- wpd = {
- Service = {
- Environment = [
- "PATH=${pkgs.xdg-user-dirs}/bin:${pkgs.swaybg}/bin"
- ];
- ExecStart = [ "${pkgs.nushell}/bin/nu -c 'swaybg -i ((xdg-user-dir PICTURES) | path split | path join bg.png)'" ];
- };
- };
- bingwp = {
- Service = {
- Type = "oneshot";
- Environment = [
- "PATH=${pkgs.xdg-user-dirs}/bin:${pkgs.nushell}/bin"
- ];
- ExecStart = [ "${pkgs.scripts}/bin/bingwp" ];
- };
- };
- rbingwp = {
- Install = {
- WantedBy = [ "sway-session.target" ];
- };
- Unit = {
- Description = "Restart bingwp and wpd services";
- After = "graphical-session-pre.target";
- PartOf = "graphical-session.target";
- };
- Service = {
- Type = "oneshot";
- ExecStart = [ "${pkgs.nushell}/bin/nu -c '${pkgs.systemd}/bin/systemctl --user restart bingwp.service; ${pkgs.systemd}/bin/systemctl --user restart wpd.service'" ];
- };
- };
- };
- };
-
- }
- );
- reminders =
- moduleWithSystem (
- top@{ ... }:
- perSystem@{ pkgs, ... }: {
- systemd.user = {
- timers = {
- track-time = {
- Timer = {
- OnCalendar = "Mon..Fri *-*-* 16:00:*";
- Persistent = true;
- };
- Install = {
- WantedBy = [ "timers.target" ];
- };
- };
- };
- services = {
- track-time = {
- Service = {
- Type = "oneshot";
- ExecStart = [ "${pkgs.libnotify}/bin/notify-send -u critical 'Reminder: Track time'" ];
- };
- };
- };
- };
- }
- );
- cust = moduleWithSystem (
- top@{ ... }:
- perSystem@{ pkgs, ... }: {
- imports = [ ../programs/zsh ../programs/nushell ../programs/starship ../programs/carapace ../programs/bottom ../programs/firefox ];
- home.packages = with pkgs; [
- openssh
- procs
- ripgrep
- fswatch
- ];
- }
- );
};
}
diff --git a/home/modules/programs/bottom/default.nix b/home/modules/programs/bottom/default.nix
deleted file mode 100644
index 7bdab0b..0000000
--- a/home/modules/programs/bottom/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- programs.bottom = {
- enable = true;
- catppuccin.enable = true;
- settings = {
- flags = {
- rate = "250ms";
- };
- row = [
- {
- ratio = 40;
- child = [
- { type = "cpu"; }
- { type = "mem"; }
- { type = "net"; }
- ];
- }
- {
- ratio = 35;
- child = [
- { type = "temp"; }
- { type = "disk"; }
- ];
- }
- {
- ratio = 40;
- child = [
- { type = "proc"; default = true; }
- ];
- }
- ];
- };
- };
-}
diff --git a/home/modules/programs/cliphist/default.nix b/home/modules/programs/cliphist/default.nix
deleted file mode 100644
index aece32f..0000000
--- a/home/modules/programs/cliphist/default.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- services.cliphist = {
- enable = true;
- systemdTarget = "sway-session.target";
- };
-}
diff --git a/home/modules/programs/gpg/default.nix b/home/modules/programs/gpg/default.nix
deleted file mode 100644
index 63634c0..0000000
--- a/home/modules/programs/gpg/default.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ pkgs, ... }: {
- programs.gpg = {
- enable = true;
- };
- services.gpg-agent = {
- enable = true;
- enableZshIntegration = true;
- enableNushellIntegration = true;
- pinentryPackage = pkgs.pinentry-qt;
- };
-}
diff --git a/home/modules/programs/mpv/default.nix b/home/modules/programs/mpv/default.nix
deleted file mode 100644
index a526ba2..0000000
--- a/home/modules/programs/mpv/default.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- programs.mpv = {
- enable = true;
- catppuccin.enable = true;
- };
-}
diff --git a/home/modules/programs/obs-studio/default.nix b/home/modules/programs/obs-studio/default.nix
deleted file mode 100644
index 2987ddf..0000000
--- a/home/modules/programs/obs-studio/default.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ pkgs, ... }: {
- programs.obs-studio = {
- enable = true;
- plugins = with pkgs.obs-studio-plugins; [ wlrobs ];
- };
-}
diff --git a/home/modules/programs/rofi/default.nix b/home/modules/programs/rofi/default.nix
deleted file mode 100644
index 89b8465..0000000
--- a/home/modules/programs/rofi/default.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ pkgs, ... }: {
- programs.rofi = {
- enable = true;
- catppuccin.enable = true;
- package = pkgs.rofi-wayland.override {
- plugins = with pkgs; [
- (
- rofi-calc.override
- {
- rofi-unwrapped = rofi-wayland-unwrapped;
- }
- )
- ];
- };
- extraConfig = {
- modi = "window,drun,run,ssh,calc";
- };
- };
-}
diff --git a/home/modules/programs/swaylock/default.nix b/home/modules/programs/swaylock/default.nix
deleted file mode 100644
index 44a71c4..0000000
--- a/home/modules/programs/swaylock/default.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ config, ... }: {
- programs.swaylock = {
- enable = true;
- catppuccin.enable = true;
- settings = {
- show-failed-attempts = true;
- image = config.home.homeDirectory + "/pic/bg.png";
- };
- };
-}
diff --git a/home/modules/programs/tealdeer/default.nix b/home/modules/programs/tealdeer/default.nix
deleted file mode 100644
index ed87b93..0000000
--- a/home/modules/programs/tealdeer/default.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- programs.tealdeer = {
- enable = true;
- settings = {
- display = {
- compact = true;
- };
- updates = {
- auto_update = true;
- };
- };
- };
-}
diff --git a/nixos/modules/default.nix b/nixos/modules/default.nix
index 589fc96..d6adf89 100644
--- a/nixos/modules/default.nix
+++ b/nixos/modules/default.nix
@@ -37,7 +37,10 @@ top@{ moduleWithSystem, ... }: {
gnumake
mlocate
moreutils
+ openssh
openssl
+ procs
+ ripgrep
srm
unzip
vim