Compare commits
12 Commits
539b46393e
...
nixos
| Author | SHA1 | Date | |
|---|---|---|---|
|
b86cc94d23
|
|||
|
95825c6ff1
|
|||
|
3e7e404d4c
|
|||
|
bb4c77208d
|
|||
|
1f53cd2efb
|
|||
|
d9f8c16011
|
|||
|
4335805701
|
|||
|
|
4a18ae77fc | ||
|
|
5ebf3c9c5e | ||
|
|
f4e5628238 | ||
|
|
bf00621b02 | ||
|
|
ec8d9fafdd |
@@ -16,6 +16,7 @@
|
|||||||
domain = {
|
domain = {
|
||||||
natto = "weirdnatto.in";
|
natto = "weirdnatto.in";
|
||||||
amneesh = "amneesh.com";
|
amneesh = "amneesh.com";
|
||||||
|
chutiya = "chutiya.online";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
851
flake.lock
generated
851
flake.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -52,7 +52,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
filehost = {
|
filehost = {
|
||||||
url = "github:natto1784/simpler-filehost";
|
url = "github:natto1784/yamaf";
|
||||||
};
|
};
|
||||||
|
|
||||||
nix-gaming.url = "github:fufexan/nix-gaming";
|
nix-gaming.url = "github:fufexan/nix-gaming";
|
||||||
|
|||||||
@@ -16,8 +16,7 @@
|
|||||||
imports = [
|
imports = [
|
||||||
./pkgs.nix
|
./pkgs.nix
|
||||||
./nixgl.nix
|
./nixgl.nix
|
||||||
# wayland
|
./screen.nix
|
||||||
./hyprlock.nix
|
|
||||||
./wayvnc.nix
|
./wayvnc.nix
|
||||||
|
|
||||||
# From personal
|
# From personal
|
||||||
@@ -27,7 +26,6 @@
|
|||||||
../natto/dunst.nix
|
../natto/dunst.nix
|
||||||
../natto/gtk.nix
|
../natto/gtk.nix
|
||||||
../natto/cursor.nix
|
../natto/cursor.nix
|
||||||
# wayland
|
|
||||||
../natto/wayland.nix
|
../natto/wayland.nix
|
||||||
../natto/hypridle.nix
|
../natto/hypridle.nix
|
||||||
../natto/hyprlock.nix
|
../natto/hyprlock.nix
|
||||||
|
|||||||
@@ -1,17 +0,0 @@
|
|||||||
{
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
|
|
||||||
standalonePam = pkgs.linux-pam.overrideAttrs (oa: {
|
|
||||||
postPatch = ''
|
|
||||||
substituteInPlace modules/module-meson.build \
|
|
||||||
--replace "sbindir / 'unix_chkpwd'" "'/usr/bin/unix_chkpwd'"
|
|
||||||
'';
|
|
||||||
});
|
|
||||||
in
|
|
||||||
{
|
|
||||||
programs.hyprlock.package = lib.mkForce (pkgs.hyprlock.override { pam = standalonePam; });
|
|
||||||
}
|
|
||||||
@@ -23,5 +23,7 @@
|
|||||||
thunderbird
|
thunderbird
|
||||||
wget
|
wget
|
||||||
xfce.thunar
|
xfce.thunar
|
||||||
|
libreoffice
|
||||||
|
git-repo
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
12
home/amneesh/screen.nix
Normal file
12
home/amneesh/screen.nix
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
home = {
|
||||||
|
packages = [ pkgs.screen ];
|
||||||
|
|
||||||
|
file = {
|
||||||
|
".screenrc".text = ''
|
||||||
|
defscrollback 10000
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
autosuggestions.color = "fg=yellow,bold";
|
autosuggestions.color = "fg=yellow,bold";
|
||||||
utility.safeOps = false;
|
utility.safeOps = false;
|
||||||
extraConfig = lib.mkBefore ''
|
extraConfig = lib.mkBefore ''
|
||||||
export GREP_COLORS="ms=01;31"
|
export GREP_COLORS="mt=01;31"
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
initContent = lib.mkAfter ''
|
initContent = lib.mkAfter ''
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ let
|
|||||||
];
|
];
|
||||||
|
|
||||||
mkPkgs =
|
mkPkgs =
|
||||||
system:
|
system: overlays:
|
||||||
import inputs.nixpkgs {
|
import inputs.nixpkgs {
|
||||||
inherit system;
|
inherit system;
|
||||||
config = {
|
config = {
|
||||||
@@ -22,7 +22,7 @@ let
|
|||||||
allowBroken = true;
|
allowBroken = true;
|
||||||
allowInsecure = true;
|
allowInsecure = true;
|
||||||
};
|
};
|
||||||
overlays = [ self.overlays.default ];
|
overlays = overlays ++ [ self.overlays.default ];
|
||||||
};
|
};
|
||||||
|
|
||||||
extraSpecialArgs = globalArgs;
|
extraSpecialArgs = globalArgs;
|
||||||
@@ -37,7 +37,7 @@ in
|
|||||||
{ isLaptop = true; }
|
{ isLaptop = true; }
|
||||||
]
|
]
|
||||||
++ common;
|
++ common;
|
||||||
pkgs = mkPkgs "x86_64-linux";
|
pkgs = mkPkgs "x86_64-linux" [ ];
|
||||||
};
|
};
|
||||||
|
|
||||||
natto = inputs.home-manager.lib.homeManagerConfiguration {
|
natto = inputs.home-manager.lib.homeManagerConfiguration {
|
||||||
@@ -47,7 +47,7 @@ in
|
|||||||
./common/fonts
|
./common/fonts
|
||||||
]
|
]
|
||||||
++ common;
|
++ common;
|
||||||
pkgs = mkPkgs "x86_64-linux";
|
pkgs = mkPkgs "x86_64-linux" [ ];
|
||||||
};
|
};
|
||||||
|
|
||||||
spark = inputs.home-manager.lib.homeManagerConfiguration {
|
spark = inputs.home-manager.lib.homeManagerConfiguration {
|
||||||
@@ -62,7 +62,7 @@ in
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
++ common;
|
++ common;
|
||||||
pkgs = mkPkgs "aarch64-linux";
|
pkgs = mkPkgs "aarch64-linux" [ ];
|
||||||
};
|
};
|
||||||
|
|
||||||
bat = inputs.home-manager.lib.homeManagerConfiguration {
|
bat = inputs.home-manager.lib.homeManagerConfiguration {
|
||||||
@@ -77,7 +77,7 @@ in
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
++ common;
|
++ common;
|
||||||
pkgs = mkPkgs "x86_64-linux";
|
pkgs = mkPkgs "x86_64-linux" [ ];
|
||||||
};
|
};
|
||||||
|
|
||||||
spin = inputs.home-manager.lib.homeManagerConfiguration {
|
spin = inputs.home-manager.lib.homeManagerConfiguration {
|
||||||
@@ -92,7 +92,7 @@ in
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
++ common;
|
++ common;
|
||||||
pkgs = mkPkgs "x86_64-linux";
|
pkgs = mkPkgs "x86_64-linux" [ ];
|
||||||
};
|
};
|
||||||
|
|
||||||
kero = inputs.home-manager.lib.homeManagerConfiguration {
|
kero = inputs.home-manager.lib.homeManagerConfiguration {
|
||||||
@@ -107,7 +107,7 @@ in
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
++ common;
|
++ common;
|
||||||
pkgs = mkPkgs "aarch64-linux";
|
pkgs = mkPkgs "aarch64-linux" [ ];
|
||||||
};
|
};
|
||||||
|
|
||||||
amneesh = inputs.home-manager.lib.homeManagerConfiguration {
|
amneesh = inputs.home-manager.lib.homeManagerConfiguration {
|
||||||
@@ -116,7 +116,7 @@ in
|
|||||||
./amneesh
|
./amneesh
|
||||||
]
|
]
|
||||||
++ common;
|
++ common;
|
||||||
pkgs = mkPkgs "x86_64-linux";
|
pkgs = mkPkgs "x86_64-linux" [ (import ./overlays/standalone.nix) ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
(fringe-mode 0)
|
(fringe-mode 0)
|
||||||
(global-display-line-numbers-mode 1)
|
(global-display-line-numbers-mode 1)
|
||||||
(xterm-mouse-mode 1)
|
(xterm-mouse-mode 1)
|
||||||
|
(electric-pair-mode)
|
||||||
(setq ring-bell-function 'ignore
|
(setq ring-bell-function 'ignore
|
||||||
gc-cons-threshold most-positive-fixnum
|
gc-cons-threshold most-positive-fixnum
|
||||||
initial-major-mode 'fundamental-mode)
|
initial-major-mode 'fundamental-mode)
|
||||||
@@ -33,7 +34,9 @@
|
|||||||
scroll-step 1
|
scroll-step 1
|
||||||
display-line-numbers-type 'relative
|
display-line-numbers-type 'relative
|
||||||
confirm-kill-processes nil
|
confirm-kill-processes nil
|
||||||
inhibit-startup-screen t)
|
inhibit-startup-screen t
|
||||||
|
isearch-lazy-count t
|
||||||
|
lazy-count-prefix-format "[%s/%s] ")
|
||||||
(setq-default tab-width 2
|
(setq-default tab-width 2
|
||||||
indent-tabs-mode nil)
|
indent-tabs-mode nil)
|
||||||
#+end_src
|
#+end_src
|
||||||
@@ -57,8 +60,7 @@
|
|||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package benchmark-init
|
(use-package benchmark-init
|
||||||
:config
|
:config
|
||||||
;; To disable collection of benchmark data after init is done.
|
(add-hook 'after-init-hook 'benchmark-init/deactivate) )
|
||||||
:init (benchmark-init/deactivate))
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Visual packages
|
** Visual packages
|
||||||
@@ -78,6 +80,15 @@
|
|||||||
(dark-theme t))
|
(dark-theme t))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
*** Indent guides
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package highlight-indent-guides
|
||||||
|
:config
|
||||||
|
(setq highlight-indent-guides-method 'column)
|
||||||
|
:hook
|
||||||
|
(prog-mode . highlight-indent-guides-mode))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
** Minibuffer
|
** Minibuffer
|
||||||
Enable vertico
|
Enable vertico
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
@@ -138,6 +149,7 @@ Consult
|
|||||||
(use-package evil
|
(use-package evil
|
||||||
:init
|
:init
|
||||||
(setq-default evil-shift-width 2)
|
(setq-default evil-shift-width 2)
|
||||||
|
(setq evil-want-keybinding nil)
|
||||||
:config
|
:config
|
||||||
(evil-set-initial-state 'vterm-mode 'insert)
|
(evil-set-initial-state 'vterm-mode 'insert)
|
||||||
(evil-set-undo-system 'undo-tree)
|
(evil-set-undo-system 'undo-tree)
|
||||||
@@ -191,8 +203,8 @@ To undo and redo easily like vi
|
|||||||
(use-package lsp-mode
|
(use-package lsp-mode
|
||||||
:defer t
|
:defer t
|
||||||
:commands lsp
|
:commands lsp
|
||||||
:init
|
:init (setq lsp-enable-on-type-formatting nil)
|
||||||
(setq lsp-enable-on-type-formatting nil))
|
:hook (prog-mode . lsp-deferred))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
*** Configure lsp-ui
|
*** Configure lsp-ui
|
||||||
@@ -234,7 +246,6 @@ For autocomplete
|
|||||||
(add-to-list 'company-backends 'company-dabbrev)
|
(add-to-list 'company-backends 'company-dabbrev)
|
||||||
(setq company-backends (append '(company-files) (remove 'company-files company-backends)))
|
(setq company-backends (append '(company-files) (remove 'company-files company-backends)))
|
||||||
:hook (after-init . global-company-mode))
|
:hook (after-init . global-company-mode))
|
||||||
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
*** Configure company-quickhelp
|
*** Configure company-quickhelp
|
||||||
@@ -265,6 +276,8 @@ For autocomplete
|
|||||||
|
|
||||||
** Languages
|
** Languages
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
|
(use-package dts-mode
|
||||||
|
:mode ("\\.dts\\'" "\\.dtsi\\'" "\\.overlay\\'"))
|
||||||
(use-package lsp-haskell
|
(use-package lsp-haskell
|
||||||
:mode "\\.hs\\'")
|
:mode "\\.hs\\'")
|
||||||
(use-package lsp-latex
|
(use-package lsp-latex
|
||||||
@@ -355,26 +368,64 @@ Do not use centaur tabs for now
|
|||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Misc packages
|
** Misc packages
|
||||||
#+begin_src emacs-lisp
|
*** Icons
|
||||||
|
For installing icons
|
||||||
|
#+begin_src emacs-lisp
|
||||||
(use-package all-the-icons
|
(use-package all-the-icons
|
||||||
|
:defer t
|
||||||
:if (display-graphic-p))
|
:if (display-graphic-p))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
(use-package elcord :defer t)
|
*** Projectile
|
||||||
|
For tracking project root
|
||||||
|
#+begin_src emacs-lisp
|
||||||
(use-package projectile
|
(use-package projectile
|
||||||
:defer t
|
:defer t
|
||||||
:config
|
:config
|
||||||
(define-key projectile-mode-map (kbd "C-x p") 'projectile-command-map)
|
(define-key projectile-mode-map (kbd "C-x p") 'projectile-command-map)
|
||||||
(projectile-mode +1))
|
(projectile-mode +1))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
*** Rainbow
|
||||||
|
For highlighting colors
|
||||||
|
#+begin_src emacs-lisp
|
||||||
(use-package rainbow-mode :defer t)
|
(use-package rainbow-mode :defer t)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
*** Rainbow delimiters
|
||||||
|
To make distinguishing parens easier
|
||||||
|
#+begin_src emacs-lisp
|
||||||
(use-package rainbow-delimiters
|
(use-package rainbow-delimiters
|
||||||
:hook (prog-mode . rainbow-delimiters-mode))
|
:hook (prog-mode . rainbow-delimiters-mode))
|
||||||
|
|
||||||
(use-package flex-autopair)
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
*** Olivetti
|
||||||
|
When you want write prose or something similar
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package olivetti
|
||||||
|
:defer t
|
||||||
|
:diminish olivetti-mode
|
||||||
|
:custom
|
||||||
|
(olivetti-body-width 100)
|
||||||
|
(olivetti-minimum-body-width 50)
|
||||||
|
(olivetti-style 'fancy)
|
||||||
|
(olivetti-recall-visual-line-mode-entry-state t)
|
||||||
|
:config
|
||||||
|
(defvar-local my/olivetti--saved-line-numbers nil
|
||||||
|
"Stores the previous value of `display-line-numbers` before enabling Olivetti.")
|
||||||
|
|
||||||
|
(defun my/olivetti-toggle-line-numbers ()
|
||||||
|
"Hide line numbers when entering Olivetti, restore when exiting."
|
||||||
|
(if olivetti-mode
|
||||||
|
(progn
|
||||||
|
(setq my/olivetti--saved-line-numbers display-line-numbers)
|
||||||
|
(setq display-line-numbers nil))
|
||||||
|
(setq display-line-numbers my/olivetti--saved-line-numbers)))
|
||||||
|
|
||||||
|
(add-hook 'olivetti-mode-hook #'my/olivetti-toggle-line-numbers))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
|
||||||
** Org
|
** Org
|
||||||
** Add org-mode
|
** Add org-mode
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
@@ -422,22 +473,31 @@ Do not use centaur tabs for now
|
|||||||
(latex . t)))
|
(latex . t)))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* Mode specific hooks
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(add-hook 'c-mode-hook 'lsp)
|
|
||||||
(add-hook 'c++-mode-hook 'lsp)
|
|
||||||
(add-hook 'haskell-mode-hook #'lsp)
|
|
||||||
(add-hook 'haskell-literate-mode-hook #'lsp)
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
* Random eye candy stuff
|
* Random eye candy stuff
|
||||||
|
* Mode line
|
||||||
* Custom mode line
|
** Doom modeline
|
||||||
switched to doom modeline after using my own modeline for a while
|
Switched to doom modeline after using my own modeline for a while
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package doom-modeline
|
(use-package doom-modeline
|
||||||
:init (doom-modeline-mode 1))
|
:init (doom-modeline-mode 1))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
Also show columns
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(column-number-mode 1)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** Nyan Mode
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package nyan-mode
|
||||||
|
:ensure t
|
||||||
|
:init
|
||||||
|
(when (display-graphic-p)
|
||||||
|
(nyan-mode 1))
|
||||||
|
:custom
|
||||||
|
(nyan-animate-nyancat t)
|
||||||
|
:config
|
||||||
|
(nyan-start-animation))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
* Pop-up terminal
|
* Pop-up terminal
|
||||||
Stolen from [[https://www.reddit.com/r/emacs/comments/ft84xy/run_shell_command_in_new_vterm/][this]] reddit post
|
Stolen from [[https://www.reddit.com/r/emacs/comments/ft84xy/run_shell_command_in_new_vterm/][this]] reddit post
|
||||||
@@ -465,33 +525,35 @@ Stolen from [[https://www.reddit.com/r/emacs/comments/ft84xy/run_shell_command_i
|
|||||||
(vterm-send-return)))
|
(vterm-send-return)))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
Compilation shortcuts for standalone files
|
* LLMs
|
||||||
|
** gptel
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(defun candrun ()
|
(use-package gptel
|
||||||
(let ((full buffer-file-name)
|
:defer t
|
||||||
(file (file-name-sans-extension buffer-file-name)))
|
:config
|
||||||
(pcase (file-name-extension full)
|
(setq gptel-model 'claude-sonnet-4-20250514
|
||||||
("c" (concat "gcc " full " -lm -pthread -o " file " && " file " && rm " file))
|
gptel-backend (gptel-make-anthropic "Claude"
|
||||||
("java" (concat "java " full))
|
:stream t
|
||||||
("py" (concat "python " full))
|
:protocol "https"
|
||||||
("cpp" (concat "g++ " full " -o " file " && " file " && rm " file))
|
:key (getenv "ANTHROPIC_API_KEY")
|
||||||
("cc" (concat "g++ " full " -o " file " && " file " && rm " file))
|
:host (getenv "ANTHROPIC_API_BASE_DOMAIN")))
|
||||||
("hs" (concat "runhaskell " full))
|
(setq gptel-default-mode 'org-mode)
|
||||||
("sh" (concat "sh " full))
|
:bind (("C-c g" . gptel)))
|
||||||
("js" (concat "node " full))
|
|
||||||
("ts" (concat "tsc " full " && node " file ".js && rm " file ".js" ))
|
|
||||||
("rs" (concat "rustc " full " -o " file " && " file " && rm " file)))))
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* Custom Functions
|
** Aidermacs
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(defun detach-process ()
|
(use-package aidermacs
|
||||||
"Run processes but detached from the parent"
|
:defer t
|
||||||
(interactive)
|
:bind (("C-c a" . aidermacs-transient-menu))
|
||||||
(let ((command (read-string "Enter command:")))
|
:custom
|
||||||
(call-process-shell-command (concat command " &") nil 0)))
|
; See the Configuration section below
|
||||||
|
(aidermacs-default-chat-mode 'architect)
|
||||||
|
(aidermacs-default-model "sonnet"))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|
||||||
* Keybinds
|
* Keybinds
|
||||||
** General
|
** General
|
||||||
*** Colemak translations
|
*** Colemak translations
|
||||||
@@ -552,8 +614,7 @@ not using this anymore
|
|||||||
"<f4>" (lambda () (interactive) (vterm t))
|
"<f4>" (lambda () (interactive) (vterm t))
|
||||||
"C-S-t" 'vterm-toggle-cd
|
"C-S-t" 'vterm-toggle-cd
|
||||||
"C-t" 'vterm-toggle
|
"C-t" 'vterm-toggle
|
||||||
"<f1>" 'vterm-toggle
|
"<f1>" 'vterm-toggle)
|
||||||
"<f5>" (lambda () (interactive) (run-in-vterm (candrun))))
|
|
||||||
(general-define-key
|
(general-define-key
|
||||||
:keymaps 'vterm-mode-map
|
:keymaps 'vterm-mode-map
|
||||||
"<f3>" 'vterm-toggle-forward
|
"<f3>" 'vterm-toggle-forward
|
||||||
|
|||||||
@@ -24,11 +24,21 @@ in
|
|||||||
alwaysEnsure = true;
|
alwaysEnsure = true;
|
||||||
alwaysTangle = true;
|
alwaysTangle = true;
|
||||||
defaultInitFile = true;
|
defaultInitFile = true;
|
||||||
extraEmacsPackages =
|
extraEmacsPackages = epkgs: with epkgs; [
|
||||||
epkgs: with epkgs; [
|
|
||||||
use-package
|
use-package
|
||||||
(tree-sitter-langs.withPlugins (_: tree-sitter-langs.plugins))
|
(tree-sitter-langs.withPlugins (_: tree-sitter-langs.plugins))
|
||||||
];
|
];
|
||||||
|
|
||||||
|
override = final: prev: {
|
||||||
|
evil = prev.melpaPackages.evil.overrideAttrs(_: {
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "natto1784";
|
||||||
|
repo = "evil";
|
||||||
|
rev = "isearch-lazy-count";
|
||||||
|
sha256 = "sha256-YqXoqPqOWRvszzktb0MYHMe590mzTQxCMgBloy3MHkQ=";
|
||||||
|
};
|
||||||
|
});
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
services.emacs = {
|
services.emacs = {
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
font = "Fira Mono:style=Regular:pixelsize=18";
|
font = "Fira Mono:style=Regular:pixelsize=18";
|
||||||
font-bold = "Fira Mono:style=Bold:pixelsize=18";
|
font-bold = "Fira Mono:style=Bold:pixelsize=18";
|
||||||
};
|
};
|
||||||
scrollback.lines = 4000;
|
scrollback.lines = 10000;
|
||||||
colors = with conf.colors.default; {
|
colors = with conf.colors.default; {
|
||||||
inherit foreground background;
|
inherit foreground background;
|
||||||
regular0 = surface1;
|
regular0 = surface1;
|
||||||
|
|||||||
13
home/overlays/standalone.nix
Normal file
13
home/overlays/standalone.nix
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
final: prev:
|
||||||
|
let
|
||||||
|
pam = prev.pam.overrideAttrs (oa: {
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace modules/module-meson.build \
|
||||||
|
--replace "sbindir / 'unix_chkpwd'" "'/usr/bin/unix_chkpwd'"
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
in
|
||||||
|
{
|
||||||
|
hyprlock = prev.hyprlock.override { inherit pam; };
|
||||||
|
swaylock = prev.swaylock.override { inherit pam; };
|
||||||
|
}
|
||||||
@@ -1,25 +1,39 @@
|
|||||||
{
|
{
|
||||||
config,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
inputs,
|
inputs,
|
||||||
conf,
|
conf,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
systemd.services.filehost = {
|
systemd.services = rec {
|
||||||
enable = true;
|
filehost = {
|
||||||
wantedBy = [ "multi-user.target" ];
|
enable = true;
|
||||||
serviceConfig = {
|
wantedBy = [ "multi-user.target" ];
|
||||||
Type = "simple";
|
serviceConfig = {
|
||||||
Environment = [
|
Type = "simple";
|
||||||
"TITLE=nattofiles"
|
Environment = [
|
||||||
"USER_URL=https://f.${conf.network.addresses.domain.natto}"
|
"TITLE=nattofiles"
|
||||||
"ROCKET_LIMITS={file=\"512MB\",data-form=\"512MB\"}"
|
"INTERNAL_HOST=0.0.0.0"
|
||||||
"ROCKET_LOG_LEVEL=debug"
|
"INTERNAL_PORT=8000"
|
||||||
"ROCKET_ADDRESS=0.0.0.0"
|
"MAX_FILESIZE_MB=500"
|
||||||
];
|
"EXTERNAL_HAS_TLS=1"
|
||||||
Restart = "on-failure";
|
"EXTERNAL_HOST=f.${conf.network.addresses.domain.natto}"
|
||||||
ExecStart = "${inputs.filehost.packages.${pkgs.system}.simpler-filehost}/bin/simpler-filehost";
|
];
|
||||||
|
Restart = "on-failure";
|
||||||
|
ExecStart = "${inputs.filehost.packages.${pkgs.system}.yamaf}/bin/yamaf";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
filehost-chutiya = lib.recursiveUpdate filehost {
|
||||||
|
serviceConfig.Environment = [
|
||||||
|
"TITLE=chutiyafiles"
|
||||||
|
"INTERNAL_HOST=0.0.0.0"
|
||||||
|
"INTERNAL_PORT=8001"
|
||||||
|
"MAX_FILESIZE_MB=500"
|
||||||
|
"EXTERNAL_HAS_TLS=1"
|
||||||
|
"EXTERNAL_HOST=f.${conf.network.addresses.domain.chutiya}"
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
{
|
{
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
conf,
|
conf,
|
||||||
|
lib,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
@@ -36,6 +35,18 @@
|
|||||||
USER = FROM;
|
USER = FROM;
|
||||||
REGISTER_MAIL_CONFIRM = true;
|
REGISTER_MAIL_CONFIRM = true;
|
||||||
};
|
};
|
||||||
|
service = {
|
||||||
|
ENABLE_CAPTCHA = true;
|
||||||
|
EMAIL_DOMAIN_ALLOWLIST = lib.strings.concatStringsSep "," [
|
||||||
|
"gmail.com"
|
||||||
|
"outlook.com"
|
||||||
|
"proton.me"
|
||||||
|
"protonmail.com"
|
||||||
|
conf.network.addresses.domain.natto
|
||||||
|
conf.network.addresses.domain.amneesh
|
||||||
|
conf.network.addresses.domain.chutiya
|
||||||
|
];
|
||||||
|
};
|
||||||
oauth2_client.REGISTER_MAIL_CONFIRM = true;
|
oauth2_client.REGISTER_MAIL_CONFIRM = true;
|
||||||
actions.ENABLED = false;
|
actions.ENABLED = false;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{ conf, ... }:
|
{ conf, ... }:
|
||||||
let
|
let
|
||||||
domain = conf.network.addresses.domain.natto;
|
domain = conf.network.addresses.domain.natto;
|
||||||
|
chutiya = conf.network.addresses.domain.chutiya;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
services.nginx = {
|
services.nginx = {
|
||||||
@@ -35,6 +36,17 @@ in
|
|||||||
in
|
in
|
||||||
with conf.network.addresses.wireguard.ips;
|
with conf.network.addresses.wireguard.ips;
|
||||||
{
|
{
|
||||||
|
|
||||||
|
"${chutiya}" = {
|
||||||
|
addSSL = true;
|
||||||
|
enableACME = true;
|
||||||
|
locations."/" = {
|
||||||
|
root = "/var/lib/chutiya";
|
||||||
|
index = "index.html";
|
||||||
|
};
|
||||||
|
serverAliases = [ "www.${chutiya}" ];
|
||||||
|
};
|
||||||
|
|
||||||
"moj.${domain}" = genericHttpRProxy { addr = "https://${suwako}:25565"; };
|
"moj.${domain}" = genericHttpRProxy { addr = "https://${suwako}:25565"; };
|
||||||
|
|
||||||
"puffer.${domain}" = genericHttpRProxy {
|
"puffer.${domain}" = genericHttpRProxy {
|
||||||
@@ -59,7 +71,15 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
# Personal filehost
|
# Personal filehost
|
||||||
"f.${domain}" = genericHttpRProxy { addr = "http://${suwako}:8000"; };
|
"f.${chutiya}" = genericHttpRProxy {
|
||||||
|
addr = "http://${suwako}:8001";
|
||||||
|
conf = "client_max_body_size 512M;";
|
||||||
|
};
|
||||||
|
|
||||||
|
"f.${domain}" = genericHttpRProxy {
|
||||||
|
addr = "http://${suwako}:8000";
|
||||||
|
conf = "client_max_body_size 512M;";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user