31 Commits

Author SHA1 Message Date
Olaf 126b92831a Bitwarden broke and now stable 26.05 2026-05-31 09:28:21 +02:00
Olaf 07aafd820c Bitwarden path in dock 2026-05-27 11:32:14 +02:00
Olaf 5111cb4178 Now running unstable.... 2026-05-12 10:52:51 +02:00
Olaf 86d529fdd0 git signing parameters 2026-03-24 08:19:44 +01:00
Olaf acf2b21f72 some apps, and GPG/SSH 2026-03-24 07:34:30 +01:00
Olaf Kolkman 2e0bc0bae2 Ollama and Bitwarden 2026-02-07 07:39:27 +01:00
Olaf 353e1373b8 Simplified emacs setup and made it default 2026-01-26 18:07:11 +01:00
Olaf add16d36f3 various packages and casks 2026-01-26 15:22:27 +01:00
Olaf fde5d13c0a sqlitestudio not working on this arch 2026-01-05 10:21:15 +01:00
Olaf 02d4f6e68d move order 2025-12-05 10:30:25 +01:00
Olaf 5d811f88ad sorting and minicom 2025-12-03 12:59:29 +01:00
Olaf Kolkman 635d6cdeca 25.05->25.11 2025-12-01 21:39:20 +01:00
Olaf 5cf2d8397d NAtive SQLite manager and rename brew 2025-11-22 18:20:33 +01:00
Olaf 0a1a5a4e4a xmpp clients and act (local git workflow) 2025-10-30 09:52:59 +00:00
Olaf 1666aba15f Removed spotify from menu 2025-10-09 11:57:37 +02:00
Olaf 8a88048d04 Added Steam 2025-10-09 11:56:35 +02:00
Olaf af6a0ca69c alpha ordering + addition DaisyDisk 2025-10-03 10:07:38 +02:00
Olaf 43d3ceaf41 Python packages 2025-10-01 14:23:09 +02:00
Olaf 79acda67c6 ssh config 2025-10-01 14:22:56 +02:00
Olaf 3a1745e620 ansible and X-quartz 2025-09-20 07:58:40 +10:00
Olaf ebe51b2dc6 added qobuz 2025-09-20 07:58:07 +10:00
Olaf eed6a57885 telnet through inetutils 2025-09-02 12:48:04 +02:00
Olaf bdf62ceec0 telnet throughinet tools 2025-09-02 12:47:06 +02:00
Olaf ca74f4654b emacs hash 2025-09-02 12:46:21 +02:00
Olaf bf8698da71 Moving zotero from brew to packages. 2025-08-27 14:53:04 +02:00
Olaf dd195b866d spotify moved, autodesk fusion fails, private internet moved 2025-08-25 16:07:11 +02:00
Olaf Kolkman 0540531fb8 gitdeveloper group added 2025-07-27 15:35:07 +02:00
Olaf Kolkman 3be843fd2e removing mac-apps because it doesn't work on X86 with OCLP 2025-07-27 15:34:40 +02:00
Olaf Kolkman 37c3dac5bb 1 password doesn't worlk with MAS it seems 2025-07-16 20:28:34 +02:00
Olaf f542767018 Moving a bunch of packages from brew to apple store 2025-07-16 18:07:52 +02:00
Olaf 9d1b7596b1 Adding mac-app-util to make apps spotlight findalbe 2025-06-03 10:15:10 +02:00
16 changed files with 438 additions and 1726 deletions
+21 -11
View File
@@ -2,7 +2,8 @@
description = "Starter Configuration with secrets (removed) for MacOS and NixOS"; description = "Starter Configuration with secrets (removed) for MacOS and NixOS";
inputs = { inputs = {
nixpkgs = { nixpkgs = {
url = "github:nixos/nixpkgs//nixpkgs-25.05-darwin"; url = "github:nixos/nixpkgs//nixpkgs-26.05-darwin";
# url = "github:nixos/nixpkgs/nixpkgs-unstable";
}; };
home-manager = { home-manager = {
url = "github:nix-community/home-manager"; url = "github:nix-community/home-manager";
@@ -11,7 +12,8 @@
url = "github:nix-community/nixd"; url = "github:nix-community/nixd";
}; };
darwin = { darwin = {
url = "github:nix-darwin/nix-darwin/nix-darwin-25.05"; # url = "github:nix-darwin/nix-darwin";
url = "github:nix-darwin/nix-darwin/nix-darwin-26.05";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nix-homebrew = { nix-homebrew = {
@@ -40,6 +42,14 @@
nix-vscode-extensions = { nix-vscode-extensions = {
url = "github:nix-community/nix-vscode-extensions"; url = "github:nix-community/nix-vscode-extensions";
}; };
catppuccin = {
url = "github:catppuccin/nix";
};
# mac-app-util doesn't work with OCLP installed on X86
# mac-app-util = {
# url = "github:hraban/mac-app-util";
# };
}; };
outputs = outputs =
{ {
@@ -55,7 +65,8 @@
nixd, nixd,
sops-nix, sops-nix,
nix-vscode-extensions, nix-vscode-extensions,
catppuccin,
...
}@inputs: }@inputs:
let let
user = "olaf"; user = "olaf";
@@ -104,26 +115,19 @@
mkLinuxApps = system: { mkLinuxApps = system: {
"apply" = mkApp "apply" system; "apply" = mkApp "apply" system;
"build-switch" = mkApp "build-switch" system; "build-switch" = mkApp "build-switch" system;
"copy-keys" = mkApp "copy-keys" system;
"create-keys" = mkApp "create-keys" system;
"check-keys" = mkApp "check-keys" system;
"install" = mkApp "install" system; "install" = mkApp "install" system;
}; };
mkDarwinApps = system: { mkDarwinApps = system: {
"apply" = mkApp "apply" system; "apply" = mkApp "apply" system;
"build" = mkApp "build" system; "build" = mkApp "build" system;
"build-switch" = mkApp "build-switch" system; "build-switch" = mkApp "build-switch" system;
"copy-keys" = mkApp "copy-keys" system;
"create-keys" = mkApp "create-keys" system;
"check-keys" = mkApp "check-keys" system;
"rollback" = mkApp "rollback" system; "rollback" = mkApp "rollback" system;
}; };
in in
{ {
devShells = forAllSystems devShell; devShells = forAllSystems devShell;
apps = apps =
nixpkgs.lib.genAttrs linuxSystems mkLinuxApps nixpkgs.lib.genAttrs linuxSystems mkLinuxApps // nixpkgs.lib.genAttrs darwinSystems mkDarwinApps;
// nixpkgs.lib.genAttrs darwinSystems mkDarwinApps;
darwinConfigurations = nixpkgs.lib.genAttrs darwinSystems ( darwinConfigurations = nixpkgs.lib.genAttrs darwinSystems (
system: system:
@@ -134,6 +138,7 @@
# sops-nix.nixosModules.sops # sops-nix.nixosModules.sops
home-manager.darwinModules.home-manager home-manager.darwinModules.home-manager
nix-homebrew.darwinModules.nix-homebrew nix-homebrew.darwinModules.nix-homebrew
# mac-app-util.darwinModules.default
{ {
nix-homebrew = { nix-homebrew = {
inherit user; inherit user;
@@ -146,6 +151,11 @@
mutableTaps = false; mutableTaps = false;
autoMigrate = true; autoMigrate = true;
}; };
home-manager.sharedModules = [
# mac-app-util.homeManagerModules.default
catppuccin.homeModules.catppuccin
];
} }
./hosts/darwin ./hosts/darwin
]; ];
+56
View File
@@ -0,0 +1,56 @@
(eval-when-compile
(require 'use-package))
;; load some packages
(use-package company
:bind ("<C-tab>" . company-complete)
:diminish company-mode
:commands (company-mode global-company-mode)
:defer 1
:config
(global-company-mode))
(use-package counsel
:commands (counsel-descbinds)
:bind (([remap execute-extended-command] . counsel-M-x)
("C-x C-f" . counsel-find-file)
("C-c g" . counsel-git)
("C-c j" . counsel-git-grep)
("C-c k" . counsel-ag)
("C-x l" . counsel-locate)
("M-y" . counsel-yank-pop)))
(use-package flycheck
:defer 2
:config (global-flycheck-mode))
(use-package ivy
:defer 1
:bind (("C-c C-r" . ivy-resume)
("C-x C-b" . ivy-switch-buffer)
:map ivy-minibuffer-map
("C-j" . ivy-call))
:diminish ivy-mode
:commands ivy-mode
:config
(ivy-mode 1))
(use-package magit
:defer
:if (executable-find "git")
:bind (("C-x g" . magit-status)
("C-x G" . magit-dispatch-popup))
:init
(setq magit-completing-read-function 'ivy-completing-read))
(use-package projectile
:commands projectile-mode
:bind-keymap ("C-c p" . projectile-command-map)
:defer 5
:config
(projectile-global-mode))
(global-set-key (kbd "C-.") 'set-mark-command)
+27 -2
View File
@@ -39,7 +39,9 @@ in
"https://nix-community.cachix.org" "https://nix-community.cachix.org"
"https://cache.nixos.org" "https://cache.nixos.org"
]; ];
trusted-public-keys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" ]; trusted-public-keys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
];
}; };
gc = { gc = {
@@ -57,6 +59,17 @@ in
''; '';
}; };
users.groups= {
gidevelopert={
description="Git Common Rights";
gid=500;
name= "gitdeveloper";
members = [ "olaf" ] ;
};
};
users.knownGroups=["gitdeveloper"];
# Turn off NIX_PATH warnings now that we're using flakes # Turn off NIX_PATH warnings now that we're using flakes
system.checks.verifyNixPath = false; system.checks.verifyNixPath = false;
@@ -64,7 +77,19 @@ in
environment.systemPackages = environment.systemPackages =
with pkgs; with pkgs;
[ [
emacs-unstable # Emacs with automatic package management from overlay
(emacsWithPackagesFromUsePackage {
config = ../config/emacs/emacs.el;
defaultInitFile = true;
package = emacs;
alwaysEnsure = true;
extraEmacsPackages = epkgs: with epkgs; [
magit
company
nix-mode
use-package
];
})
] ]
++ (import ../../modules/shared/packages.nix { inherit pkgs; }) ++ (import ../../modules/shared/packages.nix { inherit pkgs; })
+17 -2
View File
@@ -62,7 +62,8 @@ in
"https://nix-community.cachix.org" "https://nix-community.cachix.org"
"https://cache.nixos.org" "https://cache.nixos.org"
]; ];
trusted-public-keys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" ]; trusted-public-keys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" ];
}; };
package = pkgs.nix; package = pkgs.nix;
@@ -330,10 +331,24 @@ in
jetbrains-mono jetbrains-mono
font-awesome font-awesome
noto-fonts noto-fonts
noto-fonts-emoji noto-fonts-color-emoji
]; ];
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
# Emacs with automatic package management from overlay
(emacsWithPackagesFromUsePackage {
config = ../config/emacs/emacs.el;
defaultInitFile = true;
package = emacs-unstable;
alwaysEnsure = true;
extraEmacsPackages =
epkgs: with epkgs; [
magit
company
nix-mode
use-package
];
})
gitAndTools.gitFull gitAndTools.gitFull
inetutils inetutils
]; ];
+34 -34
View File
@@ -2,72 +2,72 @@ _:
[ [
# Development Tools # Development Tools
"homebrew/cask/docker" "arduino-ide"
"homebrew/cask/docker-desktop"
"iterm2" "iterm2"
"oracle-jdk" "oracle-jdk"
"arduino-ide"
"visual-studio-code" "visual-studio-code"
# Creatative tools # Creatative tools
"spotify"
"blender" "blender"
"gimp" "gimp"
"inkscape" "inkscape"
"vcv-rack" "vcv-rack"
"affinity-designer" #"affinity-designer"
"affinity-photo" #"affinity-photo"
"affinity-publisher" #"affinity-publisher"
# Communication Tools # Communication Tools
"adium"
"discord" "discord"
"slack"
"signal" "signal"
"webex"
"whatsapp" "whatsapp"
"zoom" "zoom"
"webex"
# Utility Tools # Utility Tools
"syncthing"
"blackhole-16ch" "blackhole-16ch"
"blackhole-2ch" "blackhole-2ch"
"box-drive" "box-drive"
"box-tools" "box-tools"
"synology-drive" "daisydisk"
"spamsieve"
"keybase"
"karabiner-elements" "karabiner-elements"
"keybase"
"spamsieve"
"syncthing-app"
"synology-drive"
# Entertainment Tools # Entertainment Tools
"vlc" "qobuz"
"steam"
"handbrake-app"
"jellyfin-media-player" "jellyfin-media-player"
"vimediamanager"
"mediaelch" "mediaelch"
"handbrake"
"obs" "obs"
"vimediamanager"
"vlc"
# Productivity Tools # Productivity Tools
"1Password" "1Password"
"zotero" "bitwarden"
"gpg-suite"
"home-assistant"
"Fantastical"
"Remarkable"
"mailmate"
"spamsieve"
"libreoffice"
"macdown"
"calibre" "calibre"
"superslicer"
"element"
"mqtt-explorer"
"virtualbox"
"autodesk-fusion"
"qmk-toolbox"
"dbeaver-community" "dbeaver-community"
"sqlitestudio" "element"
"gpg-suite"
"macdown"
"mailmate"
"orcaslicer"
"remanager"
"qmk-toolbox"
"smartsheet"
"spamsieve"
# "sqlitestudio" # Doesn't work without Rosetta
"virtualbox"
"copilot-cli"
"wireshark"
# Browsers # Browsers
"google-chrome"
"firefox"
] ]
+56 -6
View File
@@ -17,6 +17,7 @@ let
additionalFiles = import ./files.nix { inherit user config pkgs; }; additionalFiles = import ./files.nix { inherit user config pkgs; };
in in
{ {
imports = [ imports = [
./dock ./dock
]; ];
@@ -46,7 +47,23 @@ in
# This message is safe to ignore. (https://github.com/dustinlyons/nixos-config/issues/83) # This message is safe to ignore. (https://github.com/dustinlyons/nixos-config/issues/83)
masApps = { masApps = {
"wireguard" = 1451685025; "1Password for Safari" = 1569813296; # (8.10.82)
"Affinity Designer 2" = 1616831348;
"Affinity Photo 2: Image Editor" = 1616822987;
"Affinity Publisher 2" = 1606941598;
# "DaisyDisk" = 411643860; # (4.32) # Don't use this, we need the official version that is not sandboxed
"Fantastical - Calendar" = 975937182;
"Home Assistant" = 1099568401; # (2025.7.1)
"Ice Cubes for Mastodon" = 6444915884; # (1.11.3)
"LibreOffice" = 1630474372;
"Monal - XMPP Chatting " = 1637078500;
"MQTT Explorer" = 1455214828; # (0.3.5)
"Night Sky" = 475772902; # 475772902
"Native SQLite Manager" = 1416282836; # (1.31.0)
"Remarkable Desktop" = 1276493162; # (3.19.0)
"Slack for Desktop" = 803453959; # (4.45.60)
"WiFi Explorer: Scanner" = 494803304; # (3.5.6)
### "1Password: Password Manager" = 1511601750; # (8.11.0) Does not seem to insta
}; };
}; };
@@ -61,6 +78,7 @@ in
... ...
}: }:
{ {
home = { home = {
enableNixpkgsReleaseCheck = false; enableNixpkgsReleaseCheck = false;
packages = pkgs.callPackage ./packages.nix { }; packages = pkgs.callPackage ./packages.nix { };
@@ -68,12 +86,32 @@ in
sharedFiles sharedFiles
additionalFiles additionalFiles
{ "emacs-launcher.command".source = myEmacsLauncher; } { "emacs-launcher.command".source = myEmacsLauncher; }
]; ];
stateVersion = "23.11"; stateVersion = "23.11";
}; };
programs = { } // import ../shared/home-manager.nix { inherit config pkgs lib; }; programs = {
} // import ../shared/home-manager.nix { inherit config pkgs lib; };
catppuccin = {
autoEnable = true;
enable = true;
flavor = "mocha";
};
services = {
gpg-agent = {
enable = true;
enableSshSupport = true;
extraConfig = ''
default-cache-ttl 600
max-cache-ttl 7200
pinentry-program /Users/olaf/.nix-profile/bin/pinentry-mac
'';
};
};
# Marked broken Oct 20, 2022 check later to remove this # Marked broken Oct 20, 2022 check later to remove this
# https://github.com/nix-community/home-manager/issues/3344 # https://github.com/nix-community/home-manager/issues/3344
manual.manpages.enable = false; manual.manpages.enable = false;
@@ -89,23 +127,33 @@ in
{ path = "/System/Applications/Mail.app/"; } { path = "/System/Applications/Mail.app/"; }
{ path = "/Applications/MailMate.app/"; } { path = "/Applications/MailMate.app/"; }
{ path = "/Applications/1Password.app/"; } { path = "/Applications/1Password.app/"; }
{ path = "/Applications/Firefox.app/"; } { path = "/Applications/Bitwarden.app"; }
{ path = "/Applications/Calendar.app/"; }
{ path = "/Applications/Notes.app/"; }
{ path = "/run/current-system/Applications/Firefox.app/"; }
{ path = "/Applications/Slack.app/"; } { path = "/Applications/Slack.app/"; }
{ {
path = "/Applications/zoom.us.app/"; path = "/Applications/zoom.us.app/";
options = " -l Zooom"; options = " -l Zoom";
} }
{ path = "/System/Applications/Messages.app/"; } { path = "/System/Applications/Messages.app/"; }
{ path = "/Applications/iTerm.app/"; } { path = "/Applications/iTerm.app/"; }
{ path = "/Applications/Fantastical.app/"; } { path = "/Applications/Fantastical.app/"; }
# { path = "${pkgs.alacritty}/Applications/Alacritty.app/"; } { path = "${pkgs.alacritty}/Applications/Alacritty.app/"; }
{ path = "/Applications/Spotify.app/"; } # { path = "/Applications/Spotify.app/"; }
{ path = "/Applications/Qobuz.app/"; }
{ path = "/System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/"; } { path = "/System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/"; }
{
path = "/run/current-system/Applications/Brave Browser.app/";
options = "-l Brave";
}
{ path = "/System/Applications/Photos.app/"; } { path = "/System/Applications/Photos.app/"; }
{ path = "/System/Applications/System Settings.app/"; } { path = "/System/Applications/System Settings.app/"; }
{ path = "/Applications/Signal.app/"; } { path = "/Applications/Signal.app/"; }
{ path = "/Applications/WhatsApp.app/"; } { path = "/Applications/WhatsApp.app/"; }
{ path = "/Applications/Ice\ Cubes.app/"; }
{ {
path = "/Applications/Jellyfin Media Player.app/"; path = "/Applications/Jellyfin Media Player.app/";
@@ -118,8 +166,10 @@ in
{ path = "/Applications/Microsoft Word.app/"; } { path = "/Applications/Microsoft Word.app/"; }
{ path = "/Applications/Microsoft PowerPoint.app/"; } { path = "/Applications/Microsoft PowerPoint.app/"; }
{ path = "/Applications/Microsoft Teams.app/"; } { path = "/Applications/Microsoft Teams.app/"; }
{ path = "/Applications/Monal.app/"; }
{ path = "/System/Applications/Utilities/Screen Sharing.app/"; } { path = "/System/Applications/Utilities/Screen Sharing.app/"; }
{ path = "/run/current-system/Applications/Emacs.app/"; } { path = "/run/current-system/Applications/Emacs.app/"; }
{ path = "/run/current-system/Applications/Zotero.app"; }
{ {
path = "/Applications/"; path = "/Applications/";
section = "others"; section = "others";
+1 -1
View File
@@ -8,7 +8,7 @@
let let
user = "olaf"; user = "olaf";
xdg_configHome = "/home/${user}/.config"; xdg_configHome = "/home/${user}/.config";
shared-programs = import ../shared/home-manager.nix { inherit config pkgs lib; }; shared-programs = import ../shared/home-manager.nix { inherit config pkgs lib; };
shared-files = import ../shared/files.nix { inherit config pkgs; }; shared-files = import ../shared/files.nix { inherit config pkgs; };
polybar-user_modules = builtins.readFile ( polybar-user_modules = builtins.readFile (
+10 -2
View File
@@ -1,18 +1,23 @@
{ pkgs }: { pkgs }:
with pkgs; with pkgs;
let shared-packages = import ../shared/packages.nix { inherit pkgs; }; in let
shared-packages ++ [ shared-packages = import ../shared/packages.nix { inherit pkgs; };
in
shared-packages
++ [
# Security and authentication # Security and authentication
yubikey-agent yubikey-agent
keepassxc keepassxc
private-internet-access
# App and package management # App and package management
appimage-run appimage-run
gnumake gnumake
cmake cmake
home-manager home-manager
ansible
# Media and design tools # Media and design tools
vlc vlc
@@ -33,6 +38,9 @@ shared-packages ++ [
postgresql postgresql
libtool # for Emacs vterm libtool # for Emacs vterm
# System
istat-menus
# Screenshot and recording tools # Screenshot and recording tools
flameshot flameshot
File diff suppressed because it is too large Load Diff
-142
View File
@@ -1,142 +0,0 @@
;; -------------------------
;; Variable Declarations
;; -------------------------
(defvar org-config-file "~/.local/share/src/nixos-config/modules/shared/config/emacs/config.org")
(defvar default-config-file "~/.emacs.d/default-config.org")
(defvar default-config-url "https://git.kolkman.org/olaf/nixos-config_to_rule_them_all/raw/branch/main/modules/shared/config/emacs/config.org")
;; -------------------------
;; Package Manager Setup
;; -------------------------
(require 'package)
(setq package-archives '(("melpa" . "https://melpa.org/packages/")
("gnu" . "http://elpa.gnu.org/packages/")))
(unless (assoc-default "melpa" package-archives)
(message "Warning: MELPA source not found. Adding MELPA to package-archives.")
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t))
(unless (assoc-default "org" package-archives)
(message "Warning: Org source not found. Adding Org to package-archives.")
(add-to-list 'package-archives '("org" . "https://orgmode.org/elpa/") t))
(setq package-enable-at-startup nil)
;; -------------------------
;; Use-Package Setup
;; -------------------------
(unless (package-installed-p 'use-package)
(package-initialize)
(if (package-install 'use-package)
(message "use-package installed successfully.")
(error "Error: Failed to install use-package."))
(setq use-package-verbose t)
(setq use-package-always-ensure t)
(require 'use-package))
;; -------------------------
;; Environment Variables Setup
;; -------------------------
(use-package exec-path-from-shell
:if (memq window-system '(mac ns x))
:config
(setq exec-path-from-shell-variables '("PATH" "GOPATH" "PNPM_HOME"))
(if (exec-path-from-shell-initialize)
(message "Environment variables initialized successfully.")
(error "Error: Failed to initialize environment variables.")))
(when (daemonp)
(exec-path-from-shell-initialize))
;; -------------------------
;; Straight.el Setup
;; -------------------------
(setq straight-repository-branch "develop")
(defvar bootstrap-version)
(let ((bootstrap-file
(expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory))
(bootstrap-version 6))
(unless (file-exists-p bootstrap-file)
(with-current-buffer
(url-retrieve-synchronously
"https://raw.githubusercontent.com/radian-software/straight.el/develop/install.el"
'silent 'inhibit-cookies)
(goto-char (point-max))
(eval-print-last-sexp)))
(if (load bootstrap-file nil 'nomessage)
(message "Straight.el loaded successfully.")
(error "Error: Failed to load Straight.el.")))
(setq straight-use-package-by-default t)
(package-initialize)
;; -------------------------
;; Window and UI Setup
;; -------------------------
(defun dl/window-setup ()
(condition-case nil
(progn
(column-number-mode)
(scroll-bar-mode 0)
(menu-bar-mode -1)
(tool-bar-mode 0)
(winner-mode 1)
(add-to-list 'default-frame-alist '(ns-transparent-titlebar . t))
(add-to-list 'default-frame-alist '(ns-appearance . dark))
(setq ns-use-proxy-icon nil)
(setq frame-title-format nil)
(message "Window and UI setup completed successfully."))
(error (message "Error occurred in Window and UI setup."))))
(dl/window-setup)
;; -------------------------
;; Org Mode Setup
;; -------------------------
(defun dl/org-mode-setup ()
(condition-case nil
(progn
(org-indent-mode)
(variable-pitch-mode 1)
(auto-fill-mode 0)
(visual-line-mode 1)
(setq evil-auto-indent nil)
(message "Org mode setup completed successfully."))
(error (message "Error occurred in Org mode setup."))))
(use-package org
:defer t
:hook (org-mode . dl/org-mode-setup)
:config
(setq org-edit-src-content-indentation 2
org-ellipsis ""
org-hide-emphasis-markers t
org-hide-block-startup nil)
:bind (("C-c a" . org-agenda)))
;; -------------------------
;; Default Config Download
;; -------------------------
(defun dl/download-default-config ()
(condition-case nil
(progn
(unless (file-exists-p default-config-file)
(url-retrieve default-config-url
(lambda (_status)
;; delete-region removes the HTTP headers from the downloaded content.
(delete-region (point-min) (1+ url-http-end-of-headers))
;; save the contents of the buffer to the file.
(write-file default-config-file)))
(message "Default configuration downloaded successfully.")))
(error (message "Error occurred while downloading the default configuration."))))
;; -------------------------
;; Load Org Config or Default
;; -------------------------
(condition-case nil
(progn
(unless (file-exists-p org-config-file)
(dl/download-default-config))
(if (file-exists-p org-config-file)
(org-babel-load-file org-config-file)
(org-babel-load-file default-config-file))
(message "Configuration loaded successfully."))
(error (message "Error occurred while loading the configuration.")))
+5 -2
View File
@@ -1,7 +1,7 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
let let
emacsOverlaySha256 = "06413w510jmld20i4lik9b36cfafm501864yq8k4vxl5r4hn0j0h"; emacsOverlaySha256 = "1hr951gdyqymb1rlkpxb09cx02a6h99sd9fsk7744hvqsdpz5hd6";
in in
{ {
home-manager.backupFileExtension = "nix-backup"; home-manager.backupFileExtension = "nix-backup";
@@ -11,6 +11,9 @@ in
allowBroken = true; allowBroken = true;
allowInsecure = false; allowInsecure = false;
allowUnsupportedSystem = true; allowUnsupportedSystem = true;
permittedInsecurePackages = [
"electron-39.8.10"
];
}; };
overlays = overlays =
@@ -22,7 +25,7 @@ in
(attrNames (readDir path))) (attrNames (readDir path)))
++ [(import (builtins.fetchTarball { ++ [(import (builtins.fetchTarball {
url = "https://github.com/dustinlyons/emacs-overlay/archive/refs/heads/master.tar.gz"; url = "https://github.com/nix-community/emacs-overlay/archive/master.tar.gz";
sha256 = emacsOverlaySha256; sha256 = emacsOverlaySha256;
}))]; }))];
}; };
-4
View File
@@ -9,8 +9,4 @@
# text = githubPublicKey; # text = githubPublicKey;
# }; # };
# Initializes Emacs with org-mode so we can tangle the main config
".emacs.d/init.el" = {
text = builtins.readFile ../shared/config/emacs/init.el;
};
} }
+47 -18
View File
@@ -11,6 +11,16 @@ let
in in
{ {
gpg = {
enable = true;
settings = {
default-key = "01B157D574FEDBB2" ;
no-emit-version = true;
auto-key-retrieve = true;
personal-digest-preferences= "SHA512 SHA384 SHA256 SHA224";
};
};
# Shared shell configuration # Shared shell configuration
zsh = { zsh = {
@@ -34,6 +44,10 @@ in
. /nix/var/nix/profiles/default/etc/profile.d/nix.sh . /nix/var/nix/profiles/default/etc/profile.d/nix.sh
fi fi
# GPGAgent for SSH
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
# Define variables for directories # Define variables for directories
export PATH=$HOME/.pnpm-packages/bin:$HOME/.pnpm-packages:$PATH export PATH=$HOME/.pnpm-packages/bin:$HOME/.pnpm-packages:$PATH
export PATH=$HOME/.npm-packages/bin:$HOME/bin:$PATH export PATH=$HOME/.npm-packages/bin:$HOME/bin:$PATH
@@ -88,12 +102,11 @@ in
git = { git = {
enable = true; enable = true;
ignores = [ "*.swp" ]; ignores = [ "*.swp" ];
userName = name;
userEmail = email;
lfs = { lfs = {
enable = true; enable = true;
}; };
extraConfig = { settings = {
init.defaultBranch = "main"; init.defaultBranch = "main";
core = { core = {
editor = "vim"; editor = "vim";
@@ -102,6 +115,15 @@ in
commit.gpgsign = false; commit.gpgsign = false;
pull.rebase = true; pull.rebase = true;
rebase.autoStash = true; rebase.autoStash = true;
user = {
name = name;
email = email;
};
};
signing = {
format = "openpgp";
key = null;
signByDefault = true;
}; };
}; };
@@ -289,27 +311,31 @@ in
ssh = { ssh = {
enable = true; enable = true;
includes = [
(lib.mkIf pkgs.stdenv.hostPlatform.isLinux "/home/${user}/.ssh/config_external") enableDefaultConfig = false;
(lib.mkIf pkgs.stdenv.hostPlatform.isDarwin "/Users/${user}/.ssh/config_external") settings= {
]; "*" = {
matchBlocks = { forwardAgent = false;
"Host *" = { addKeysToAgent = "no";
identityAgent = "\"~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock\""; compression = false;
}; serverAliveInterval = 0;
"github.com" = { serverAliveCountMax = 3;
identitiesOnly = true; hashKnownHosts = false;
identityFile = [ userKnownHostsFile = "~/.ssh/known_hosts";
(lib.mkIf pkgs.stdenv.hostPlatform.isLinux "/home/${user}/.ssh/id_github") controlMaster = "no";
(lib.mkIf pkgs.stdenv.hostPlatform.isDarwin "/Users/${user}/.ssh/id_github") controlPath = "~/.ssh/master-%r@%n:%p";
]; controlPersist = "no";
}; };
"moonunit.kolkman.org" = { "moonunit.kolkman.org" = {
hostname = "moonunit.kolkman.org"; hostname = "moonunit.kolkman.org";
user = "root"; user = "root";
port = 2222; port = 2222;
}; };
}; };
includes = [
(lib.mkIf pkgs.stdenv.hostPlatform.isLinux "/home/${user}/.ssh/config_external")
(lib.mkIf pkgs.stdenv.hostPlatform.isDarwin "/Users/${user}/.ssh/config_external")
];
}; };
tmux = { tmux = {
@@ -395,4 +421,7 @@ in
bind-key -T copy-mode-vi 'C-\' select-pane -l bind-key -T copy-mode-vi 'C-\' select-pane -l
''; '';
}; };
} }
+39
View File
@@ -0,0 +1,39 @@
(vscode-with-extensions.override {
vscodeExtensions =
with vscode-extensions;
[
#bbenoist.nix
jnoortheen.nix-ide
ms-python.python
ms-azuretools.vscode-docker
# ms-vscode-remote.remote-ssh
# ms-vscode.cpptools
eamodio.gitlens
]
++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
# {
# name = "remote-ssh-edit";
# publisher = "ms-vscode-remote";
# version = "0.47.2";
# sha256 = "1hp6gjh4xp2m1xlm1jsdzxw9d8frkiidhph6nvl24d0h8z34w49g";
# }
{
name = "cpptools";
publisher = "ms-vscode";
version = "1.26.1";
sha256 = "sha256-uVE7sEO8XN3ArFpElUw25/BKyCOzF1EmZ5nHBkdoL/0=";
}
# {
# name = "minifyall";
# publisher = "josee9988";
# version = "2.10";
# }
{
name = "platformio-ide";
publisher = "platformio";
version = "3.3.4";
sha256 = "sha256-qfNz4IYjCmCMFLtAkbGTW5xnsVT8iDnFWjrgkmr2Slk=";
}
];
})
+125 -25
View File
@@ -4,81 +4,151 @@ with pkgs;
[ [
# Nix # Nix
nixd nixd
mas
# The Web Browsers
brave
firefox
# google-chrome. #stopped working
# security and some such
# bitwarden-desktop #Does not compile properly
bitwarden-cli
yubikey-manager # provides ykman
pinentry_mac
# General packages for development and system management # General packages for development and system management
#alacritty alacritty
ansible
aspell aspell
aspellDicts.en aspellDicts.en
bash-completion bash-completion
bat bat
btop btop
coreutils coreutils
difftastic
htop
killall killall
neofetch minicom
mtr
ncdu
fastfetch
nixfmt
openssh openssh
postgresql
sqlite sqlite
unrar
wget wget
zip zip
htop
ncdu
mtr
nixfmt-rfc-style
difftastic
# Development # Development
act
autoconf autoconf
autoconf-archive autoconf-archive
automake automake
ccache ccache
clang-tools
cmake cmake
dfu-util
go
jd-diff-patch # json diff patch
jq # json tool
llvm
nasm nasm
ninja ninja
pkg-config pkg-config
llvm
clang-tools
dfu-util
# Encryption and security tools # Encryption and security tools
age age
sops
gnupg gnupg
just
libfido2 libfido2
sops
# Cloud-related tools and SDKs # Cloud-related tools and SDKs
docker docker
docker-compose docker-compose
# Media-related packages # Media-related packages
emacs-all-the-icons-fonts
dejavu_fonts dejavu_fonts
ffmpeg emacs-all-the-icons-fonts
fd fd
ffmpeg
font-awesome font-awesome
# jetbrains-mono
hack-font hack-font
noto-fonts
noto-fonts-emoji
meslo-lgs-nf meslo-lgs-nf
noto-fonts
noto-fonts-color-emoji
# Node.js development tools # Node.js development tools
nodePackages.npm # globally install npm #nodePackages.npm # globally install npm
nodePackages.prettier #nodePackages.prettier
nodejs
# Text and terminal utilities # Text and terminal utilities
xterm
htop htop
hunspell hunspell
iftop iftop
jetbrains-mono inetutils # includes Telnet
jq jq
ripgrep ripgrep
tree
tmux tmux
tree
unrar unrar
unzip unzip
rmapi
# zsh-powerlevel10k # zsh-powerlevel10k
# Python packages # Python packages
python3 # python3
virtualenv virtualenv
(python3.withPackages (
python-pkgs: with python-pkgs; [
bidict
blinker
certifi
charset-normalizer
click
flask
flask-socketio
h11
idna
importlib-metadata
itsdangerous
jinja2
markupsafe
mercantile
mlx-lm
numpy
pandas
pillow
pillow
python-engineio
python-socketio
requests
requests
shapely
simple-websocket
tkinter
tqdm
urllib3
werkzeug
wsproto
zipp
]
))
# LLM
ollama
# Social
pidgin
# Rust Related # Rust Related
rustc rustc
cargo cargo
@@ -87,7 +157,7 @@ with pkgs;
# (vscode-with-extensions.override { # (vscode-with-extensions.override {
# vscodeExtensions = # vscodeExtensions =
# with vscode-extensions; # with vscode-extensions;
# [ # [https://github.com/dustinlyons/nixos-config/
# #bbenoist.nix # #bbenoist.nix
# jnoortheen.nix-ide # jnoortheen.nix-ide
# ms-python.python # ms-python.python
@@ -124,31 +194,61 @@ with pkgs;
# ]; # ];
# }) # })
# Tex and LaTex # XML, Tex and LaTex
pandoc
mdbook mdbook
pandoc
rubyPackages_3_4.kramdown-rfc2629
tex-fmt
xml2rfc
zotero
(texlive.combine { (texlive.combine {
inherit (texlive) inherit (texlive)
apa6 apa6
apa7
apacite
biber
biblatex
biblatex-apa6
bibunits bibunits
catchfile
comment
courier
csquotes
draftwatermark draftwatermark
endfloat
enumitem enumitem
fancyhdr
fontawesome5 fontawesome5
footmisc
footnotehyper footnotehyper
geometry
ifmtarg ifmtarg
latexmk
lipsum
lualatex-math lualatex-math
makecell makecell
microtype microtype
multirow
nowidow
parskip parskip
ragged2e
scalerel
scheme-small scheme-small
selnolig selnolig
sourcesanspro sourcesanspro
svg
tcolorbox tcolorbox
texcount
threeparttable threeparttable
tikzfill tikzfill
titlesec
titling titling
tocloft
transparent
upquote upquote
url
xifthen xifthen
xurl xurl
; ;