- add llama-cpp to emacs
- add cachix to nixos config
- remove unneeded homeConfigurations
- Add emacs vterm+ tree sitter grammars
- enable tree sitter for most doom layers
- add emacs bg-transparency
This commit is contained in:
Tristan D. 2023-11-12 21:16:35 +01:00
parent 5252a653bb
commit 9794a06c70
Signed by: tristan
SSH key fingerprint: SHA256:3RU4RLOoM8oAjFU19f1W6t8uouZbA7GWkaSW6rjp1k8
10 changed files with 151 additions and 83 deletions

View file

@ -1,11 +1,5 @@
# My nix conf # My nix conf
## 🏠 Home Setup
```bash
nix run home-manager/release-23.05 -- switch --flake .
```
## 🏗️ System Setup ## 🏗️ System Setup
### 👷 "Manual" ### 👷 "Manual"

View file

@ -98,9 +98,36 @@
;; llama.cpp ;; llama.cpp
;; openchat prompt: GPT4 User: {prompt}<|end_of_turn|>GPT4 Assistant:
(use-package llama-cpp (use-package llama-cpp
:ensure t) :ensure t)
;; (use-package llama-cpp-code)
;; (use-package llama-cpp-chat)
;; openchat
;; (setq!
;; llama-cpp-params '(
;; :n_predict -1
;; :stop ["<|end_of_turn|>"]
;; )
;; llama-cpp-chat-prompt "System:
;; You are an intelligent programming assistant.
;; The User is a professional software developer, be concise in your answers and assume technical proficiency.
;; "
;; llama-cpp-chat-input-prefix "
;; GPT4User:
;; "
;; llama-cpp-chat-input-suffix "
;; <|end_of_turn|>
;; GPT4 Assistant:
;; ")
;; Phind codellama :
(setq! llama-cpp-chat-prompt "### System Prompt (setq! llama-cpp-chat-prompt "### System Prompt
You are an intelligent programming assistant." You are an intelligent programming assistant."
llama-cpp-chat-input-prefix " llama-cpp-chat-input-prefix "
@ -112,8 +139,6 @@ You are an intelligent programming assistant."
### Assistant ### Assistant
") ")
;;(use-package llama-cpp-code)
;; (use-package llama-cpp-chat)
;; Nix ;; Nix
@ -126,6 +151,41 @@ You are an intelligent programming assistant."
(setq-default vterm-shell (executable-find "fish")) (setq-default vterm-shell (executable-find "fish"))
;; Background Transparency + Toggling
(defun set-frame-bg-opacity (opacity)
;Interactively change the current frames background opacity.
; OPACITY is an integer between 0 to 100, inclusive.
(interactive
(list (read-number "Opacity (0-100): "
(or (frame-parameter nil 'alpha)
100))))
(set-frame-parameter nil 'alpha-background opacity))
(defun toggle-bg-transparency ()
;Toggle between transparent and opaque background.
(interactive)
(let ((alpha-background (frame-parameter nil 'alpha-background)))
(set-frame-bg-opacity
(if (eql (cond
((numberp alpha-background) alpha-background)
(t 100))
100)
85 100)
)))
(map! :leader
(:prefix-map ("t" . "toggle")
(:prefix ("T" . "Transparancy")
:desc "Toggle background transparancy" "b" #'toggle-bg-transparency)))
(defun setup-frame-transparency (frame)
(set-frame-parameter frame 'alpha-background 85))
(add-hook 'after-make-frame-functions #'setup-frame-transparency)
;; TABS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; TABS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(use-package centaur-tabs (use-package centaur-tabs
:init :init

View file

@ -125,7 +125,8 @@
:lang :lang
;;agda ; types of types of types of types... ;;agda ; types of types of types of types...
;;beancount ; mind the GAAP ;;beancount ; mind the GAAP
(cc +lsp) ; C > C++ == 1 (cc +lsp
+tree-sitter) ; C > C++ == 1
;;clojure ; java with a lisp ;;clojure ; java with a lisp
;;common-lisp ; if you've seen one lisp, you've seen them all ;;common-lisp ; if you've seen one lisp, you've seen them all
;;coq ; proofs-as-programs ;;coq ; proofs-as-programs
@ -150,9 +151,12 @@
;;(haskell +lsp) ; a language that's lazier than I am ;;(haskell +lsp) ; a language that's lazier than I am
;;hy ; readability of scheme w/ speed of python ;;hy ; readability of scheme w/ speed of python
;;idris ; a language you can depend on ;;idris ; a language you can depend on
json ; At least it ain't XML (json
+tree-sitter) ; At least it ain't XML
;;(java +lsp) ; the poster child for carpal tunnel syndrome ;;(java +lsp) ; the poster child for carpal tunnel syndrome
;;javascript ; all(hope(abandon(ye(who(enter(here)))))) (javascript
+lsp
+tree-sitter) ; all(hope(abandon(ye(who(enter(here))))))
;;julia ; a better, faster MATLAB ;;julia ; a better, faster MATLAB
;;kotlin ; a better, slicker Java(Script) ;;kotlin ; a better, slicker Java(Script)
;;latex ; writing papers in Emacs has never been so fun ;;latex ; writing papers in Emacs has never been so fun
@ -161,7 +165,8 @@
;;lua ; one-based indices? one-based indices ;;lua ; one-based indices? one-based indices
markdown ; writing docs for people to ignore markdown ; writing docs for people to ignore
;;nim ; python + lisp at the speed of c ;;nim ; python + lisp at the speed of c
(nix +lsp) ; I hereby declare "nix geht mehr!" (nix +lsp
+tree-sitter) ; I hereby declare "nix geht mehr!"
;;ocaml ; an objective camel ;;ocaml ; an objective camel
(org ; organize your plain life in plain text (org ; organize your plain life in plain text
+jupyter +jupyter
@ -182,17 +187,22 @@
rest ; Emacs as a REST client rest ; Emacs as a REST client
;;rst ; ReST in peace ;;rst ; ReST in peace
;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"} ;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap() (rust +lsp
+tree-sitter) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
;;scala ; java, but good ;;scala ; java, but good
;;(scheme +guile) ; a fully conniving family of lisps ;;(scheme +guile) ; a fully conniving family of lisps
sh ; she sells {ba,z,fi}sh shells on the C xor (sh +tree-sitter) ; she sells {ba,z,fi}sh shells on the C xor
;;sml ;;sml
;;solidity ; do you need a blockchain? No. ;;solidity ; do you need a blockchain? No.
;;swift ; who asked for emoji variables? ;;swift ; who asked for emoji variables?
;;terra ; Earth and Moon in alignment for performance. ;;terra ; Earth and Moon in alignment for performance.
(web (web
+css) ; the tubes +css
yaml ; JSON, but readable +lsp
+tree-sitter) ; the tubes
(yaml
+tree-sitter
+lsp) ; JSON, but readable
;;zig ; C, but simpler ;;zig ; C, but simpler
:email :email

48
flake.lock generated
View file

@ -7,11 +7,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1699734195, "lastModified": 1699781810,
"narHash": "sha256-T7Q2ke4LJx16wos828YMqKnCCK3kxey0PdqH+LxVMV8=", "narHash": "sha256-LD+PIUbm1yQmQmGIbSsc/PB1dtJtGqXFgxRc1C7LlfQ=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "89fd5b51f0725f9775ca9999d53a0a3e5d936490", "rev": "2d7d77878c5d70f66f3d676ff66708d8d4f9d7df",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -31,11 +31,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1699724244, "lastModified": 1699812904,
"narHash": "sha256-I3+cOlXU4jIoqnyYWezbNc26/56EI4YwwDQf80hdbeI=", "narHash": "sha256-+74SKAZrAFMytXfn0O1Sd5/bIl8OV+XxfjkXuGYqbYo=",
"owner": "nix-community", "owner": "nix-community",
"repo": "emacs-overlay", "repo": "emacs-overlay",
"rev": "c5f0c468f8e92246473c1eabe997ad1c41fb6a1a", "rev": "87219c6667c12e5f4442d27c073b9c56dbf0c95e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -138,11 +138,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1695108154, "lastModified": 1699748081,
"narHash": "sha256-gSg7UTVtls2yO9lKtP0yb66XBHT1Fx5qZSZbGMpSn2c=", "narHash": "sha256-MOmMapBydd7MTjhX4eeQZzKlCABWw8W6iSHSG4OeFKE=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "07682fff75d41f18327a871088d20af2710d4744", "rev": "04bac349d585c9df38d78e0285b780a140dc74a4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -159,11 +159,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1699156599, "lastModified": 1699760693,
"narHash": "sha256-Qk9ZE/pG9lNIGUVNArJxL0Hc0Soa92eQPPIhcDwWinU=", "narHash": "sha256-u/gkNUHQR/q23voqE5J4xmEWQIAqR+g3lUnCtzn0k7Y=",
"owner": "Mic92", "owner": "Mic92",
"repo": "nix-index-database", "repo": "nix-index-database",
"rev": "5388a4002179d6778d212dc2fdcc7ac3fdbd5b65", "rev": "8aff4ca3dee60d1422489fe8d52c2f837b3ad113",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -179,11 +179,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1698486730, "lastModified": 1699785596,
"narHash": "sha256-MP4bGb3JXkmmECssp0B7i0OipUXN7HurAqvfP830NLg=", "narHash": "sha256-njXqFmAEju1qZFePg6E3sca4xVp3P3T/Dm+D+be1fQM=",
"owner": "Mic92", "owner": "Mic92",
"repo": "nix-ld", "repo": "nix-ld",
"rev": "846421112563fb6cf0334d9f124449aada964088", "rev": "35ba5d7e8e6f838121a422e25ca38a40c41b8636",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -232,11 +232,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1699291058, "lastModified": 1699596684,
"narHash": "sha256-5ggduoaAMPHUy4riL+OrlAZE14Kh7JWX4oLEs22ZqfU=", "narHash": "sha256-XSXP8zjBZJBVvpNb2WmY0eW8O2ce+sVyj1T0/iBRIvg=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "41de143fda10e33be0f47eab2bfe08a50f234267", "rev": "da4024d0ead5d7820f6bd15147d3fe2a0c0cec73",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -264,11 +264,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1699343069, "lastModified": 1699725108,
"narHash": "sha256-s7BBhyLA6MI6FuJgs4F/SgpntHBzz40/qV0xLPW6A1Q=", "narHash": "sha256-NTiPW4jRC+9puakU4Vi8WpFEirhp92kTOSThuZke+FA=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "ec750fd01963ab6b20ee1f0cb488754e8036d89d", "rev": "911ad1e67f458b6bcf0278fa85e33bb9924fed7e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -296,11 +296,11 @@
}, },
"nur": { "nur": {
"locked": { "locked": {
"lastModified": 1699730859, "lastModified": 1699837452,
"narHash": "sha256-B4NwfVftZRH9W53XJQ4BCPbAl3F/yyBJwn4qJLHAIIk=", "narHash": "sha256-aUg0+0MOPgDZtyDa4kcTLC7+zpnQWb5B3k9THN0uAOc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "473af602cdfaf46f0a0d0b06e7678622f623f006", "rev": "4cd37582b4d49983cf61ef3789f9dc58ff4a54f1",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -1,14 +1,7 @@
{ {
description = "flake for nixos-pulse"; description = "flake for nixos-pulse";
nixConfig = { nixConfig = { };
extra-trusted-substituters = [
"https://nix-community.cachix.org"
];
extra-trusted-public-keys = [
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
];
};
inputs = { inputs = {
nixpkgs-unstable = { nixpkgs-unstable = {
@ -125,39 +118,6 @@
nixos-pulse = import ./systems/nixos-pulse/disko.nix; nixos-pulse = import ./systems/nixos-pulse/disko.nix;
nixos-desk = import ./systems/nixos-desk/disko.nix; nixos-desk = import ./systems/nixos-desk/disko.nix;
}; };
homeConfigurations = {
"tester@tristan-desk-arch" = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
modules =
[
./users/tester.nix
{
_module = { inherit args; };
targets.genericLinux.enable = true;
programs = {
bash.enable = true;
zsh.enable = true;
home-manager.enable = true;
};
}
]
++ hmModules;
};
"tristand" = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
modules =
[
./users/tristand.nix
{
_module = { inherit args; };
xsession.enable = true;
}
]
++ hmModules;
};
};
nixosConfigurations = { nixosConfigurations = {
nixos-pulse = nixpkgs.lib.nixosSystem { nixos-pulse = nixpkgs.lib.nixosSystem {
specialArgs = args; specialArgs = args;

View file

@ -15,6 +15,10 @@ let
ref = "main"; ref = "main";
rev = "c7392136bed264258c9b8788b14410e1ff06d602"; rev = "c7392136bed264258c9b8788b14410e1ff06d602";
}; };
myEmacs = (pkgs.emacsPackagesFor pkgs.emacs-pgtk).emacsWithPackages (epkgs: with epkgs; [
vterm
treesit-grammars.with-all-grammars
]);
in in
{ {
programs = { programs = {
@ -148,7 +152,7 @@ in
emacs = { emacs = {
enable = true; enable = true;
defaultEditor = true; defaultEditor = true;
package = lib.mkDefault pkgs.unstable-pkgs.emacs-pgtk; package = myEmacs;
}; };
}; };
@ -176,7 +180,7 @@ in
packages = with pkgs.unstable-pkgs; [ packages = with pkgs.unstable-pkgs; [
btop btop
config.services.emacs.package myEmacs
imagemagick imagemagick
rust-motd rust-motd
zellij zellij
@ -211,6 +215,7 @@ in
statix statix
texlive.combined.scheme-full texlive.combined.scheme-full
tokei tokei
tree-sitter
wget wget
wl-clipboard wl-clipboard
zstd zstd

View file

@ -0,0 +1,12 @@
{
nix = {
settings = {
substituters = [
"https://ai.cachix.org"
];
trusted-public-keys = [
"ai.cachix.org-1:N9dzRK+alWwoKXQlnn0H6aUx0lU/mspIoz8hMvGvbbc="
];
};
};
}

View file

@ -0,0 +1,12 @@
{
nix = {
settings = {
substituters = [
"https://nix-community.cachix.org"
];
trusted-public-keys = [
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
];
};
};
}

View file

@ -0,0 +1,14 @@
# WARN: this file will get overwritten by $ cachix use <name>
{ pkgs, lib, ... }:
let
folder = ./caches;
toImport = name: value: folder + ("/" + name);
filterCaches = key: value: value == "regular" && lib.hasSuffix ".nix" key;
imports = lib.mapAttrsToList toImport (lib.filterAttrs filterCaches (builtins.readDir folder));
in
{
inherit imports;
nix.settings.substituters = [ "https://cache.nixos.org/" ];
nix.settings.trusted-users = [ "root" "tristand" ];
}

View file

@ -9,6 +9,7 @@
imports = [ imports = [
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
../../os-mods/amdgpu ../../os-mods/amdgpu
../../os-mods/cachix
../../os-mods/common ../../os-mods/common
../../os-mods/desktop ../../os-mods/desktop
../../os-mods/network ../../os-mods/network