add my pesterchum flake!
This commit is contained in:
parent
3d3275ce8e
commit
1e8414cf73
4 changed files with 131 additions and 35 deletions
37
flake.lock
37
flake.lock
|
@ -52,6 +52,19 @@
|
||||||
"url": "https://flakehub.com/f/edolstra/flake-compat/1.0.1.tar.gz"
|
"url": "https://flakehub.com/f/edolstra/flake-compat/1.0.1.tar.gz"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"flake-schemas": {
|
||||||
|
"locked": {
|
||||||
|
"narHash": "sha256-j8SR19V1SRysyJwpOBF4TLuAvAjF5t+gMiboN4gYQDU=",
|
||||||
|
"rev": "764932025c817d4e500a8d2a4d8c565563923d29",
|
||||||
|
"revCount": 29,
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/flake-schemas/0.1.2/018b3da8-4cc3-7fbb-8ff7-1588413c53e2/source.tar.gz"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://flakehub.com/f/DeterminateSystems/flake-schemas/%2A.tar.gz"
|
||||||
|
}
|
||||||
|
},
|
||||||
"flake-utils": {
|
"flake-utils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
|
@ -239,6 +252,27 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"pesterchum": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-schemas": "flake-schemas",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1699062698,
|
||||||
|
"narHash": "sha256-ten2EKAXp9vE6vL0MmirduxJGZvTBhIVe6xDoGt0LEY=",
|
||||||
|
"ref": "refs/heads/main",
|
||||||
|
"rev": "bbc1d9e69ea77ceb1163bf20a3d5991397779bd9",
|
||||||
|
"revCount": 1164,
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://g.pyrope.net/pesterchum"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://g.pyrope.net/pesterchum"
|
||||||
|
}
|
||||||
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"fh": "fh",
|
"fh": "fh",
|
||||||
|
@ -246,7 +280,8 @@
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"hyprland": "hyprland",
|
"hyprland": "hyprland",
|
||||||
"nixos-generators": "nixos-generators",
|
"nixos-generators": "nixos-generators",
|
||||||
"nixpkgs": "nixpkgs_3"
|
"nixpkgs": "nixpkgs_3",
|
||||||
|
"pesterchum": "pesterchum"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"rust-analyzer-src": {
|
"rust-analyzer-src": {
|
||||||
|
|
21
flake.nix
21
flake.nix
|
@ -16,12 +16,24 @@
|
||||||
|
|
||||||
hyprland.url = "github:hyprwm/Hyprland";
|
hyprland.url = "github:hyprwm/Hyprland";
|
||||||
|
|
||||||
|
pesterchum.url = "git+https://g.pyrope.net/pesterchum";
|
||||||
|
pesterchum.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
# for l8r :::;)
|
# for l8r :::;)
|
||||||
#homeage.url = "github:jordanisaacs/homeage";
|
#homeage.url = "github:jordanisaacs/homeage";
|
||||||
#homeage.inputs.nixpkgs.follows = "nixpkgs";
|
#homeage.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs@{ self, nixpkgs, home-manager, flake-utils, nixos-generators, hyprland, fh, ... }:
|
outputs = inputs@{
|
||||||
|
self,
|
||||||
|
nixpkgs,
|
||||||
|
home-manager,
|
||||||
|
flake-utils,
|
||||||
|
nixos-generators,
|
||||||
|
hyprland,
|
||||||
|
fh,
|
||||||
|
pesterchum,
|
||||||
|
... }:
|
||||||
let
|
let
|
||||||
# :(
|
# :(
|
||||||
# could do like nix-i3, nix-hyprland but that would be LAME
|
# could do like nix-i3, nix-hyprland but that would be LAME
|
||||||
|
@ -32,7 +44,12 @@
|
||||||
{
|
{
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = true;
|
||||||
home-manager.users.mbk = (import ./home.nix) conf;
|
home-manager.users.mbk = (import ./home.nix) {
|
||||||
|
inherit conf;
|
||||||
|
more-packages = [
|
||||||
|
pesterchum.packages.x86_64-linux.default
|
||||||
|
];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
environment.systemPackages = [ fh.packages.x86_64-linux.default ];
|
environment.systemPackages = [ fh.packages.x86_64-linux.default ];
|
||||||
|
|
54
home.nix
54
home.nix
|
@ -1,7 +1,6 @@
|
||||||
build-conf:
|
{ conf, more-packages ? [] }:
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
let
|
let
|
||||||
conf = build-conf;
|
|
||||||
wm = conf.wm;
|
wm = conf.wm;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
@ -47,7 +46,7 @@ in
|
||||||
|
|
||||||
idris2
|
idris2
|
||||||
|
|
||||||
# emacs like this
|
# emacs likes this
|
||||||
semgrep
|
semgrep
|
||||||
|
|
||||||
discord
|
discord
|
||||||
|
@ -79,7 +78,7 @@ in
|
||||||
# i only need one font :[
|
# i only need one font :[
|
||||||
nerdfonts
|
nerdfonts
|
||||||
# glow and gum are a good example of something that should really be in a flake.nix or whatever
|
# glow and gum are a good example of something that should really be in a flake.nix or whatever
|
||||||
];
|
] ++ more-packages;
|
||||||
|
|
||||||
programs.fish = {
|
programs.fish = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -272,11 +271,52 @@ in
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
services.emacs.client.enable = true;
|
# services.emacs.client.enable = true;
|
||||||
programs.emacs = {
|
programs.emacs = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# apparently errors in the config matter?
|
package = pkgs.emacs29;
|
||||||
# extraConfig = builtins.readFile ./init.el;
|
extraPackages = epkgs: with epkgs; [
|
||||||
|
which-key
|
||||||
|
emacs
|
||||||
|
all-the-icons-ivy
|
||||||
|
counsel
|
||||||
|
gruvbox-theme
|
||||||
|
lsp-mode
|
||||||
|
avy
|
||||||
|
consult
|
||||||
|
embark
|
||||||
|
embark-consult
|
||||||
|
vertico
|
||||||
|
#vertico-directory
|
||||||
|
marginalia
|
||||||
|
corfu
|
||||||
|
#corfu-popupinfo
|
||||||
|
corfu-terminal
|
||||||
|
kind-icon
|
||||||
|
#eshell
|
||||||
|
orderless
|
||||||
|
magit
|
||||||
|
markdown-mode
|
||||||
|
yaml-mode
|
||||||
|
json-mode
|
||||||
|
eglot
|
||||||
|
org
|
||||||
|
org
|
||||||
|
org-roam
|
||||||
|
paredit
|
||||||
|
rainbow-delimiters
|
||||||
|
geiser-chez
|
||||||
|
macrostep-geiser
|
||||||
|
evil
|
||||||
|
evil-leader
|
||||||
|
evil-goggles
|
||||||
|
evil-surround
|
||||||
|
evil-commentary
|
||||||
|
evil-org
|
||||||
|
erc-hl-nicks
|
||||||
|
];
|
||||||
|
# apparently errors in the config matter? nvm?
|
||||||
|
extraConfig = builtins.readFile ./init.el;
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.direnv.enable = true;
|
programs.direnv.enable = true;
|
||||||
|
|
54
init.el
54
init.el
|
@ -860,13 +860,13 @@ If the new path's directories does not exist, create them."
|
||||||
|
|
||||||
(defun open-init.el ()
|
(defun open-init.el ()
|
||||||
(interactive)
|
(interactive)
|
||||||
(find-file "~/.emacs.d/init.el"))
|
(find-file "/etc/nixos/init.el"))
|
||||||
(defun open-vim-like.el ()
|
;; (defun open-vim-like.el ()
|
||||||
(interactive)
|
;; (interactive)
|
||||||
(find-file "~/.emacs.d/extras/vim-like.el"))
|
;; (find-file "~/.emacs.d/extras/vim-like.el"))
|
||||||
(defun open-scheme.el ()
|
;; (defun open-scheme.el ()
|
||||||
(interactive)
|
;; (interactive)
|
||||||
(find-file "~/.emacs.d/extras/scheme.el"))
|
;; (find-file "~/.emacs.d/extras/scheme.el"))
|
||||||
; emacs lisp really is a pain, but even this makes me appreciate the POWA
|
; emacs lisp really is a pain, but even this makes me appreciate the POWA
|
||||||
(defun scheme-set-up-two-panels-with-repl-and-editor ()
|
(defun scheme-set-up-two-panels-with-repl-and-editor ()
|
||||||
(interactive)
|
(interactive)
|
||||||
|
@ -897,56 +897,60 @@ If the new path's directories does not exist, create them."
|
||||||
(evil-global-set-key 'visual " ssr" 'geiser-eval-region)
|
(evil-global-set-key 'visual " ssr" 'geiser-eval-region)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
(defun use-new-config ()
|
||||||
|
(shell-command "sudo nixos-rebuild switch")
|
||||||
|
(restart-emacs))
|
||||||
|
|
||||||
(use-package evil-leader
|
(use-package evil-leader
|
||||||
:ensure t
|
:ensure t
|
||||||
:config
|
:config
|
||||||
(global-evil-leader-mode)
|
(global-evil-leader-mode)
|
||||||
(setq evil-leader/leader "<SPC>")
|
(setq evil-leader/leader "<SPC>")
|
||||||
(evil-leader/set-key
|
(evil-leader/set-key
|
||||||
; very general
|
; very general
|
||||||
"w" 'evil-save
|
"w" 'evil-save
|
||||||
; u => unicode
|
; u => unicode
|
||||||
"u" 'insert-char
|
"u" 'insert-char
|
||||||
|
|
||||||
"g" 'magit
|
"g" 'magit
|
||||||
|
|
||||||
; mgmt of modes i want to toggle more often
|
; mgmt of modes i want to toggle more often
|
||||||
"mp" 'paredit-mode
|
"mp" 'paredit-mode
|
||||||
"ms" 'text-scale-adjust
|
"ms" 'text-scale-adjust
|
||||||
|
|
||||||
; buffers
|
; buffers
|
||||||
"be" 'counsel-switch-buffer
|
"be" 'counsel-switch-buffer
|
||||||
;; gonna try to stick to C-w commands
|
;; gonna try to stick to C-w commands
|
||||||
;; "bn" 'evil-buffer
|
;; "bn" 'evil-buffer
|
||||||
;; "bs" 'evil-split-buffer
|
;; "bs" 'evil-split-buffer
|
||||||
;; "bv" 'evil-window
|
;; "bv" 'evil-window
|
||||||
|
|
||||||
; config mgmt
|
; config mgmt
|
||||||
"ce" 'open-init.el
|
"ce" 'open-init.el
|
||||||
; "cev" 'open-vim-like.el
|
; "cev" 'open-vim-like.el
|
||||||
; "ces" 'open-scheme.el
|
; "ces" 'open-scheme.el
|
||||||
"cr" 'restart-emacs
|
"cr" 'use-new-config
|
||||||
|
|
||||||
; scheme
|
; scheme
|
||||||
; si => scheme inferior (avoids conflicts)
|
; si => scheme inferior (avoids conflicts)
|
||||||
"sir" 'geiser-chez
|
"sir" 'geiser-chez
|
||||||
"sil" 'geiser-load-file
|
"sil" 'geiser-load-file
|
||||||
"sii" 'scheme-set-up-two-panels-with-repl-and-editor
|
"sii" 'scheme-set-up-two-panels-with-repl-and-editor
|
||||||
|
|
||||||
; ss => scheme send
|
; ss => scheme send
|
||||||
"sss" 'geiser-eval-last-sexp
|
"sss" 'geiser-eval-last-sexp
|
||||||
;; "ssr" 'geiser-eval-region
|
;; "ssr" 'geiser-eval-region
|
||||||
"ssd" 'geiser-eval-definition
|
"ssd" 'geiser-eval-definition
|
||||||
; ssa => scheme send all
|
; ssa => scheme send all
|
||||||
"ssa" 'geiser-eval-buffer
|
"ssa" 'geiser-eval-buffer
|
||||||
|
|
||||||
; scheme/lispy-editing
|
; scheme/lispy-editing
|
||||||
"swp" 'paredit-wrap-round
|
"swp" 'paredit-wrap-round
|
||||||
"swb" 'paredit-wrap-square
|
"swb" 'paredit-wrap-square
|
||||||
"swc" 'paredit-wrap-curly
|
"swc" 'paredit-wrap-curly
|
||||||
"swa" 'paredit-wrap-angled
|
"swa" 'paredit-wrap-angled
|
||||||
|
|
||||||
; gonna just port most of my vscode stuff even though i don't hate the C-<left> stuff
|
; gonna just port most of my vscode stuff even though i don't hate the C-<left> stuff
|
||||||
"sh" 'paredit-backward-slurp-sexp
|
"sh" 'paredit-backward-slurp-sexp
|
||||||
"sl" 'paredit-forward-slurp-sexp
|
"sl" 'paredit-forward-slurp-sexp
|
||||||
"bh" 'paredit-backward-barf-sexp
|
"bh" 'paredit-backward-barf-sexp
|
||||||
|
@ -958,17 +962,17 @@ If the new path's directories does not exist, create them."
|
||||||
"sH" 'backward-sexp
|
"sH" 'backward-sexp
|
||||||
"sL" 'forward-sexp
|
"sL" 'forward-sexp
|
||||||
|
|
||||||
; sort of out-of-place feeling
|
; sort of out-of-place feeling
|
||||||
"sb" 'geiser-squarify
|
"sb" 'geiser-squarify
|
||||||
|
|
||||||
"sd" 'geiser-doc-symbol-at-point
|
"sd" 'geiser-doc-symbol-at-point
|
||||||
|
|
||||||
; killing is common enough to be worth its own prefix
|
; killing is common enough to be worth its own prefix
|
||||||
; non-lisp killing is more than covered by normal vim stuff lol
|
; non-lisp killing is more than covered by normal vim stuff lol
|
||||||
"kh" 'backward-kill-sexp
|
"kh" 'backward-kill-sexp
|
||||||
"kl" 'kill-sexp
|
"kl" 'kill-sexp
|
||||||
|
|
||||||
; irc
|
; irc
|
||||||
"il" 'erc-tls
|
"il" 'erc-tls
|
||||||
"ij" 'erc-join-channel
|
"ij" 'erc-join-channel
|
||||||
"ic" 'erc-switch-to-buffer
|
"ic" 'erc-switch-to-buffer
|
||||||
|
|
Loading…
Reference in a new issue