diff options
-rw-r--r-- | darwinConfigurations/mairon/default.nix | 3 | ||||
-rw-r--r-- | flake.lock | 496 | ||||
-rw-r--r-- | flake.nix | 37 | ||||
-rw-r--r-- | modules/common/alacritty.nix (renamed from modules/nixfiles/alacritty.nix) | 0 | ||||
-rw-r--r-- | modules/common/aria2.nix (renamed from modules/nixfiles/aria2.nix) | 0 | ||||
-rw-r--r-- | modules/common/bat.nix (renamed from modules/nixfiles/bat.nix) | 0 | ||||
-rw-r--r-- | modules/common/beets.nix (renamed from modules/nixfiles/beets.nix) | 0 | ||||
-rw-r--r-- | modules/common/chromium.nix (renamed from modules/nixfiles/chromium.nix) | 0 | ||||
-rw-r--r-- | modules/common/common/default.nix (renamed from modules/nixfiles/common/default.nix) | 0 | ||||
-rw-r--r-- | modules/common/common/documentation.nix (renamed from modules/nixfiles/common/documentation.nix) | 0 | ||||
-rw-r--r-- | modules/common/common/home-manager.nix (renamed from modules/nixfiles/common/home-manager.nix) | 0 | ||||
-rw-r--r-- | modules/common/common/locale.nix (renamed from modules/nixfiles/common/locale.nix) | 0 | ||||
-rw-r--r-- | modules/common/common/networking.nix (renamed from modules/nixfiles/common/networking.nix) | 0 | ||||
-rw-r--r-- | modules/common/common/nix/default.nix (renamed from modules/nixfiles/common/nix/default.nix) | 6 | ||||
-rw-r--r-- | modules/common/common/nix/patches/alejandra-no-ads.patch (renamed from modules/nixfiles/common/nix/patches/alejandra-no-ads.patch) | 0 | ||||
-rw-r--r-- | modules/common/common/shell/default.nix (renamed from modules/nixfiles/common/shell/default.nix) | 13 | ||||
-rw-r--r-- | modules/common/common/shell/functions.bash (renamed from modules/nixfiles/common/shell/functions.bash) | 0 | ||||
-rw-r--r-- | modules/common/common/users.nix (renamed from modules/nixfiles/common/users.nix) | 0 | ||||
-rw-r--r-- | modules/common/curl.nix (renamed from modules/nixfiles/curl.nix) | 0 | ||||
-rw-r--r-- | modules/common/default.nix (renamed from modules/nixfiles/default.nix) | 2 | ||||
-rw-r--r-- | modules/common/direnv.nix (renamed from modules/nixfiles/direnv.nix) | 0 | ||||
-rw-r--r-- | modules/common/emacs/default.nix | 163 | ||||
-rw-r--r-- | modules/common/emacs/doom/config.el (renamed from modules/nixfiles/emacs/doom/config.el) | 14 | ||||
-rw-r--r-- | modules/common/emacs/doom/init.el (renamed from modules/nixfiles/emacs/doom/init.el) | 24 | ||||
-rw-r--r-- | modules/common/emacs/doom/packages.el (renamed from modules/nixfiles/emacs/doom/packages.el) | 2 | ||||
-rw-r--r-- | modules/common/fonts.nix (renamed from modules/nixfiles/fonts.nix) | 0 | ||||
-rw-r--r-- | modules/common/git.nix (renamed from modules/nixfiles/git.nix) | 0 | ||||
-rw-r--r-- | modules/common/gnupg.nix (renamed from modules/nixfiles/gnupg.nix) | 0 | ||||
-rw-r--r-- | modules/common/htop.nix (renamed from modules/nixfiles/htop.nix) | 0 | ||||
-rw-r--r-- | modules/common/mpv.nix (renamed from modules/nixfiles/mpv.nix) | 0 | ||||
-rw-r--r-- | modules/common/nmap.nix (renamed from modules/nixfiles/nmap.nix) | 0 | ||||
-rw-r--r-- | modules/common/openconnect.nix (renamed from modules/nixfiles/openconnect.nix) | 0 | ||||
-rw-r--r-- | modules/common/openssh.nix (renamed from modules/nixfiles/openssh.nix) | 0 | ||||
-rw-r--r-- | modules/common/password-store.nix (renamed from modules/nixfiles/password-store.nix) | 0 | ||||
-rw-r--r-- | modules/common/profiles/default.nix (renamed from modules/nixfiles/profiles/default.nix) | 0 | ||||
-rw-r--r-- | modules/common/profiles/dev/containers.nix (renamed from modules/nixfiles/profiles/dev/containers.nix) | 2 | ||||
-rw-r--r-- | modules/common/profiles/dev/default.nix (renamed from modules/nixfiles/profiles/dev/default.nix) | 0 | ||||
-rw-r--r-- | modules/common/profiles/dev/editorconfig.ini (renamed from modules/nixfiles/profiles/dev/editorconfig.ini) | 0 | ||||
-rw-r--r-- | modules/common/profiles/dev/gdbinit (renamed from modules/nixfiles/profiles/dev/gdbinit) | 0 | ||||
-rw-r--r-- | modules/common/profiles/dev/ghci.conf (renamed from modules/nixfiles/profiles/dev/ghci.conf) | 0 | ||||
-rw-r--r-- | modules/common/profiles/dev/pystartup.py (renamed from modules/nixfiles/profiles/dev/pystartup.py) | 0 | ||||
-rw-r--r-- | modules/common/profiles/dev/sql.nix (renamed from modules/nixfiles/profiles/dev/sql.nix) | 0 | ||||
-rw-r--r-- | modules/common/profiles/headful.nix (renamed from modules/nixfiles/profiles/headful.nix) | 1 | ||||
-rw-r--r-- | modules/common/profiles/headless.nix (renamed from modules/nixfiles/profiles/headless.nix) | 0 | ||||
-rw-r--r-- | modules/common/qutebrowser.nix (renamed from modules/nixfiles/qutebrowser.nix) | 0 | ||||
-rw-r--r-- | modules/common/subversion.nix (renamed from modules/nixfiles/subversion.nix) | 0 | ||||
-rw-r--r-- | modules/common/tmux.nix (renamed from modules/nixfiles/tmux.nix) | 0 | ||||
-rw-r--r-- | modules/common/vim/default.nix (renamed from modules/nixfiles/vim/default.nix) | 39 | ||||
-rw-r--r-- | modules/common/vim/rc.vim (renamed from modules/nixfiles/vim/rc.vim) | 5 | ||||
-rw-r--r-- | modules/common/vscode.nix (renamed from modules/nixfiles/vscode.nix) | 0 | ||||
-rw-r--r-- | modules/common/wget.nix (renamed from modules/nixfiles/wget.nix) | 0 | ||||
-rw-r--r-- | modules/common/zathura.nix (renamed from modules/nixfiles/zathura.nix) | 5 | ||||
-rw-r--r-- | modules/nixfiles/emacs/default.nix | 137 | ||||
-rw-r--r-- | modules/nixos/default.nix | 2 | ||||
-rw-r--r-- | modules/nixos/emacs.nix | 2 | ||||
-rw-r--r-- | modules/nixos/firefox/default.nix (renamed from modules/nixfiles/firefox/default.nix) | 0 | ||||
-rw-r--r-- | modules/nixos/firefox/userChrome.css (renamed from modules/nixfiles/firefox/userChrome.css) | 0 | ||||
-rw-r--r-- | modules/nixos/firefox/userContent.css (renamed from modules/nixfiles/firefox/userContent.css) | 0 | ||||
-rw-r--r-- | modules/nixos/git/default.nix | 57 | ||||
-rw-r--r-- | modules/nixos/mpd.nix (renamed from modules/nixfiles/mpd.nix) | 0 | ||||
-rw-r--r-- | modules/nixos/openssh.nix | 18 | ||||
-rw-r--r-- | modules/nixos/profiles/headful.nix | 1 |
62 files changed, 329 insertions, 700 deletions
diff --git a/darwinConfigurations/mairon/default.nix b/darwinConfigurations/mairon/default.nix index 31ab461..f414447 100644 --- a/darwinConfigurations/mairon/default.nix +++ b/darwinConfigurations/mairon/default.nix @@ -10,9 +10,10 @@ with lib; { # TODO Make this per-directory/per-remote. hm = { - packages = with pkgs; [ + home.packages = with pkgs; [ ansible ansible-lint + logcli ]; programs.git = { diff --git a/flake.lock b/flake.lock index fb9d97f..72ae9ea 100644 --- a/flake.lock +++ b/flake.lock @@ -122,16 +122,50 @@ "107.0": { "flake": false, "locked": { - "lastModified": 1668912908, - "narHash": "sha256-LeSJvxkTU4491rmkznbIm3l/ZiC+876OsLfej2Aj4Ro=", + "lastModified": 1668990997, + "narHash": "sha256-TZKoArzALuCNWNBq3un091eR3uRLAi59z/AZ64Xg3BQ=", "owner": "arkenfox", "repo": "user.js", - "rev": "e8ea7f3f23b9a7f257b61ad7553b4b64b3965ddc", + "rev": "cc0f05388f6c721c358e89372caac604f84fd0d9", "type": "github" }, "original": { "owner": "arkenfox", - "ref": "refs/pull/1579/head", + "ref": "107.0", + "repo": "user.js", + "type": "github" + } + }, + "108.0": { + "flake": false, + "locked": { + "lastModified": 1673196505, + "narHash": "sha256-YsQbH6bqp2I52meYf0X0DQpwLlDdu5pK9XHMT/9RqOg=", + "owner": "arkenfox", + "repo": "user.js", + "rev": "62a68f08147123b0c2c288ffdecc3f03e4ab1ae8", + "type": "github" + }, + "original": { + "owner": "arkenfox", + "ref": "108.0", + "repo": "user.js", + "type": "github" + } + }, + "109.0": { + "flake": false, + "locked": { + "lastModified": 1675728165, + "narHash": "sha256-ebSx6DaXoGKcCoK6UcDnWvdAW6J2X6pJRPD1Pw7UNOw=", + "owner": "arkenfox", + "repo": "user.js", + "rev": "73884850632ffe284f76881786f7d5903b917f58", + "type": "github" + }, + "original": { + "owner": "arkenfox", + "ref": "109.0", "repo": "user.js", "type": "github" } @@ -263,11 +297,11 @@ ] }, "locked": { - "lastModified": 1676153903, - "narHash": "sha256-uetRyjgMiZCs6srmZ10M764Vn7F53M9mVuqnzHmyBqU=", + "lastModified": 1676599101, + "narHash": "sha256-CKS6UsOGhoNxGDBt9wyFiWHvtng/+BMAJ4G8ahhe1DE=", "owner": "ryantm", "repo": "agenix", - "rev": "ea17cc71b4e1bc5b2601f210a1c85db9453ad723", + "rev": "de657061b13cf329c57a1a9730a5049a971b40b3", "type": "github" }, "original": { @@ -287,6 +321,8 @@ "105.0": "105.0", "106.0": "106.0", "107.0": "107.0", + "108.0": "108.0", + "109.0": "109.0", "93.0": "93.0", "94.0": "94.0", "95.0": "95.0", @@ -300,16 +336,16 @@ ] }, "locked": { - "lastModified": 1675676290, - "narHash": "sha256-ho4MyqHPrUBQqBTZl0X0aTliloKQNk1iUbwGgkvUw4g=", + "lastModified": 1676708317, + "narHash": "sha256-QqJqtLcDPFGhOg1v9EJzs2H7G/g3IKtewnhRgNpKy5U=", "owner": "dwarfmaster", "repo": "arkenfox-nixos", - "rev": "5985ba832c841af5805c89d64f78bfae2a0f331f", + "rev": "fd696871bf40bb7c4c8b3994124d66a459850780", "type": "github" }, "original": { "owner": "dwarfmaster", - "ref": "5985ba832c841af5805c89d64f78bfae2a0f331f", + "ref": "main", "repo": "arkenfox-nixos", "type": "github" } @@ -414,39 +450,6 @@ "type": "github" } }, - "doom-emacs": { - "flake": false, - "locked": { - "lastModified": 1662497747, - "narHash": "sha256-4n7E1fqda7cn5/F2jTkOnKw1juG6XMS/FI9gqODL3aU=", - "owner": "doomemacs", - "repo": "doomemacs", - "rev": "3853dff5e11655e858d0bfae64b70cb12ef685ac", - "type": "github" - }, - "original": { - "owner": "doomemacs", - "repo": "doomemacs", - "rev": "3853dff5e11655e858d0bfae64b70cb12ef685ac", - "type": "github" - } - }, - "doom-snippets": { - "flake": false, - "locked": { - "lastModified": 1662645711, - "narHash": "sha256-XKpPCtECGZQ5bFPPDUX3oAltXOJNwAI/OktxiLnADRE=", - "owner": "doomemacs", - "repo": "snippets", - "rev": "03a62fe7edf7e87fdbd925713fbd3bf292d14b00", - "type": "github" - }, - "original": { - "owner": "doomemacs", - "repo": "snippets", - "type": "github" - } - }, "emacs-overlay": { "inputs": { "flake-utils": [ @@ -457,11 +460,11 @@ ] }, "locked": { - "lastModified": 1676398447, - "narHash": "sha256-8pAf1ZkyDiFJPrfN7GM9f8kGWJx/AEkJu55GFvR5cbQ=", + "lastModified": 1676659814, + "narHash": "sha256-D58bW6z0NjqoRCQN8eTERkeN9hs6HBQufxaCPkmyPfs=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "8d9eaa57b64e7fe74f29f4b7c6823a541bbf5556", + "rev": "ab0f3828a6305fe7fd8c4909e67c1c2107292486", "type": "github" }, "original": { @@ -471,102 +474,6 @@ "type": "github" } }, - "emacs-so-long": { - "flake": false, - "locked": { - "lastModified": 1575031854, - "narHash": "sha256-xIa5zO0ZaToDrec1OFjBK6l39AbA4l/CE4LInVu2hi0=", - "owner": "hlissner", - "repo": "emacs-so-long", - "rev": "ed666b0716f60e8988c455804de24b55919e71ca", - "type": "github" - }, - "original": { - "owner": "hlissner", - "repo": "emacs-so-long", - "type": "github" - } - }, - "evil-escape": { - "flake": false, - "locked": { - "lastModified": 1588439096, - "narHash": "sha256-aB2Ge5o/93B18tPf4fN1c+O46CNh/nOqwLJbox4c8Gw=", - "owner": "hlissner", - "repo": "evil-escape", - "rev": "819f1ee1cf3f69a1ae920e6004f2c0baeebbe077", - "type": "github" - }, - "original": { - "owner": "hlissner", - "repo": "evil-escape", - "type": "github" - } - }, - "evil-markdown": { - "flake": false, - "locked": { - "lastModified": 1626852210, - "narHash": "sha256-HBBuZ1VWIn6kwK5CtGIvHM1+9eiNiKPH0GUsyvpUVN8=", - "owner": "Somelauw", - "repo": "evil-markdown", - "rev": "8e6cc68af83914b2fa9fd3a3b8472573dbcef477", - "type": "github" - }, - "original": { - "owner": "Somelauw", - "repo": "evil-markdown", - "type": "github" - } - }, - "evil-org-mode": { - "flake": false, - "locked": { - "lastModified": 1607203864, - "narHash": "sha256-JxwqVYDN6OIJEH15MVI6XOZAPtUWUhJQWHyzcrUvrFg=", - "owner": "hlissner", - "repo": "evil-org-mode", - "rev": "a9706da260c45b98601bcd72b1d2c0a24a017700", - "type": "github" - }, - "original": { - "owner": "hlissner", - "repo": "evil-org-mode", - "type": "github" - } - }, - "evil-quick-diff": { - "flake": false, - "locked": { - "lastModified": 1575189609, - "narHash": "sha256-oGzl1ayW9rIuq0haoiFS7RZsS8NFMdEA7K1BSozgnJU=", - "owner": "rgrinberg", - "repo": "evil-quick-diff", - "rev": "69c883720b30a892c63bc89f49d4f0e8b8028908", - "type": "github" - }, - "original": { - "owner": "rgrinberg", - "repo": "evil-quick-diff", - "type": "github" - } - }, - "explain-pause-mode": { - "flake": false, - "locked": { - "lastModified": 1595842060, - "narHash": "sha256-++znrjiDSx+cy4okFBBXUBkRFdtnE2x+trkmqjB3Njs=", - "owner": "lastquestion", - "repo": "explain-pause-mode", - "rev": "2356c8c3639cbeeb9751744dbe737267849b4b51", - "type": "github" - }, - "original": { - "owner": "lastquestion", - "repo": "explain-pause-mode", - "type": "github" - } - }, "flake-compat": { "flake": false, "locked": { @@ -617,23 +524,6 @@ "type": "github" } }, - "format-all": { - "flake": false, - "locked": { - "lastModified": 1581716637, - "narHash": "sha256-ul7LCe60W8TIvUmUtZtZRo8489TK9iTPDsLHmzxY57M=", - "owner": "lassik", - "repo": "emacs-format-all-the-code", - "rev": "47d862d40a088ca089c92cd393c6dca4628f87d3", - "type": "github" - }, - "original": { - "owner": "lassik", - "repo": "emacs-format-all-the-code", - "rev": "47d862d40a088ca089c92cd393c6dca4628f87d3", - "type": "github" - } - }, "gitignore": { "inputs": { "nixpkgs": [ @@ -665,11 +555,11 @@ ] }, "locked": { - "lastModified": 1675935446, - "narHash": "sha256-WajulTn7QdwC7QuXRBavrANuIXE5z+08EdxdRw1qsNs=", + "lastModified": 1676367705, + "narHash": "sha256-un5UbRat9TwruyImtwUGcKF823rCEp4fQxnsaLFL7CM=", "owner": "nix-community", "repo": "home-manager", - "rev": "2dce7f1a55e785a22d61668516df62899278c9e4", + "rev": "da72e6fc6b7dc0c3f94edbd310aae7cd95c678b5", "type": "github" }, "original": { @@ -727,57 +617,6 @@ "type": "github" } }, - "nix-doom-emacs": { - "inputs": { - "doom-emacs": "doom-emacs", - "doom-snippets": "doom-snippets", - "emacs-overlay": [ - "emacs-overlay" - ], - "emacs-so-long": "emacs-so-long", - "evil-escape": "evil-escape", - "evil-markdown": "evil-markdown", - "evil-org-mode": "evil-org-mode", - "evil-quick-diff": "evil-quick-diff", - "explain-pause-mode": "explain-pause-mode", - "flake-compat": [ - "flake-compat" - ], - "flake-utils": [ - "flake-utils" - ], - "format-all": "format-all", - "nix-straight": "nix-straight", - "nixpkgs": [ - "nixpkgs" - ], - "nose": "nose", - "ob-racket": "ob-racket", - "org": "org", - "org-contrib": "org-contrib", - "org-yt": "org-yt", - "php-extras": "php-extras", - "revealjs": "revealjs", - "rotate-text": "rotate-text", - "sln-mode": "sln-mode", - "ts-fold": "ts-fold", - "ws-butler": "ws-butler" - }, - "locked": { - "lastModified": 1675387812, - "narHash": "sha256-fGjWMg97w1mP0cDIR9Y8qCa77sEtiIdYzqiRB+P2YcM=", - "owner": "nix-community", - "repo": "nix-doom-emacs", - "rev": "8de922e4e23158790970a266234a853305b1928d", - "type": "github" - }, - "original": { - "owner": "nix-community", - "ref": "master", - "repo": "nix-doom-emacs", - "type": "github" - } - }, "nix-minecraft": { "inputs": { "flake-utils": [ @@ -788,11 +627,11 @@ ] }, "locked": { - "lastModified": 1676339309, - "narHash": "sha256-haiQG9mO6CWcY0+oecOtNiZkbFN5FslJhJKX43E9A4s=", + "lastModified": 1676598621, + "narHash": "sha256-635t9QFKNayo9QXamGBkvh3MbNPjkoRYrIYKz/mg720=", "owner": "Infinidoge", "repo": "nix-minecraft", - "rev": "1787321cb4e13160086bb92280c83987d4e49234", + "rev": "60301861c5ea5d33ab6d4d06fd4d013ddb245b0e", "type": "github" }, "original": { @@ -802,22 +641,6 @@ "type": "github" } }, - "nix-straight": { - "flake": false, - "locked": { - "lastModified": 1666982610, - "narHash": "sha256-xjgIrmUsekVTE+MpZb5DMU8DQf9DJ/ZiR0o30L9/XCc=", - "owner": "nix-community", - "repo": "nix-straight.el", - "rev": "ad10364d64f472c904115fd38d194efe1c3f1226", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nix-straight.el", - "type": "github" - } - }, "nixos-hardware": { "locked": { "lastModified": 1675933606, @@ -836,11 +659,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1676209454, - "narHash": "sha256-alj9mBkV9U6tTPDK026671D2pesLSYZZc9j5dBZJ9f0=", + "lastModified": 1676549890, + "narHash": "sha256-sq/WcOEAl7gWrrfGkWdnyYazRyTf+enEim/o6LOQzI8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8c619a1f3cedd16ea172146e30645e703d21bfc1", + "rev": "8c66bd1b68f4708c90dcc97c6f7052a5a7b33257", "type": "github" }, "original": { @@ -852,11 +675,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1676398261, - "narHash": "sha256-ILP8TnCgfmb1Aal/9f2YgeoEzsJwE85lsLsChu1cbcU=", + "lastModified": 1676662455, + "narHash": "sha256-paR22nF+MrW/iPqtf3EvSsQLkzNh+hftvclG9qif8gA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3bee4ab8db244db328b41ae5f4fbce19b658f1be", + "rev": "505feabc489e0ddb074f444ac0b1fc792c8da4a8", "type": "github" }, "original": { @@ -868,11 +691,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1676396097, - "narHash": "sha256-uBimVNocWHZ/fTxTZu5IMHjiDVOPqlnKqgeZRZNbB4c=", + "lastModified": 1676656495, + "narHash": "sha256-ON7OvLv+U+hXPVfaQG4Ku1d1PWO+ffU7C8SvR8ByxYk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "75e0a511d0e6edaff6e3f5de0815102d3c640d08", + "rev": "8a3f39ad8c03aa91f7de41ea5d854d0a985e0e9b", "type": "github" }, "original": { @@ -916,29 +739,13 @@ "type": "github" } }, - "nose": { - "flake": false, - "locked": { - "lastModified": 1400604510, - "narHash": "sha256-daEi8Kta1oGaDEmUUDDQMahTTPOpvNpDKk22rlr7cB0=", - "owner": "emacsattic", - "repo": "nose", - "rev": "f8528297519eba911696c4e68fa88892de9a7b72", - "type": "github" - }, - "original": { - "owner": "emacsattic", - "repo": "nose", - "type": "github" - } - }, "nur": { "locked": { - "lastModified": 1676385929, - "narHash": "sha256-qaIM1TBKKQ+FTTuUpr2AfUP8NQ6q8QwL1BEaYHG9Gls=", + "lastModified": 1676658325, + "narHash": "sha256-s+SFI821NUXxuQqnVeBmHq1tEH5Mg1pYmrlDnxJ8PAo=", "owner": "nix-community", "repo": "NUR", - "rev": "32f2fc312516b3b2b47708105c8fc87cea1df5d2", + "rev": "10c6c5d9b3df8177472b5243ed8d9760f5316174", "type": "github" }, "original": { @@ -948,86 +755,6 @@ "type": "github" } }, - "ob-racket": { - "flake": false, - "locked": { - "lastModified": 1584656173, - "narHash": "sha256-rBUYDDCXb+3D4xTPQo9UocbTPZ32kWV1Uya/1DmZknU=", - "owner": "xchrishawk", - "repo": "ob-racket", - "rev": "83457ec9e1e96a29fd2086ed19432b9d75787673", - "type": "github" - }, - "original": { - "owner": "xchrishawk", - "repo": "ob-racket", - "type": "github" - } - }, - "org": { - "flake": false, - "locked": { - "lastModified": 1673519709, - "narHash": "sha256-XtGk32Lw2iGDgH5Q4Rjhig0Iq5hpIM0EKQoptJ+nT3k=", - "owner": "emacs-straight", - "repo": "org-mode", - "rev": "ecb62e2e317b1a4b5b8a6c0f111ed7ef18413040", - "type": "github" - }, - "original": { - "owner": "emacs-straight", - "repo": "org-mode", - "type": "github" - } - }, - "org-contrib": { - "flake": false, - "locked": { - "lastModified": 1664301003, - "narHash": "sha256-8CAq/EB52RMQHNLZM0uc/1N5gKTfxGhf7WFt9sMKoD8=", - "owner": "emacsmirror", - "repo": "org-contrib", - "rev": "aa104c0bbc3113f6d3d167b20bd8d6bf6a285f0f", - "type": "github" - }, - "original": { - "owner": "emacsmirror", - "repo": "org-contrib", - "type": "github" - } - }, - "org-yt": { - "flake": false, - "locked": { - "lastModified": 1527381913, - "narHash": "sha256-dzQ6B7ryzatHCTLyEnRSbWO0VUiX/FHYnpHTs74aVUs=", - "owner": "TobiasZawada", - "repo": "org-yt", - "rev": "40cc1ac76d741055cbefa13860d9f070a7ade001", - "type": "github" - }, - "original": { - "owner": "TobiasZawada", - "repo": "org-yt", - "type": "github" - } - }, - "php-extras": { - "flake": false, - "locked": { - "lastModified": 1573312690, - "narHash": "sha256-r4WyVbzvT0ra4Z6JywNBOw5RxOEYd6Qe2IpebHXkj1U=", - "owner": "arnested", - "repo": "php-extras", - "rev": "d410c5af663c30c01d461ac476d1cbfbacb49367", - "type": "github" - }, - "original": { - "owner": "arnested", - "repo": "php-extras", - "type": "github" - } - }, "pollymc": { "inputs": { "flake-compat": [ @@ -1070,11 +797,11 @@ ] }, "locked": { - "lastModified": 1676279938, - "narHash": "sha256-RDyvVdituVQQZtGA7DNaJruJLDz/pfkREpUcI4ZQvsk=", + "lastModified": 1676513100, + "narHash": "sha256-MK39nQV86L2ag4TmcK5/+r1ULpzRLPbbfvWbPvIoYJE=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "1583077009b6ef4236d1899c0f43cf1ce1db8085", + "rev": "5f0cba88ac4d6dd8cad5c6f6f1540b3d6a21a798", "type": "github" }, "original": { @@ -1084,22 +811,6 @@ "type": "github" } }, - "revealjs": { - "flake": false, - "locked": { - "lastModified": 1674652670, - "narHash": "sha256-ViqeZlOjQTlY0KM7YcOOjdgkxRLPMZrRKXTqtyc1I00=", - "owner": "hakimel", - "repo": "reveal.js", - "rev": "b1a9842b2f4544a2fda546383db38cc7a81f6b74", - "type": "github" - }, - "original": { - "owner": "hakimel", - "repo": "reveal.js", - "type": "github" - } - }, "root": { "inputs": { "agenix": "agenix", @@ -1113,7 +824,6 @@ "flake-utils": "flake-utils", "home-manager": "home-manager", "impermanence": "impermanence", - "nix-doom-emacs": "nix-doom-emacs", "nix-minecraft": "nix-minecraft", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs", @@ -1128,22 +838,6 @@ "xmonad-ng": "xmonad-ng" } }, - "rotate-text": { - "flake": false, - "locked": { - "lastModified": 1322962747, - "narHash": "sha256-SOeOgSlcEIsKhUiYDJv0p+mLUb420s9E2BmvZQvZ0wk=", - "owner": "debug-ito", - "repo": "rotate-text.el", - "rev": "48f193697db996855aee1ad2bc99b38c6646fe76", - "type": "github" - }, - "original": { - "owner": "debug-ito", - "repo": "rotate-text.el", - "type": "github" - } - }, "simple-nixos-mailserver": { "inputs": { "blobs": "blobs", @@ -1175,54 +869,6 @@ "type": "gitlab" } }, - "sln-mode": { - "flake": false, - "locked": { - "lastModified": 1423727528, - "narHash": "sha256-XqkqPyEJuTtFslOz1fpTf/Klbd/zA7IGpzpmum/MGao=", - "owner": "sensorflo", - "repo": "sln-mode", - "rev": "0f91d1b957c7d2a7bab9278ec57b54d57f1dbd9c", - "type": "github" - }, - "original": { - "owner": "sensorflo", - "repo": "sln-mode", - "type": "github" - } - }, - "ts-fold": { - "flake": false, - "locked": { - "lastModified": 1673328482, - "narHash": "sha256-6yQ35uJDAK531QNQZgloQaOQayRa8azOlOMbO8lXsHE=", - "owner": "jcs-elpa", - "repo": "ts-fold", - "rev": "75d6f9ed317b042b5bc7cb21503596d1c7a1b8c0", - "type": "github" - }, - "original": { - "owner": "jcs-elpa", - "repo": "ts-fold", - "type": "github" - } - }, - "ws-butler": { - "flake": false, - "locked": { - "lastModified": 1634511126, - "narHash": "sha256-c0y0ZPtxxICPk+eaNbbQf6t+FRCliNY54CCz9QHQ8ZI=", - "owner": "hlissner", - "repo": "ws-butler", - "rev": "572a10c11b6cb88293de48acbb59a059d36f9ba5", - "type": "github" - }, - "original": { - "owner": "hlissner", - "repo": "ws-butler", - "type": "github" - } - }, "xmonad-ng": { "inputs": { "flake-utils": [ diff --git a/flake.nix b/flake.nix index 5cdf643..a4a9c4c 100644 --- a/flake.nix +++ b/flake.nix @@ -92,25 +92,28 @@ type = "github"; owner = "dwarfmaster"; repo = "arkenfox-nixos"; - # FIXME https://github.com/dwarfmaster/arkenfox-nixos/issues/20 - ref = "5985ba832c841af5805c89d64f78bfae2a0f331f"; + ref = "main"; inputs.nixpkgs.follows = "nixpkgs"; }; - nix-doom-emacs = { - # type = "path"; - # path = "/home/azahi/src/nix-doom-emacs"; - type = "github"; - owner = "nix-community"; - repo = "nix-doom-emacs"; - ref = "master"; - inputs = { - flake-compat.follows = "flake-compat"; - emacs-overlay.follows = "emacs-overlay"; - flake-utils.follows = "flake-utils"; - nixpkgs.follows = "nixpkgs"; - }; - }; + # Waiting for patches[1]. Currently, the new profile feature breaks + # everything and I don't want to spend 12 hours debugging this shit. + # + # [1]: https://github.com/nix-community/nix-doom-emacs/pull/316 + # nix-doom-emacs = { + # # type = "path"; + # # path = "/home/azahi/src/nix-doom-emacs"; + # type = "github"; + # owner = "nix-community"; + # repo = "nix-doom-emacs"; + # ref = "master"; + # inputs = { + # flake-compat.follows = "flake-compat"; + # emacs-overlay.follows = "emacs-overlay"; + # flake-utils.follows = "flake-utils"; + # nixpkgs.follows = "nixpkgs"; + # }; + # }; nix-minecraft = { type = "github"; @@ -305,7 +308,7 @@ // { inherit lib; - modules.nixfiles = import ./modules/nixfiles; + modules.nixfiles = import ./modules/common; nixosModules.nixfiles = import ./modules/nixos; nixosConfigurations = diff --git a/modules/nixfiles/alacritty.nix b/modules/common/alacritty.nix index 142f6c5..142f6c5 100644 --- a/modules/nixfiles/alacritty.nix +++ b/modules/common/alacritty.nix diff --git a/modules/nixfiles/aria2.nix b/modules/common/aria2.nix index f33acb9..f33acb9 100644 --- a/modules/nixfiles/aria2.nix +++ b/modules/common/aria2.nix diff --git a/modules/nixfiles/bat.nix b/modules/common/bat.nix index 2b31d16..2b31d16 100644 --- a/modules/nixfiles/bat.nix +++ b/modules/common/bat.nix diff --git a/modules/nixfiles/beets.nix b/modules/common/beets.nix index 83cbff1..83cbff1 100644 --- a/modules/nixfiles/beets.nix +++ b/modules/common/beets.nix diff --git a/modules/nixfiles/chromium.nix b/modules/common/chromium.nix index 4f0ae12..4f0ae12 100644 --- a/modules/nixfiles/chromium.nix +++ b/modules/common/chromium.nix diff --git a/modules/nixfiles/common/default.nix b/modules/common/common/default.nix index 2bfe7e8..2bfe7e8 100644 --- a/modules/nixfiles/common/default.nix +++ b/modules/common/common/default.nix diff --git a/modules/nixfiles/common/documentation.nix b/modules/common/common/documentation.nix index 55f6138..55f6138 100644 --- a/modules/nixfiles/common/documentation.nix +++ b/modules/common/common/documentation.nix diff --git a/modules/nixfiles/common/home-manager.nix b/modules/common/common/home-manager.nix index b28260a..b28260a 100644 --- a/modules/nixfiles/common/home-manager.nix +++ b/modules/common/common/home-manager.nix diff --git a/modules/nixfiles/common/locale.nix b/modules/common/common/locale.nix index bcb577a..bcb577a 100644 --- a/modules/nixfiles/common/locale.nix +++ b/modules/common/common/locale.nix diff --git a/modules/nixfiles/common/networking.nix b/modules/common/common/networking.nix index e5d27d8..e5d27d8 100644 --- a/modules/nixfiles/common/networking.nix +++ b/modules/common/common/networking.nix diff --git a/modules/nixfiles/common/nix/default.nix b/modules/common/common/nix/default.nix index 5ce54f9..0898457 100644 --- a/modules/nixfiles/common/nix/default.nix +++ b/modules/common/common/nix/default.nix @@ -96,7 +96,13 @@ with lib; { patches = [./patches/alejandra-no-ads.patch]; }); + logcli = super.grafana-loki.overrideAttrs (_: _: { + subPackages = ["cmd/logcli"]; + }); + inherit (pkgsPR "215704" "sha256-o2F/ZAugljJKlVIAHMTBK6+Lj6BiBwteA5OuaWPKXm0=") dendrite; + + inherit (pkgsPR "216465" "sha256-ik3e+KM27hGkKWTOOUWj1YtiqHTJvl04dx0/X08P1A0=") amdvlk; } // (with super; let np = nodePackages; diff --git a/modules/nixfiles/common/nix/patches/alejandra-no-ads.patch b/modules/common/common/nix/patches/alejandra-no-ads.patch index 6eaac66..6eaac66 100644 --- a/modules/nixfiles/common/nix/patches/alejandra-no-ads.patch +++ b/modules/common/common/nix/patches/alejandra-no-ads.patch diff --git a/modules/nixfiles/common/shell/default.nix b/modules/common/common/shell/default.nix index 6ed8ff0..1eebfa2 100644 --- a/modules/nixfiles/common/shell/default.nix +++ b/modules/common/common/shell/default.nix @@ -30,6 +30,19 @@ with lib; { initExtra = '' set -o notify + if [ "$TERM" != "dumb" ] || [ -n "$INSIDE_EMACS" ]; then + PROMPT_COLOR="1;31m" + ((UID)) && PROMPT_COLOR="1;32m" + if [ -n "$INSIDE_EMACS" ] || [ "$TERM" = "eterm" ] || [ "$TERM" = "eterm-color" ]; then + PS1="\n\[\033[$PROMPT_COLOR\][\u@\h:\w]\\$\[\033[0m\] " + else + PS1="\n\[\033[$PROMPT_COLOR\][\[\e]0;\u@\h: \w\a\]\u@\h:\w]\\$\[\033[0m\] " + fi + if test "$TERM" = "xterm"; then + PS1="\[\033]2;\h:\u:\w\007\]$PS1" + fi + fi + ${readFile ./functions.bash} GRC_ALIASES=true diff --git a/modules/nixfiles/common/shell/functions.bash b/modules/common/common/shell/functions.bash index c18104f..c18104f 100644 --- a/modules/nixfiles/common/shell/functions.bash +++ b/modules/common/common/shell/functions.bash diff --git a/modules/nixfiles/common/users.nix b/modules/common/common/users.nix index aee0e38..aee0e38 100644 --- a/modules/nixfiles/common/users.nix +++ b/modules/common/common/users.nix diff --git a/modules/nixfiles/curl.nix b/modules/common/curl.nix index e7bee31..e7bee31 100644 --- a/modules/nixfiles/curl.nix +++ b/modules/common/curl.nix diff --git a/modules/nixfiles/default.nix b/modules/common/default.nix index d4e5e26..e6040cd 100644 --- a/modules/nixfiles/default.nix +++ b/modules/common/default.nix @@ -9,12 +9,10 @@ _: { ./curl.nix ./direnv.nix ./emacs - ./firefox ./fonts.nix ./git.nix ./gnupg.nix ./htop.nix - ./mpd.nix ./mpv.nix ./nmap.nix ./openssh.nix diff --git a/modules/nixfiles/direnv.nix b/modules/common/direnv.nix index b235cee..b235cee 100644 --- a/modules/nixfiles/direnv.nix +++ b/modules/common/direnv.nix diff --git a/modules/common/emacs/default.nix b/modules/common/emacs/default.nix new file mode 100644 index 0000000..7395c51 --- /dev/null +++ b/modules/common/emacs/default.nix @@ -0,0 +1,163 @@ +{ + config, + inputs, + lib, + pkgs, + pkgsStable, + this, + ... +}: +with lib; let + cfg = config.nixfiles.modules.emacs; +in { + options.nixfiles.modules.emacs.enable = mkEnableOption "GNU Emacs"; + + config = mkIf cfg.enable { + nixfiles.modules = { + fonts.enable = true; + git.client.enable = true; + gnupg.enable = true; + }; + + hm = { + xdg.configFile = { + "doom/init.el".source = ./doom/init.el; + "doom/packages.el".source = ./doom/packages.el; + "doom/config.el" = { + text = concatStringsSep "\n" [ + (let + # NOTE gopls will require the "go" executable which must be provided + # by the project's flake/shell. + extraBins = with pkgs; + [ + enchant # :checkers (spell +enchant) + (python3.withPackages (p: + with p; [ + black # :lang python :editor format + isort # :lang python + pyflakes # :lang python + python-lsp-server # :lang (python +lsp) + ])) + asmfmt # :editor format + bash-language-server # :lang (sh +lsp) + clang-tools # :lang (cc +lsp) :editor format + cmake-format # :lang cc :editor format + cmigemo # :lang japanese + css-language-server # :lang (web +lsp) + dhall-language-server # :lang (dhall +lsp) + dockerfile-language-server # :tools (docker +lsp) + editorconfig # :tools editorconfig + fd # doom! + gnuplot # :lang (org +gnuplot) + gnutls # doom! + go-language-server # :lang (go +lsp) + gomodifytags # :lang go + gore # :lang go + gotests # :lang go + gotools # :lang go + graphviz # :lang (org +roam2) :lang plantuml + html-language-server # :lang (web +lsp) + html-tidy # :lang web + jre # :lang plantuml + json-language-server # :lang (json +lsp) + nix-language-server # :lang (nix +lsp) + nixfmt # :lang nix :editor format + nodePackages.js-beautify # :lang web + nodePackages.prettier # :editor format + nodePackages.stylelint # :lang web + nodejs # :tools debugger + pandoc # :lang org markdown latex + pinentry-emacs # doom! + pre-commit # :tools magit + ripgrep # doom! + rust-analyzer # :lang (rust +lsp) + rustfmt # :lang rust + shellcheck # :lang sh + shfmt # :lang sh :editor format + sqlite # :lang (org +roam2) :tools lookup + texlab # lang (tex +lsp) + texlive.combined.scheme-full # :lang org tex + unzip # :tools debugger + wordnet # :tools (lookup +dictionary +offline) + yaml-language-server # :lang (yaml +lsp) + zls # :lang (zig +lsp) + zstd # :emacs undo + ] + ++ ( + # + # GDB doesn't support[1] Apple Silicon on MacOS. + # + # [1]: https://inbox.sourceware.org/gdb/6b48224b-9e2e-518d-793b-df4fc5514884@arm.com/ + if (this.system != "aarch64-darwin") + then [gdb] # :tools debugger + else [lldb] # :tools debugger + ) + ++ optionals (!pkgs.stdenv.isDarwin) + [ + # NOTE Haskell is pretty much broken every couple of days on + # MacOS and I usually don't write anything in Haskell while + # I'm on my work laptop, so... ShellCheck seems to be working, + # though. + haskellPackages.ormolu # :lang haskell :editor format + haskellPackages.haskell-language-server # :lang (haskell +lsp) + haskellPackages.cabal-fmt # :lang haskell :editor format + haskellPackages.cabal-install # :lang haskell + haskellPackages.hoogle # :lang haskell + ]; + in '' + ;; This will integrate packages which are required by various + ;; modules without polluting the user's profile. + (setq exec-path (append exec-path '(${ + concatMapStringsSep " " (x: ''"${x}/bin"'') extraBins + }))) + (setenv "PATH" (concat (getenv "PATH") ":${ + concatMapStringsSep ":" (x: "${x}/bin") extraBins + }")) + + ;; Font must be set to N+2 because otherwise it looks too small. + (setq doom-font (font-spec :family "${config.fontScheme.monospaceFont.family}" + :size ${toString (config.fontScheme.monospaceFont.size + 2)}) + doom-unicode-font doom-font) + + (setq user-full-name "${my.fullname}" + user-mail-address "${my.email}") + + ;; :app irc + (setq circe-default-nick "${my.username}" + circe-default-realname "${my.email}" + circe-default-user circe-default-nick) + + ;; :lang plantuml + (setq org-plantuml-jar-path "${pkgs.plantuml}/lib/plantuml.jar") + + ;; :input japanese + (setq migemo-dictionary "${pkgs.cmigemo}/share/migemo/utf-8/migemo-dict") + + ;; :input japanese + (setq skk-large-jisyo "${pkgs.skk-dicts}/share/skk/SKK-JISYO.L") + '') + (builtins.readFile ./doom/config.el) + ]; + onChange = with config.hm.programs; '' + if [[ -x "''${XDG_CONFIG_HOME:~/.config}/emacs/bin/doom" ]]; then + oldpath="$PATH" + export PATH="''${PATH:-/bin}:${emacs.package}/bin:${git.package}/bin" + + "''${XDG_CONFIG_HOME:~/.config}/emacs/bin/doom" sync + + export PATH="$oldpath" + unset oldpath + fi + ''; + }; + }; + + programs.emacs = { + enable = true; + package = pkgs.emacs28; # Pin to avoid surprises. + # For some reason latest libvterm is not picked up by Emacs. + extraPackages = _: with pkgsStable.emacsPackages; [vterm]; + }; + }; + }; +} diff --git a/modules/nixfiles/emacs/doom/config.el b/modules/common/emacs/doom/config.el index 9fa9984..9284e0b 100644 --- a/modules/nixfiles/emacs/doom/config.el +++ b/modules/common/emacs/doom/config.el @@ -1,5 +1,3 @@ -;;; config.el -*- lexical-binding: t; -*- - ;; ;;; Misc ;; @@ -80,7 +78,7 @@ ;;; Haskell ;; -(setq lsp-haskell-formatting-provider "brittany") +(setq lsp-haskell-formatting-provider "ormolu") ;; ;;; Nix @@ -95,9 +93,17 @@ ;; ;;; YAML - ;; +(add-hook! 'yaml-mode-hook + (defun +disable-flycheck-for-yaml-helm-templates () + (when (and buffer-file-name + (string-match-p "/templates/" buffer-file-name) + (or (string-suffix-p ".yaml" buffer-file-name) + (string-suffix-p ".yml" buffer-file-name))) + (remove-hook! 'yaml-mode-local-vars-hook #'lsp!) + (pushnew! flycheck-disabled-checkers 'yaml-jsyaml 'yaml-ruby 'yaml-yamllint)))) + (setq-hook! 'yaml-mode-hook +format-with-lsp nil) ;; diff --git a/modules/nixfiles/emacs/doom/init.el b/modules/common/emacs/doom/init.el index 1016f40..cdab069 100644 --- a/modules/nixfiles/emacs/doom/init.el +++ b/modules/common/emacs/doom/init.el @@ -1,5 +1,3 @@ -;;; init.el -*- lexical-binding: t; -*- - (doom! :input ;; japanese @@ -12,6 +10,7 @@ doom ;; doom-dashboard ;; doom-quit + ;; emoji hl-todo indent-guides ;; ligatures @@ -20,12 +19,10 @@ ophints (popup +defaults) ;; tabs - ;; (treemacs +lsp) ;; unicode (vc-gutter +diff-hl +pretty) window-select workspaces - zen :editor (evil +everywhere) @@ -36,7 +33,7 @@ ;; multiple-cursors parinfer ;; rotate-text - ;; snippets + snippets word-wrap :emacs @@ -52,10 +49,10 @@ :checkers syntax - (spell +aspell + (spell +enchant +everywhere +flyspell) - ;; grammar + grammar :tools ansible @@ -64,6 +61,7 @@ (docker +lsp) editorconfig (eval +overlay) + gist (lookup +dictionary +offline) (lsp +peek) (magit +forge) @@ -72,7 +70,7 @@ ;; pdf terraform tree-sitter - ;; upload + upload :os (:if IS-MAC macos) @@ -87,10 +85,10 @@ (emacs-lisp +lsp +tree-sitter) (go +lsp +tree-sitter) ;; graphql - (haskell +lsp +tree-sitter) + (:if IS-LINUX (haskell +lsp +tree-sitter)) (java +lsp +tree-sitter) (javascript +lsp +tree-sitter) - json + (json +lsp +tree-sitter) (kotlin +lsp +tree-sitter) (latex +lsp +tree-sittter) (markdown +lsp +tree-sitter) @@ -98,13 +96,13 @@ (org +pandoc +roam2) plantuml (python +lsp +tree-sitter) - (racket +lsp +tree-sitter) + (:if IS-LINUX (racket +lsp +tree-sitter)) ;; rst (rust +lsp +tree-sitter) - (scheme +lsp +tree-sitter +racket) + (:if IS-LINUX (scheme +lsp +tree-sitter +racket)) (sh +lsp +tree-sitter) web - yaml + (yaml +lsp +tree-sitter) (zig +lsp +tree-sitter) :email diff --git a/modules/nixfiles/emacs/doom/packages.el b/modules/common/emacs/doom/packages.el index d3e6354..298a203 100644 --- a/modules/nixfiles/emacs/doom/packages.el +++ b/modules/common/emacs/doom/packages.el @@ -1,5 +1,3 @@ -;;; packages.el -*- lexical-binding: t; -*- - (disable-packages! writegood-mode) (unpin! org-roam) diff --git a/modules/nixfiles/fonts.nix b/modules/common/fonts.nix index 483de0d..483de0d 100644 --- a/modules/nixfiles/fonts.nix +++ b/modules/common/fonts.nix diff --git a/modules/nixfiles/git.nix b/modules/common/git.nix index 2c1dd1f..2c1dd1f 100644 --- a/modules/nixfiles/git.nix +++ b/modules/common/git.nix diff --git a/modules/nixfiles/gnupg.nix b/modules/common/gnupg.nix index c0f10f9..c0f10f9 100644 --- a/modules/nixfiles/gnupg.nix +++ b/modules/common/gnupg.nix diff --git a/modules/nixfiles/htop.nix b/modules/common/htop.nix index bf3f1e4..bf3f1e4 100644 --- a/modules/nixfiles/htop.nix +++ b/modules/common/htop.nix diff --git a/modules/nixfiles/mpv.nix b/modules/common/mpv.nix index afab1dd..afab1dd 100644 --- a/modules/nixfiles/mpv.nix +++ b/modules/common/mpv.nix diff --git a/modules/nixfiles/nmap.nix b/modules/common/nmap.nix index 73f948c..73f948c 100644 --- a/modules/nixfiles/nmap.nix +++ b/modules/common/nmap.nix diff --git a/modules/nixfiles/openconnect.nix b/modules/common/openconnect.nix index 780f93f..780f93f 100644 --- a/modules/nixfiles/openconnect.nix +++ b/modules/common/openconnect.nix diff --git a/modules/nixfiles/openssh.nix b/modules/common/openssh.nix index 4b80809..4b80809 100644 --- a/modules/nixfiles/openssh.nix +++ b/modules/common/openssh.nix diff --git a/modules/nixfiles/password-store.nix b/modules/common/password-store.nix index 1de8a55..1de8a55 100644 --- a/modules/nixfiles/password-store.nix +++ b/modules/common/password-store.nix diff --git a/modules/nixfiles/profiles/default.nix b/modules/common/profiles/default.nix index 06ddaf4..06ddaf4 100644 --- a/modules/nixfiles/profiles/default.nix +++ b/modules/common/profiles/default.nix diff --git a/modules/nixfiles/profiles/dev/containers.nix b/modules/common/profiles/dev/containers.nix index 9119140..cc24ab3 100644 --- a/modules/nixfiles/profiles/dev/containers.nix +++ b/modules/common/profiles/dev/containers.nix @@ -33,7 +33,6 @@ in { clusterctl cmctl datree - fluxcd helm istioctl kubeconform @@ -52,7 +51,6 @@ in { skopeo stern telepresence - terraform werf ]; }; diff --git a/modules/nixfiles/profiles/dev/default.nix b/modules/common/profiles/dev/default.nix index b05aeac..b05aeac 100644 --- a/modules/nixfiles/profiles/dev/default.nix +++ b/modules/common/profiles/dev/default.nix diff --git a/modules/nixfiles/profiles/dev/editorconfig.ini b/modules/common/profiles/dev/editorconfig.ini index 17b0317..17b0317 100644 --- a/modules/nixfiles/profiles/dev/editorconfig.ini +++ b/modules/common/profiles/dev/editorconfig.ini diff --git a/modules/nixfiles/profiles/dev/gdbinit b/modules/common/profiles/dev/gdbinit index e266236..e266236 100644 --- a/modules/nixfiles/profiles/dev/gdbinit +++ b/modules/common/profiles/dev/gdbinit diff --git a/modules/nixfiles/profiles/dev/ghci.conf b/modules/common/profiles/dev/ghci.conf index d672167..d672167 100644 --- a/modules/nixfiles/profiles/dev/ghci.conf +++ b/modules/common/profiles/dev/ghci.conf diff --git a/modules/nixfiles/profiles/dev/pystartup.py b/modules/common/profiles/dev/pystartup.py index adde66c..adde66c 100644 --- a/modules/nixfiles/profiles/dev/pystartup.py +++ b/modules/common/profiles/dev/pystartup.py diff --git a/modules/nixfiles/profiles/dev/sql.nix b/modules/common/profiles/dev/sql.nix index 7a2a09c..7a2a09c 100644 --- a/modules/nixfiles/profiles/dev/sql.nix +++ b/modules/common/profiles/dev/sql.nix diff --git a/modules/nixfiles/profiles/headful.nix b/modules/common/profiles/headful.nix index 1c1f43b..eec14c5 100644 --- a/modules/nixfiles/profiles/headful.nix +++ b/modules/common/profiles/headful.nix @@ -95,6 +95,7 @@ in { }; environment.systemPackages = with pkgs; [ + (aspellWithDicts (p: with p; [en ru])) arping dnsutils inetutils diff --git a/modules/nixfiles/profiles/headless.nix b/modules/common/profiles/headless.nix index cc7c326..cc7c326 100644 --- a/modules/nixfiles/profiles/headless.nix +++ b/modules/common/profiles/headless.nix diff --git a/modules/nixfiles/qutebrowser.nix b/modules/common/qutebrowser.nix index 68a41a5..68a41a5 100644 --- a/modules/nixfiles/qutebrowser.nix +++ b/modules/common/qutebrowser.nix diff --git a/modules/nixfiles/subversion.nix b/modules/common/subversion.nix index 077f449..077f449 100644 --- a/modules/nixfiles/subversion.nix +++ b/modules/common/subversion.nix diff --git a/modules/nixfiles/tmux.nix b/modules/common/tmux.nix index e978f72..e978f72 100644 --- a/modules/nixfiles/tmux.nix +++ b/modules/common/tmux.nix diff --git a/modules/nixfiles/vim/default.nix b/modules/common/vim/default.nix index db46d34..0328e10 100644 --- a/modules/nixfiles/vim/default.nix +++ b/modules/common/vim/default.nix @@ -2,6 +2,7 @@ config, lib, pkgs, + this, ... }: with lib; let @@ -11,29 +12,21 @@ in { config = mkIf cfg.enable { programs.vim.package = with pkgs; - ((vim_configurable.override {features = "normal";} - // mapListToAttrs false [ - "cscopeSupport" - "darwinSupport" - "guiSupport" - "luaSupport" - "multibyteSupport" - "netbeansSupport" - "nlsSupport" - "perlSupport" - "pythonSupport" - "rubySupport" - "tclSupport" - "ximSupport" - ]) - .overrideAttrs (_: super: { - configureFlags = - super.configureFlags - ++ [ - "--enable-gpm=no" - "--enable-gui=no" - ]; - })) + (vim_configurable.override { + features = "normal"; + cscopeSupport = false; + darwinSupport = pkgs.stdenv.isDarwin; + guiSupport = false; + luaSupport = false; + multibyteSupport = false; + netbeansSupport = false; + nlsSupport = false; + perlSupport = false; + pythonSupport = false; + rubySupport = false; + tclSupport = false; + ximSupport = false; + }) .customize { name = "vim"; vimrcConfig = { diff --git a/modules/nixfiles/vim/rc.vim b/modules/common/vim/rc.vim index 1657c6d..945643a 100644 --- a/modules/nixfiles/vim/rc.vim +++ b/modules/common/vim/rc.vim @@ -9,6 +9,7 @@ let g:netrw_dirhistmax = 0 set autoread set backspace=indent,eol,start +set clipboard=unnamedplus set diffopt+=iwhite set hidden set history=256 @@ -98,10 +99,6 @@ set tabstop=4 autocmd BufEnter *.* :set colorcolumn= -if has('unnamedplus') - set clipboard^=unnamedplus -endif - if &t_Co == 8 && $TERM !~# '^Eterm' set t_Co=16 endif diff --git a/modules/nixfiles/vscode.nix b/modules/common/vscode.nix index 6671973..6671973 100644 --- a/modules/nixfiles/vscode.nix +++ b/modules/common/vscode.nix diff --git a/modules/nixfiles/wget.nix b/modules/common/wget.nix index 9a16fcc..9a16fcc 100644 --- a/modules/nixfiles/wget.nix +++ b/modules/common/wget.nix diff --git a/modules/nixfiles/zathura.nix b/modules/common/zathura.nix index 1a0b39a..f78a9e9 100644 --- a/modules/nixfiles/zathura.nix +++ b/modules/common/zathura.nix @@ -112,10 +112,7 @@ in { scroll-wrap = true; scroll-page-aware = false; - selection-clipboard = - if config.nixfiles.modules.kde.enable - then "clipboard" - else "primary"; + selection-clipboard = "clipboard"; selection-notification = false; }; }; diff --git a/modules/nixfiles/emacs/default.nix b/modules/nixfiles/emacs/default.nix deleted file mode 100644 index 975c809..0000000 --- a/modules/nixfiles/emacs/default.nix +++ /dev/null @@ -1,137 +0,0 @@ -{ - config, - inputs, - lib, - pkgs, - this, - ... -}: -with lib; let - cfg = config.nixfiles.modules.emacs; -in { - options.nixfiles.modules.emacs.enable = mkEnableOption "GNU Emacs"; - - config = mkIf cfg.enable { - nixfiles.modules = { - fonts.enable = true; - git.client.enable = true; - gnupg.enable = true; - }; - - hm = { - imports = [inputs.nix-doom-emacs.hmModule]; - - programs.doom-emacs = { - enable = true; - doomPrivateDir = ./doom; - emacsPackage = pkgs.emacs28; # The package is pinned to avoid surprises. - extraPackages = with pkgs; [ - mu # :email mu4e - ]; - extraConfig = let - # NOTE gopls will require the "go" executable which must be provided - # by the project's flake/shell. - extraBins = with pkgs; - [ - (aspellWithDicts (p: with p; [en ru])) # :checkers (spell +aspell) - (python3.withPackages (p: - with p; [ - # :lang python :ui (treemacs +lsp) - black # :lang python :editor format - isort # :lang python - pyflakes # :lang python - python-lsp-server # :lang (python +lsp) - ])) - asmfmt # :editor format - bash-language-server # :lang (sh +lsp) - clang-tools # :lang (cc +lsp) :editor format - cmake-format # :lang cc :editor format - cmigemo # :lang japanese - css-language-server # :lang (web +lsp) - dhall-language-server # :lang (dhall +lsp) - dockerfile-language-server # :tools (docker +lsp) - editorconfig # :tools editorconfig - fd # doom! - gnuplot # :lang (org +gnuplot) - gnutls # doom! - go-language-server # :lang (go +lsp) - gomodifytags # :lang go - gore # :lang go - gotests # :lang go - graphviz # :lang (org +roam2) :lang plantuml - haskellPackages.haskell-language-server # :lang (haskell +lsp) - haskellPackages.ormolu # :lang haskell :editor format - haskellPackages.cabal-fmt # :lang haskell :editor format - haskellPackages.cabal-install # :lang haskell - haskellPackages.hoogle # :lang haskell - html-language-server # :lang (web +lsp) - html-tidy # :lang web - jre # :lang plantuml - json-language-server # :lang (json +lsp) - nix-language-server # :lang (nix +lsp) - nixfmt # :lang nix :editor format - nodePackages.js-beautify # :lang web - nodePackages.prettier # :editor format - nodePackages.stylelint # :lang web - nodejs # :tools debugger - pandoc # :lang org markdown latex - pinentry-emacs # doom! - pre-commit # :tools magit - ripgrep # doom! - rust-analyzer # :lang (rust +lsp) - rustfmt # :lang rust - shellcheck # :lang sh - shfmt # :lang sh :editor format - sqlite # :lang (org +roam2) :tools lookup - texlab # lang (tex +lsp) - texlive.combined.scheme-full # :lang org tex - unzip # :tools debugger - wordnet # :tools (lookup +dictionary +offline) - yaml-language-server # :lang (yaml +lsp) - zls # :lang (zig +lsp) - zstd # :emacs undo - ] - ++ ( - # :tools debugger - if (this.system != "aarch64-darwin") - then [gdb] - else [lldb] - ); - in '' - ;; This will integrate packages which are required by various modules - ;; without polluting the user's profile. - (setq exec-path (append exec-path '(${ - concatMapStringsSep " " (x: ''"${x}/bin"'') extraBins - }))) - (setenv "PATH" (concat (getenv "PATH") ":${ - concatMapStringsSep ":" (x: "${x}/bin") extraBins - }")) - - (setq custom-file (file-name-concat doom-emacs-dir "custom.el")) - - ;; Font must be set to n+2 because otherwise it looks too small. - (setq doom-font (font-spec :family "${config.fontScheme.monospaceFont.family}" - :size ${toString (config.fontScheme.monospaceFont.size + 2)}) - doom-unicode-font doom-font) - - (setq user-full-name "${my.fullname}" - user-mail-address "${my.email}") - - ;; :app irc - (setq circe-default-nick "${my.username}" - circe-default-realname "${my.email}" - circe-default-user circe-default-nick) - - ;; :lang plantuml - (setq org-plantuml-jar-path "${pkgs.plantuml}/lib/plantuml.jar") - - ;; :input japanese - (setq migemo-dictionary "${pkgs.cmigemo}/share/migemo/utf-8/migemo-dict") - - ;; :input japanese - (setq skk-large-jisyo "${pkgs.skk-dicts}/share/skk/SKK-JISYO.L") - ''; - }; - }; - }; -} diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index 188a999..850d93e 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -12,6 +12,7 @@ _: { ./endlessh-go.nix ./endlessh.nix ./fail2ban.nix + ./firefox ./fonts.nix ./games ./git @@ -27,6 +28,7 @@ _: { ./lxc.nix ./matrix ./monitoring + ./mpd.nix ./nextcloud.nix ./nginx.nix ./node-exporter.nix diff --git a/modules/nixos/emacs.nix b/modules/nixos/emacs.nix index 2db8120..e348398 100644 --- a/modules/nixos/emacs.nix +++ b/modules/nixos/emacs.nix @@ -17,7 +17,7 @@ in { nixfiles.modules.x11.enable = true; hm = { - programs.doom-emacs.extraConfig = mkAfter '' + programs.emacs.extraConfig = mkAfter '' (appendq! auth-sources '("${config.secrets.authinfo.path}")) ''; diff --git a/modules/nixfiles/firefox/default.nix b/modules/nixos/firefox/default.nix index 7038773..7038773 100644 --- a/modules/nixfiles/firefox/default.nix +++ b/modules/nixos/firefox/default.nix diff --git a/modules/nixfiles/firefox/userChrome.css b/modules/nixos/firefox/userChrome.css index 58e450e..58e450e 100644 --- a/modules/nixfiles/firefox/userChrome.css +++ b/modules/nixos/firefox/userChrome.css diff --git a/modules/nixfiles/firefox/userContent.css b/modules/nixos/firefox/userContent.css index 2de8cde..2de8cde 100644 --- a/modules/nixfiles/firefox/userContent.css +++ b/modules/nixos/firefox/userContent.css diff --git a/modules/nixos/git/default.nix b/modules/nixos/git/default.nix index 86891ae..1bf63c7 100644 --- a/modules/nixos/git/default.nix +++ b/modules/nixos/git/default.nix @@ -20,7 +20,7 @@ in { package = mkOption { description = "Package."; type = types.package; - default = pkgs.cgit-pink; + default = pkgs.cgit; }; }; @@ -58,6 +58,8 @@ in { root-desc=Homo sum, humani a me nihil alienum puto. footer= + clone-url=https://${cfg.server.domain}/$CGIT_REPO_URL + logo=/cgit-custom-logo.gif favicon=/cgit-custom-favicon.gif css=/cgit-custom-style.css @@ -68,7 +70,6 @@ in { enable-git-config=1 enable-gitweb-owner=1 - enable-index-owner=0 remove-suffix=1 readme=:README @@ -106,63 +107,11 @@ in { pkgs.writeText "custom.css" '' @import url("cgit.css"); - form { - display: none; - } - div#cgit { - max-width: 157ch; - margin: auto; font-family: "${config.fontScheme.monospaceFont.family}", monospace; -moz-tab-size: 4; tab-size: 4; } - - div#cgit table#header td.sub { - border-top: none; - } - - div#cgit table#header td.sub.right { - padding-right: 1em; - } - - div#cgit table.tabs { - border-bottom: none; - } - - div#cgit div.content { - border-bottom: none; - } - - div#cgit table.list th a { - color: inherit; - } - - div#cgit table.list tr:nth-child(even) { - background: inherit; - } - - div#cgit table.list tr:hover { - background: inherit; - } - - div#cgit table.list tr.nohover-highlight:hover:nth-child(even) { - background: inherit; - } - - div#cgit table.blob td.linenumbers a:target { - color: goldenrod; - text-decoration: underline; - outline: none; - } - - div#cgit div#summary { - max-width: 80ch; - } - - div#cgit a.permalink { - color: inherit; - } ''; in '' alias ${css}; diff --git a/modules/nixfiles/mpd.nix b/modules/nixos/mpd.nix index 4b49213..4b49213 100644 --- a/modules/nixfiles/mpd.nix +++ b/modules/nixos/mpd.nix diff --git a/modules/nixos/openssh.nix b/modules/nixos/openssh.nix index c7a144e..6f4614c 100644 --- a/modules/nixos/openssh.nix +++ b/modules/nixos/openssh.nix @@ -18,16 +18,14 @@ in { }; config = mkIf cfg.server.enable { - # FIXME This is mounted after the activation script is launched. - ark = { - files = [ - "/etc/ssh/ssh_host_ed25519_key" - "/etc/ssh/ssh_host_ed25519_key.pub" - "/etc/ssh/ssh_host_rsa_key" - "/etc/ssh/ssh_host_rsa_key.pub" - ]; - # directories = ["/etc/ssh/authorized_keys.d"]; - }; + # authorized_keys is not added here because it only contains my SSH keys and + # all non-declarative ones are located in the home directory. + ark.files = [ + "/etc/ssh/ssh_host_ed25519_key" + "/etc/ssh/ssh_host_ed25519_key.pub" + "/etc/ssh/ssh_host_rsa_key" + "/etc/ssh/ssh_host_rsa_key.pub" + ]; programs.mosh.enable = true; diff --git a/modules/nixos/profiles/headful.nix b/modules/nixos/profiles/headful.nix index ca604cb..ede921a 100644 --- a/modules/nixos/profiles/headful.nix +++ b/modules/nixos/profiles/headful.nix @@ -13,7 +13,6 @@ in { chromium.enable = true; firefox.enable = true; sound.enable = true; - x11.enable = true; dwm.enable = mkDefault false; kde.enable = mkDefault true; |