From d2b68866d05145c980b55264b8174806ab0ca8d5 Mon Sep 17 00:00:00 2001 From: Ivan Kirilov Dimitrov Date: Fri, 5 Jul 2024 18:05:15 +0200 Subject: [PATCH] MOOOOOOOOOOOOOOOOOOOOOORE --- flake.lock | 659 +++++++++++++++++++ home/modules/packages/default.nix | 628 +++++++++--------- home/modules/programs/bottom/default.nix | 34 - home/modules/programs/cliphist/default.nix | 6 - home/modules/programs/gpg/default.nix | 11 - home/modules/programs/mpv/default.nix | 6 - home/modules/programs/obs-studio/default.nix | 6 - home/modules/programs/rofi/default.nix | 19 - home/modules/programs/swaylock/default.nix | 10 - home/modules/programs/tealdeer/default.nix | 13 - nixos/modules/default.nix | 3 + 11 files changed, 961 insertions(+), 434 deletions(-) create mode 100644 flake.lock delete mode 100644 home/modules/programs/bottom/default.nix delete mode 100644 home/modules/programs/cliphist/default.nix delete mode 100644 home/modules/programs/gpg/default.nix delete mode 100644 home/modules/programs/mpv/default.nix delete mode 100644 home/modules/programs/obs-studio/default.nix delete mode 100644 home/modules/programs/rofi/default.nix delete mode 100644 home/modules/programs/swaylock/default.nix delete mode 100644 home/modules/programs/tealdeer/default.nix 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