New beginning
This commit is contained in:
parent
432c85e800
commit
8e64cc68b3
30 changed files with 404 additions and 507 deletions
BIN
.authinfo.gpg
BIN
.authinfo.gpg
Binary file not shown.
85
.config/nix/flake.lock
generated
85
.config/nix/flake.lock
generated
|
|
@ -1,85 +0,0 @@
|
|||
{
|
||||
"nodes": {
|
||||
"darwin": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs-darwin"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1704277720,
|
||||
"narHash": "sha256-meAKNgmh3goankLGWqqpw73pm9IvXjEENJloF0coskE=",
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "0dd382b70c351f528561f71a0a7df82c9d2be9a4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs-darwin"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1704498488,
|
||||
"narHash": "sha256-yINKdShHrtjdiJhov+q0s3Y3B830ujRoSbHduUNyKag=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "51e44a13acea71b36245e8bd8c7db53e0a3e61ee",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "master",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1704161960,
|
||||
"narHash": "sha256-QGua89Pmq+FBAro8NriTuoO/wNaUtugt29/qqA8zeeM=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "63143ac2c9186be6d9da6035fa22620018c85932",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs-darwin": {
|
||||
"locked": {
|
||||
"lastModified": 1704617685,
|
||||
"narHash": "sha256-E6XALyIia7tAvE2QEr9PrrD9mhw6Up45SNmE9utVfqQ=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "207b14c6bd1065255e6ecffcfe0c36a7b54f8e48",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixpkgs-23.11-darwin",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"darwin": "darwin",
|
||||
"home-manager": "home-manager",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs-darwin": "nixpkgs-darwin"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
{
|
||||
nixConfig = {
|
||||
substituters = [
|
||||
"https://mirrors.ustc.edu.cn/nix-channels/store"
|
||||
"https://cache.nixos.org"
|
||||
];
|
||||
};
|
||||
|
||||
inputs = {
|
||||
# nixpkgs-darwin.url = "github:nixos/nixpkgs/nixpkgs-unstable";
|
||||
nixpkgs-darwin.url = "github:nixos/nixpkgs/nixpkgs-23.11-darwin";
|
||||
|
||||
darwin = {
|
||||
url = "github:lnl7/nix-darwin";
|
||||
inputs.nixpkgs.follows = "nixpkgs-darwin";
|
||||
};
|
||||
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager/master";
|
||||
inputs.nixpkgs.follows = "nixpkgs-darwin";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = inputs@{ nixpkgs, home-manager, darwin, ... }: {
|
||||
darwinConfigurations.TobAir = darwin.lib.darwinSystem {
|
||||
system = "aarch64-darwin";
|
||||
|
||||
modules = [
|
||||
./modules/nix-core.nix
|
||||
./modules/system.nix
|
||||
./modules/apps.nix
|
||||
./modules/host-users.nix
|
||||
home-manager.darwinModules.home-manager
|
||||
{
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
extraSpecialArgs = inputs;
|
||||
users.tobi = import ./home;
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
{ ... }:
|
||||
{
|
||||
programs.alacritty = {
|
||||
enable = true;
|
||||
settings.font = {
|
||||
size = 14;
|
||||
normal.family = "Iosevka Comfy";
|
||||
normal.style = "Regular";
|
||||
};
|
||||
settings.window = {
|
||||
padding.x = 18;
|
||||
padding.y = 18;
|
||||
opacity = 0.85;
|
||||
decorations = "Buttonless";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
{ ... }:
|
||||
{
|
||||
xdg.configFile."amethyst/amethyst.yml".text = ''
|
||||
window-margins: true
|
||||
window-margin-size: 10
|
||||
mouse-swaps-windows: true
|
||||
mouse-resizes-windows: true
|
||||
floating-is-blacklist: true
|
||||
float-small-windows: true
|
||||
floating:
|
||||
- com.apple.iphonesimulator
|
||||
- com.apple.systempreferences
|
||||
layouts:
|
||||
- tall
|
||||
- fullscreen
|
||||
- floating
|
||||
'';
|
||||
}
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
bottom
|
||||
curl
|
||||
jq
|
||||
kind
|
||||
kubectl
|
||||
less
|
||||
nix-output-monitor
|
||||
raycast
|
||||
ripgrep
|
||||
rnix-lsp
|
||||
tree
|
||||
];
|
||||
|
||||
home.sessionVariables = {
|
||||
PAGER = "less";
|
||||
CLICOLOR = 1;
|
||||
EDITOR = "emacs";
|
||||
};
|
||||
|
||||
programs.bat.enable = true;
|
||||
}
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
{ ... }:
|
||||
let
|
||||
username = "tobi";
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./alacritty.nix
|
||||
./amethyst.nix
|
||||
./core.nix
|
||||
./git.nix
|
||||
./starship.nix
|
||||
./zsh.nix
|
||||
];
|
||||
|
||||
home = {
|
||||
username = username;
|
||||
homeDirectory = "/Users/${username}";
|
||||
stateVersion = "23.11";
|
||||
};
|
||||
|
||||
programs.home-manager.enable = true;
|
||||
}
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
{ ... }:
|
||||
{
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userName = "Tobias Ostner";
|
||||
userEmail = "tobias.ostner@gmail.com";
|
||||
|
||||
extraConfig = {
|
||||
init.defaultBranch = "main";
|
||||
pull.rebase = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
{ ... }:
|
||||
{
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
settings.gcloud.disabled = true;
|
||||
settings.aws.disabled = true;
|
||||
settings.hostname.style = "bold green";
|
||||
};
|
||||
}
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
{ ... }:
|
||||
{
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
initExtra = ''
|
||||
eval "$(/opt/homebrew/bin/brew shellenv)"
|
||||
'';
|
||||
syntaxHighlighting.enable = true;
|
||||
shellAliases = {
|
||||
ls = "ls --color=auto -F";
|
||||
nixswitch = "pushd ~/.config/nix; darwin-rebuild switch --flake .#";
|
||||
nixup = "pushd ~/.config/nix; nix flake update";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,51 +0,0 @@
|
|||
{ pkgs, ...}: {
|
||||
homebrew = {
|
||||
enable = true;
|
||||
|
||||
onActivation.autoUpdate = false;
|
||||
|
||||
brews = [
|
||||
"cmake"
|
||||
"curl"
|
||||
{
|
||||
name = "emacs-plus";
|
||||
args = [
|
||||
" --with-no-frame-refocus"
|
||||
"--with-native-comp"
|
||||
"--with-imagemagick"
|
||||
"--with-savchenkovaleriy-big-sur-icon"
|
||||
];
|
||||
}
|
||||
"imagemagick"
|
||||
"libvterm"
|
||||
"trippy"
|
||||
"wget"
|
||||
"yabai"
|
||||
];
|
||||
|
||||
taps = [
|
||||
"d12frosted/emacs-plus"
|
||||
"homebrew/cask-fonts"
|
||||
"koekeishiya/formulae"
|
||||
];
|
||||
|
||||
casks = [
|
||||
"amethyst"
|
||||
"anki"
|
||||
"caffeine"
|
||||
"docker"
|
||||
"firefox"
|
||||
"logseq"
|
||||
"iglance"
|
||||
"karabiner-elements"
|
||||
"nextcloud"
|
||||
"protonmail-bridge"
|
||||
"protonvpn"
|
||||
"temurin17"
|
||||
"thunderbird"
|
||||
"font-iosevka-comfy"
|
||||
"vlc"
|
||||
"whatsapp"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
let
|
||||
hostname = "TobAir";
|
||||
username = "tobi";
|
||||
in
|
||||
{
|
||||
networking.hostName = hostname;
|
||||
networking.computerName = hostname;
|
||||
system.defaults.smb.NetBIOSName = hostname;
|
||||
|
||||
users.users."${username}" = {
|
||||
home = "/Users/${username}";
|
||||
description = "Tobias Ostner";
|
||||
shell = pkgs.zshInteractive;
|
||||
};
|
||||
|
||||
nix.settings.trusted-users = [ username ];
|
||||
}
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
let
|
||||
hostname = "TobWorkJambit";
|
||||
username = "tobi";
|
||||
in
|
||||
{
|
||||
networking.hostName = hostname;
|
||||
networking.computerName = hostname;
|
||||
system.defaults.smb.NetBIOSName = hostname;
|
||||
|
||||
users.users."${username}" = {
|
||||
home = "/Users/${username}";
|
||||
description = "Tobias Ostner";
|
||||
shell = pkgs.zshInteractive;
|
||||
};
|
||||
|
||||
nix.settings.trusted-users = [ username ];
|
||||
}
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
let
|
||||
hostname = "TobAir";
|
||||
username = "tobi";
|
||||
in
|
||||
{
|
||||
networking.hostName = hostname;
|
||||
networking.computerName = hostname;
|
||||
system.defaults.smb.NetBIOSName = hostname;
|
||||
|
||||
users.users."${username}" = {
|
||||
home = "/Users/${username}";
|
||||
description = "Tobias Ostner";
|
||||
shell = pkgs.zshInteractive;
|
||||
};
|
||||
|
||||
nix.settings.trusted-users = [ username ];
|
||||
}
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
{ pkgs, lib, ... }:
|
||||
{
|
||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
nix.package = pkgs.nix;
|
||||
services.nix-daemon.enable = true;
|
||||
programs.nix-index.enable = true;
|
||||
nix.gc = {
|
||||
automatic = lib.mkDefault true;
|
||||
options = lib.mkDefault "--delete-older-than 7d";
|
||||
};
|
||||
nix.settings = {
|
||||
auto-optimise-store = false;
|
||||
};
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 7cb7beda89145ccb86a4324860584545ec016552
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 24 KiB |
Binary file not shown.
|
|
@ -1,4 +0,0 @@
|
|||
\.git
|
||||
\.gitignore
|
||||
\.gitmodules
|
||||
^/README.*
|
||||
|
|
@ -1,5 +1 @@
|
|||
#+TITLE: README
|
||||
|
||||
* GNU Stow
|
||||
|
||||
https://systemcrafters.net/managing-your-dotfiles/using-gnu-stow/
|
||||
|
|
|
|||
13
nix/config/amethyst/amethyst.yml
Normal file
13
nix/config/amethyst/amethyst.yml
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
window-margins: true
|
||||
window-margin-size: 10
|
||||
mouse-swaps-windows: true
|
||||
mouse-resizes-windows: true
|
||||
floating-is-blacklist: true
|
||||
float-small-windows: true
|
||||
floating:
|
||||
- com.apple.iphonesimulator
|
||||
- com.apple.systempreferences
|
||||
layouts:
|
||||
- tall
|
||||
- fullscreen
|
||||
- floating
|
||||
|
|
@ -22,6 +22,6 @@
|
|||
(scroll-bar-mode -1)
|
||||
(menu-bar-mode -1)
|
||||
|
||||
(add-to-list 'default-frame-alist '(undecorated-round . t))
|
||||
(add-to-list 'default-frame-alist '(undecorated . t))
|
||||
|
||||
(customize-set-variable 'initial-major-mode 'emacs-lisp-mode)
|
||||
|
|
@ -6,27 +6,26 @@
|
|||
(setq custom-file (expand-file-name "custom.el" user-emacs-directory))
|
||||
(load custom-file 'noerror)
|
||||
|
||||
(setq package-archives
|
||||
'(("elpa" . "https://elpa.gnu.org/packages/")
|
||||
("elpa-devel" . "https://elpa.gnu.org/devel/")
|
||||
("nongnu" . "https://elpa.nongnu.org/nongnu/")
|
||||
("melpa" . "https://melpa.org/packages/")))
|
||||
;; (setq package-archives
|
||||
;; '(("elpa" . "https://elpa.gnu.org/packages/")
|
||||
;; ("elpa-devel" . "https://elpa.gnu.org/devel/")
|
||||
;; ("nongnu" . "https://elpa.nongnu.org/nongnu/")
|
||||
;; ("melpa" . "https://melpa.org/packages/")))
|
||||
|
||||
(setq package-archive-priorities
|
||||
'(("elpa" . 2)
|
||||
("nongnu" . 1)))
|
||||
;; (setq package-archive-priorities
|
||||
;; '(("elpa" . 2)
|
||||
;; ("nongnu" . 1)))
|
||||
|
||||
(setq use-package-enable-imenu-support t)
|
||||
(setq use-package-always-ensure t)
|
||||
;; (eval-when-compile
|
||||
;; (require 'use-package)
|
||||
;; (setq use-package-enable-imenu-support t)
|
||||
;; (setq use-package-compute-statistics t)
|
||||
;; (setq use-package-verbose t)
|
||||
;; (setq use-package-verbose t))
|
||||
|
||||
(eval-when-compile
|
||||
(require 'use-package))
|
||||
(require 'bind-key)
|
||||
|
||||
(add-to-list 'load-path (expand-file-name "to/" user-emacs-directory))
|
||||
(require 'utils)
|
||||
;; (add-to-list 'load-path (expand-file-name "lisp/" user-emacs-directory))
|
||||
;; (require 'utils)
|
||||
|
||||
(use-package ace-window
|
||||
:bind
|
||||
|
|
@ -35,7 +34,6 @@
|
|||
(setq aw-keys '(?a ?b ?c ?d ?e ?f ?g ?h ?i ?j)))
|
||||
|
||||
(use-package autorevert
|
||||
:ensure nil
|
||||
:config
|
||||
(setq auto-revert-check-vc-info t
|
||||
auto-revert-interval 1)
|
||||
|
|
@ -52,13 +50,6 @@
|
|||
(add-to-list 'completion-at-point-functions #'cape-file)
|
||||
(add-to-list 'completion-at-point-functions #'cape-history))
|
||||
|
||||
(use-package chatgpt-shell
|
||||
:defer 3
|
||||
:config
|
||||
(setq chatgpt-shell-openai-key
|
||||
(lambda ()
|
||||
(auth-source-pick-first-password :host "api.openai.com"))))
|
||||
|
||||
(use-package cider
|
||||
:defer t)
|
||||
|
||||
|
|
@ -84,22 +75,27 @@
|
|||
:hook
|
||||
(completion-list-mode . consult-preview-at-point-mode))
|
||||
|
||||
(use-package copilot
|
||||
:load-path "packages/copilot"
|
||||
:bind ("M-C-<return>" . copilot-accept-completion)
|
||||
:commands (copilot-login global-copilot-mode)
|
||||
:config
|
||||
(defun to/copilot-disable-predicate ()
|
||||
(member major-mode '(shell-mode
|
||||
eshell-mode
|
||||
term-mode
|
||||
vterm-mode
|
||||
compilation-mode
|
||||
debugger-mode
|
||||
dired-mode-hook
|
||||
compilation-mode-hook
|
||||
minibuffer-mode-hook)))
|
||||
(add-to-list 'copilot-disable-predicates #'to/copilot-disable-predicate))
|
||||
;; (use-package copilot
|
||||
;; :load-path "packages/copilot"
|
||||
;; :bind ("M-C-<return>" . copilot-accept-completion)
|
||||
;; :commands (copilot-login global-copilot-mode)
|
||||
;; :config
|
||||
;; (use-package dash)
|
||||
;; (use-package s)
|
||||
;; (use-package editorconfig)
|
||||
;; (use-package f)
|
||||
|
||||
;; (defun to/copilot-disable-predicate ()
|
||||
;; (member major-mode '(shell-mode
|
||||
;; eshell-mode
|
||||
;; term-mode
|
||||
;; vterm-mode
|
||||
;; compilation-mode
|
||||
;; debugger-mode
|
||||
;; dired-mode-hook
|
||||
;; compilation-mode-hook
|
||||
;; minibuffer-mode-hook)))
|
||||
;; (add-to-list 'copilot-disable-predicates #'to/copilot-disable-predicate))
|
||||
|
||||
(use-package corfu
|
||||
:custom
|
||||
|
|
@ -114,9 +110,6 @@
|
|||
(setq-local corfu-auto nil)
|
||||
(corfu-mode))))
|
||||
|
||||
(use-package dash
|
||||
:defer 3)
|
||||
|
||||
(use-package diff-hl
|
||||
:hook ((magit-pre-refresh . diff-hl-magit-pre-refresh)
|
||||
(magit-post-refresh . diff-hl-magit-post-refresh))
|
||||
|
|
@ -124,7 +117,6 @@
|
|||
(global-diff-hl-mode))
|
||||
|
||||
(use-package dired
|
||||
:ensure nil
|
||||
:init
|
||||
(setq dired-dwim-target t
|
||||
dired-hide-details-hide-symlink-targets nil
|
||||
|
|
@ -164,9 +156,6 @@
|
|||
ediff-split-window-function 'split-window-horizontally
|
||||
ediff-window-setup-function 'ediff-setup-windows-plain))
|
||||
|
||||
(use-package editorconfig
|
||||
:defer 3)
|
||||
|
||||
(use-package eglot
|
||||
:hook
|
||||
(swift-mode . eglot-ensure)
|
||||
|
|
@ -274,7 +263,6 @@
|
|||
(flycheck-swiftlint-setup))
|
||||
|
||||
(use-package frame
|
||||
:ensure nil
|
||||
:init
|
||||
(keymap-global-unset "C-z" nil))
|
||||
|
||||
|
|
@ -310,6 +298,9 @@
|
|||
(use-package gptel
|
||||
:bind ("C-c RET" . gptel-send)
|
||||
:config
|
||||
(setq gptel-api-key
|
||||
(lambda ()
|
||||
(nth 0 (process-lines "pass" "show" "openai-api"))))
|
||||
(setq gptel-default-mode 'org-mode))
|
||||
|
||||
(use-package git-link
|
||||
|
|
@ -323,7 +314,6 @@
|
|||
("C-h v" . helpful-variable)))
|
||||
|
||||
(use-package hl-line
|
||||
:ensure nil
|
||||
:hook (prog-mode . hl-line-mode))
|
||||
|
||||
(use-package js2-mode
|
||||
|
|
@ -350,23 +340,6 @@
|
|||
(to/set-ligatures-for-font-iosevka)
|
||||
(global-ligature-mode t))
|
||||
|
||||
(use-package lin
|
||||
:config
|
||||
(setq lin-mode-hooks
|
||||
'(bongo-mode-hook
|
||||
dired-mode-hook
|
||||
git-rebase-mode-hook
|
||||
grep-mode-hook
|
||||
ibuffer-mode-hook
|
||||
ilist-mode-hook
|
||||
magit-log-mode-hook
|
||||
occur-mode-hook
|
||||
org-agenda-mode-hook
|
||||
pdf-outline-buffer-mode-hook
|
||||
proced-mode-hook
|
||||
tabulated-list-mode-hook))
|
||||
(lin-global-mode))
|
||||
|
||||
(use-package magit
|
||||
:defer t)
|
||||
|
||||
|
|
@ -416,22 +389,24 @@
|
|||
:defer 2
|
||||
:if window-system
|
||||
:config
|
||||
(use-package nerd-icons-completion
|
||||
:config
|
||||
(nerd-icons-completion-mode))
|
||||
(use-package nerd-icons-corfu
|
||||
:config
|
||||
(add-to-list 'corfu-margin-formatters #'nerd-icons-corfu-formatter))
|
||||
(use-package nerd-icons-dired
|
||||
:defer t
|
||||
:hook dired-mode)
|
||||
(use-package nerd-icons-ibuffer
|
||||
:defer t
|
||||
:hook ibuffer-mode)
|
||||
(use-package nerd-icons-completion
|
||||
:config
|
||||
(nerd-icons-completion-mode)))
|
||||
:hook ibuffer-mode))
|
||||
|
||||
(use-package nix-mode
|
||||
:defer t)
|
||||
|
||||
(use-package ob
|
||||
:after org
|
||||
:ensure nil
|
||||
:config
|
||||
(org-babel-do-load-languages
|
||||
'org-babel-load-languages
|
||||
|
|
@ -456,10 +431,6 @@
|
|||
(append org-babel-load-languages
|
||||
'((swift . t)))))
|
||||
|
||||
(use-package ob-swiftui
|
||||
:after org
|
||||
:defer t)
|
||||
|
||||
(use-package olivetti
|
||||
:hook (org-mode markdown-mode)
|
||||
:custom
|
||||
|
|
@ -509,21 +480,20 @@
|
|||
(pulsar-global-mode 1)
|
||||
(add-hook 'next-error-hook #'pulsar-pulse-line))
|
||||
|
||||
(use-package rainbow-mode
|
||||
:hook ((text-mode prog-mode) . rainbow-mode))
|
||||
|
||||
(use-package rainbow-delimiters
|
||||
:hook (emacs-lisp-mode clojure-mode))
|
||||
|
||||
(use-package rainbow-mode
|
||||
:hook ((text-mode prog-mode) . rainbow-mode))
|
||||
|
||||
(use-package recentf-mode
|
||||
:hook (after-init . recentf-mode)
|
||||
:ensure nil)
|
||||
:hook (after-init . recentf-mode))
|
||||
|
||||
(use-package restclient
|
||||
:defer t)
|
||||
|
||||
(use-package s
|
||||
:defer 3)
|
||||
;; (use-package s
|
||||
;; :defer 3)
|
||||
|
||||
(use-package savehist
|
||||
:init
|
||||
|
|
@ -567,8 +537,6 @@
|
|||
:config
|
||||
(global-so-long-mode))
|
||||
|
||||
(use-package spacious-padding)
|
||||
|
||||
(use-package super-save
|
||||
:config
|
||||
(super-save-mode))
|
||||
|
|
@ -583,15 +551,12 @@
|
|||
swift-mode:basic-offset 2
|
||||
swift-mode:repl-executable "xcrun swift repl"))
|
||||
|
||||
(use-package swift-ts-mode
|
||||
:hook (swift-mode . subword-mode)
|
||||
:config
|
||||
(setq swift-ts-mode 2))
|
||||
|
||||
(use-package system-packages)
|
||||
;; (use-package swift-ts-mode
|
||||
;; :hook (swift-mode . subword-mode)
|
||||
;; :config
|
||||
;; (setq swift-ts-mode 2))
|
||||
|
||||
(use-package tab-bar
|
||||
:ensure nil
|
||||
:config
|
||||
(tab-bar-mode)
|
||||
(setq tab-bar-show t
|
||||
|
|
@ -604,19 +569,19 @@
|
|||
|
||||
(use-package terraform-mode)
|
||||
|
||||
(use-package treesit-auto
|
||||
:custom
|
||||
(treesit-auto-install 'prompt)
|
||||
:config
|
||||
(add-to-list 'treesit-auto-recipe-list
|
||||
(make-treesit-auto-recipe
|
||||
:lang 'swift
|
||||
:ts-mode 'swift-ts-mode
|
||||
:remap '(swift-mode)
|
||||
:ext "\\.swift\\'"))
|
||||
(setq treesit-auto-langs '(swift))
|
||||
(treesit-auto-add-to-auto-mode-alist 'all)
|
||||
(global-treesit-auto-mode))
|
||||
;; (use-package treesit-auto
|
||||
;; :custom
|
||||
;; (treesit-auto-install 'prompt)
|
||||
;; :config
|
||||
;; (add-to-list 'treesit-auto-recipe-list
|
||||
;; (make-treesit-auto-recipe
|
||||
;; :lang 'swift
|
||||
;; :ts-mode 'swift-ts-mode
|
||||
;; :remap '(swift-mode)
|
||||
;; :ext "\\.swift\\'"))
|
||||
;; (setq treesit-auto-langs '(swift))
|
||||
;; (treesit-auto-add-to-auto-mode-alist 'all)
|
||||
;; (global-treesit-auto-mode))
|
||||
|
||||
(use-package yaml-mode)
|
||||
|
||||
|
|
@ -1,9 +1,7 @@
|
|||
(defun to/xcode-info ()
|
||||
(interactive)
|
||||
(let ((buffer "*Xcode info*"))
|
||||
(shell-command "system_profiler SPDeveloperToolsDataType" buffer)
|
||||
(shell-command "system_profiler SPDeveloperToolsDataType" buffer buffer)
|
||||
(with-current-buffer buffer
|
||||
(view-mode +1)
|
||||
(select-window (get-buffer-window buffer)))))
|
||||
|
||||
(provide 'utils)
|
||||
3
nix/config/kitty/kitty.conf
Normal file
3
nix/config/kitty/kitty.conf
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
hide_window_decorations yes
|
||||
tab_bar_style slant
|
||||
window_padding_width 18
|
||||
70
nix/flake.lock
generated
Normal file
70
nix/flake.lock
generated
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
{
|
||||
"nodes": {
|
||||
"darwin": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1711763326,
|
||||
"narHash": "sha256-sXcesZWKXFlEQ8oyGHnfk4xc9f2Ip0X/+YZOq3sKviI=",
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "36524adc31566655f2f4d55ad6b875fb5c1a4083",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1714043624,
|
||||
"narHash": "sha256-Xn2r0Jv95TswvPlvamCC46wwNo8ALjRCMBJbGykdhcM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "86853e31dc1b62c6eeed11c667e8cdd0285d4411",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "release-23.11",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1715106579,
|
||||
"narHash": "sha256-gZMgKEGiK6YrwGBiccZ1gemiUwjsZ1Zv49KYOgmX2fY=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "8be0d8a1ed4f96d99b09aa616e2afd47acc3da89",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-23.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"darwin": "darwin",
|
||||
"home-manager": "home-manager",
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
||||
27
nix/flake.nix
Normal file
27
nix/flake.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
inputs = {
|
||||
darwin.inputs.nixpkgs.follows = "nixpkgs";
|
||||
darwin.url = "github:lnl7/nix-darwin";
|
||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||
home-manager.url = "github:nix-community/home-manager/release-23.11";
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11";
|
||||
};
|
||||
|
||||
outputs = inputs @ {
|
||||
self,
|
||||
darwin,
|
||||
home-manager,
|
||||
nixpkgs,
|
||||
...
|
||||
}: let
|
||||
darwin-system = import ./system/darwin.nix {inherit inputs;};
|
||||
in {
|
||||
darwinConfigurations = {
|
||||
TobAir = darwin-system {
|
||||
system = "aarch64-darwin";
|
||||
username = "tobi";
|
||||
hostname = "TobAir";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,5 +1,45 @@
|
|||
{ pkgs, ...}:
|
||||
{ hostname }:
|
||||
{
|
||||
nix = {
|
||||
settings = {
|
||||
auto-optimise-store = true;
|
||||
builders-use-substitutes = true;
|
||||
experimental-features = ["flakes" "nix-command"];
|
||||
substituters = ["https://nix-community.cachix.org"];
|
||||
trusted-public-keys = [
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
];
|
||||
trusted-users = ["@wheel"];
|
||||
warn-dirty = false;
|
||||
};
|
||||
};
|
||||
|
||||
programs.zsh.enable = true;
|
||||
programs.gnupg.agent.enable = true;
|
||||
|
||||
networking.hostName = hostname;
|
||||
|
||||
homebrew = {
|
||||
enable = true;
|
||||
onActivation.cleanup = "zap";
|
||||
|
||||
casks = [
|
||||
"amethyst"
|
||||
"anki"
|
||||
"arc"
|
||||
"font-iosevka-comfy"
|
||||
"karabiner-elements"
|
||||
"logseq"
|
||||
"nextcloud"
|
||||
"protonvpn"
|
||||
"raycast"
|
||||
];
|
||||
|
||||
taps = [
|
||||
"homebrew/cask-fonts"
|
||||
];
|
||||
};
|
||||
|
||||
system = {
|
||||
activationScripts.postUserActivation.text = ''
|
||||
/System/Library/PrivateFrameworks/SystemAdministration.framework/Resources/activateSettings -u
|
||||
|
|
@ -48,22 +88,4 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
|
||||
security.pam.enableSudoTouchIdAuth = true;
|
||||
|
||||
programs.zsh.enable = true;
|
||||
|
||||
fonts.fonts = [
|
||||
pkgs.material-design-icons
|
||||
pkgs.font-awesome
|
||||
(pkgs.nerdfonts.override {
|
||||
fonts = [
|
||||
"FiraCode"
|
||||
"Iosevka"
|
||||
"IosevkaTerm"
|
||||
"JetBrainsMono"
|
||||
"SourceCodePro"
|
||||
];
|
||||
})
|
||||
];
|
||||
}
|
||||
148
nix/module/home-manager.nix
Normal file
148
nix/module/home-manager.nix
Normal file
|
|
@ -0,0 +1,148 @@
|
|||
{pkgs, ...}: {
|
||||
home.file.".emacs.d/early-init.el".source = ../config/emacs/early-init.el;
|
||||
|
||||
home.packages = with pkgs; [
|
||||
bottom
|
||||
cmake
|
||||
curl
|
||||
gnupg
|
||||
jq
|
||||
kubectl
|
||||
pass
|
||||
ripgrep
|
||||
rnix-lsp
|
||||
tree
|
||||
wget
|
||||
];
|
||||
|
||||
home.stateVersion = "23.11";
|
||||
|
||||
home.sessionVariables = {
|
||||
PAGER = "less";
|
||||
CLICOLOR = 1;
|
||||
EDITOR = "emacs";
|
||||
LOGSEQ_DIR = "~/Logseq/Me/";
|
||||
};
|
||||
|
||||
programs = {
|
||||
alacritty = {
|
||||
enable = true;
|
||||
settings.font = {
|
||||
size = 14;
|
||||
normal.family = "Iosevka Comfy";
|
||||
normal.style = "Regular";
|
||||
};
|
||||
settings.window = {
|
||||
padding.x = 18;
|
||||
padding.y = 18;
|
||||
decorations = "Buttonless";
|
||||
};
|
||||
};
|
||||
|
||||
emacs = {
|
||||
enable = true;
|
||||
extraConfig = builtins.readFile ../config/emacs/init.el +
|
||||
builtins.readFile ../config/emacs/lisp/utils.el;
|
||||
extraPackages = epkgs: (with epkgs; [
|
||||
ace-window
|
||||
avy
|
||||
cape
|
||||
cider
|
||||
clojure-mode
|
||||
consult
|
||||
corfu
|
||||
diff-hl
|
||||
dired-preview
|
||||
dockerfile-mode
|
||||
ef-themes
|
||||
exec-path-from-shell
|
||||
flycheck
|
||||
flycheck-clj-kondo
|
||||
flycheck-swiftlint
|
||||
gptel
|
||||
git-link
|
||||
graphql-mode
|
||||
helpful
|
||||
js2-mode
|
||||
json-mode
|
||||
ligature
|
||||
minions
|
||||
multiple-cursors
|
||||
nerd-icons
|
||||
nerd-icons-completion
|
||||
nerd-icons-corfu
|
||||
nerd-icons-dired
|
||||
nerd-icons-ibuffer
|
||||
ob-restclient
|
||||
ob-swift
|
||||
olivetti
|
||||
orderless
|
||||
org
|
||||
org-modern
|
||||
ox-gfm
|
||||
pulsar
|
||||
rainbow-delimiters
|
||||
rainbow-mode
|
||||
restclient
|
||||
smartparens
|
||||
so-long
|
||||
swift-mode
|
||||
super-save
|
||||
terraform-mode
|
||||
yaml-mode
|
||||
vterm
|
||||
fontaine
|
||||
magit
|
||||
magit-todos
|
||||
marginalia
|
||||
modus-themes
|
||||
nix-mode
|
||||
vertico
|
||||
]);
|
||||
package = pkgs.emacs29;
|
||||
};
|
||||
|
||||
git = {
|
||||
enable = true;
|
||||
userName = "Tobias Ostner";
|
||||
userEmail = "tobias.ostner@gmail.com";
|
||||
extraConfig = {
|
||||
init.defaultBranch = "main";
|
||||
pull.rebase = true;
|
||||
};
|
||||
};
|
||||
|
||||
kitty = {
|
||||
enable = true;
|
||||
font = {
|
||||
size = 14;
|
||||
name = "Iosevka Comfy";
|
||||
};
|
||||
extraConfig = builtins.readFile ../config/kitty/kitty.conf;
|
||||
};
|
||||
|
||||
starship = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
settings = {
|
||||
gcloud.disabled = true;
|
||||
aws.disabled = true;
|
||||
hostname.style = "bold green";
|
||||
};
|
||||
};
|
||||
|
||||
zsh = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
initExtra = ''
|
||||
eval "$(/opt/homebrew/bin/brew shellenv)"
|
||||
'';
|
||||
syntaxHighlighting.enable = true;
|
||||
shellAliases = {
|
||||
ls = "ls --color=auto -F";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
xdg.configFile."amethyst/amethyst.yml".text = builtins.readFile ../config/amethyst/amethyst.yml;
|
||||
}
|
||||
30
nix/system/darwin.nix
Normal file
30
nix/system/darwin.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{
|
||||
inputs
|
||||
}:
|
||||
{
|
||||
system,
|
||||
username,
|
||||
hostname
|
||||
}: let
|
||||
system-config = import ../module/configuration.nix {inherit hostname;};
|
||||
home-manager-config = import ../module/home-manager.nix;
|
||||
in
|
||||
inputs.darwin.lib.darwinSystem {
|
||||
inherit system;
|
||||
|
||||
modules = [
|
||||
{
|
||||
services.nix-daemon.enable = true;
|
||||
users.users.${username}.home = "/Users/${username}";
|
||||
}
|
||||
|
||||
system-config
|
||||
|
||||
inputs.home-manager.darwinModules.home-manager
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.users."${username}" = home-manager-config;
|
||||
}
|
||||
];
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue