1 Commits

Author SHA1 Message Date
Olaf Kolkman 697a62bc89 Platform IO still doesn't run 2025-06-03 07:26:20 +02:00
16 changed files with 1769 additions and 478 deletions
+11 -20
View File
@@ -2,8 +2,7 @@
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-26.05-darwin"; url = "github:nixos/nixpkgs//nixpkgs-25.05-darwin";
# url = "github:nixos/nixpkgs/nixpkgs-unstable";
}; };
home-manager = { home-manager = {
url = "github:nix-community/home-manager"; url = "github:nix-community/home-manager";
@@ -12,8 +11,7 @@
url = "github:nix-community/nixd"; url = "github:nix-community/nixd";
}; };
darwin = { darwin = {
# url = "github:nix-darwin/nix-darwin"; url = "github:nix-darwin/nix-darwin/nix-darwin-25.05";
url = "github:nix-darwin/nix-darwin/nix-darwin-26.05";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nix-homebrew = { nix-homebrew = {
@@ -42,14 +40,7 @@
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 =
{ {
@@ -65,8 +56,7 @@
nixd, nixd,
sops-nix, sops-nix,
nix-vscode-extensions, nix-vscode-extensions,
catppuccin,
...
}@inputs: }@inputs:
let let
user = "olaf"; user = "olaf";
@@ -115,19 +105,26 @@
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 darwinSystems mkDarwinApps; nixpkgs.lib.genAttrs linuxSystems mkLinuxApps
// nixpkgs.lib.genAttrs darwinSystems mkDarwinApps;
darwinConfigurations = nixpkgs.lib.genAttrs darwinSystems ( darwinConfigurations = nixpkgs.lib.genAttrs darwinSystems (
system: system:
@@ -138,7 +135,6 @@
# 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;
@@ -151,11 +147,6 @@
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
@@ -1,56 +0,0 @@
(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)
+2 -27
View File
@@ -39,9 +39,7 @@ 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 = {
@@ -59,17 +57,6 @@ 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;
@@ -77,19 +64,7 @@ in
environment.systemPackages = environment.systemPackages =
with pkgs; with pkgs;
[ [
# Emacs with automatic package management from overlay emacs-unstable
(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; })
+2 -17
View File
@@ -62,8 +62,7 @@ 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;
@@ -331,24 +330,10 @@ in
jetbrains-mono jetbrains-mono
font-awesome font-awesome
noto-fonts noto-fonts
noto-fonts-color-emoji noto-fonts-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
]; ];
+35 -35
View File
@@ -2,72 +2,72 @@ _:
[ [
# Development Tools # Development Tools
"arduino-ide" "homebrew/cask/docker"
"homebrew/cask/docker-desktop"
"iterm2" "iterm2"
"oracle-jdk" "oracle-jdk"
"visual-studio-code" "arduino-ide"
# "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"
"daisydisk"
"karabiner-elements"
"keybase"
"spamsieve"
"syncthing-app"
"synology-drive" "synology-drive"
"spamsieve"
"keybase"
"karabiner-elements"
# Entertainment Tools # Entertainment Tools
"qobuz"
"steam"
"handbrake-app"
"jellyfin-media-player"
"mediaelch"
"obs"
"vimediamanager"
"vlc" "vlc"
"jellyfin-media-player"
"vimediamanager"
"mediaelch"
"handbrake"
"obs"
# Productivity Tools # Productivity Tools
"1Password" "1Password"
"bitwarden" "zotero"
"calibre"
"dbeaver-community"
"element"
"gpg-suite" "gpg-suite"
"macdown" "home-assistant"
"Fantastical"
"Remarkable"
"mailmate" "mailmate"
"orcaslicer"
"remanager"
"qmk-toolbox"
"smartsheet"
"spamsieve" "spamsieve"
# "sqlitestudio" # Doesn't work without Rosetta "libreoffice"
"macdown"
"calibre"
"superslicer"
"element"
"mqtt-explorer"
"virtualbox" "virtualbox"
"copilot-cli" "autodesk-fusion"
"qmk-toolbox"
"dbeaver-community"
"sqlitestudio"
"wireshark"
# Browsers # Browsers
"google-chrome"
"firefox"
] ]
+7 -57
View File
@@ -17,7 +17,6 @@ let
additionalFiles = import ./files.nix { inherit user config pkgs; }; additionalFiles = import ./files.nix { inherit user config pkgs; };
in in
{ {
imports = [ imports = [
./dock ./dock
]; ];
@@ -47,23 +46,7 @@ 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 = {
"1Password for Safari" = 1569813296; # (8.10.82) "wireguard" = 1451685025;
"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
}; };
}; };
@@ -78,7 +61,6 @@ in
... ...
}: }:
{ {
home = { home = {
enableNixpkgsReleaseCheck = false; enableNixpkgsReleaseCheck = false;
packages = pkgs.callPackage ./packages.nix { }; packages = pkgs.callPackage ./packages.nix { };
@@ -86,31 +68,11 @@ in
sharedFiles sharedFiles
additionalFiles additionalFiles
{ "emacs-launcher.command".source = myEmacsLauncher; } { "emacs-launcher.command".source = myEmacsLauncher; }
]; ];
stateVersion = "23.11"; stateVersion = "23.11";
}; };
programs = { programs = { } // import ../shared/home-manager.nix { inherit config pkgs lib; };
} // 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
@@ -127,49 +89,37 @@ 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/Bitwarden.app"; } { path = "/Applications/Firefox.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 Zoom"; options = " -l Zooom";
} }
{ 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/";
options = "-l Jellyfin"; options = "-l Jellyfin";
} }
{ path = "/Applications/Visual Studio Code.app/"; } { path = "/run/current-system/Applications/Visual Studio Code.app/"; }
{ path = "/Applications/Home Assistant.app/"; } { path = "/Applications/Home Assistant.app/"; }
{ path = "/Applications/reMarkable.app/"; } { path = "/Applications/reMarkable.app/"; }
{ path = "/Applications/LibreOffice.app/"; } { path = "/Applications/LibreOffice.app/"; }
{ 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";
+2 -10
View File
@@ -1,23 +1,18 @@
{ pkgs }: { pkgs }:
with pkgs; with pkgs;
let let shared-packages = import ../shared/packages.nix { inherit pkgs; }; in
shared-packages = import ../shared/packages.nix { inherit pkgs; }; shared-packages ++ [
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
@@ -38,9 +33,6 @@ 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
@@ -0,0 +1,142 @@
;; -------------------------
;; 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.")))
+2 -5
View File
@@ -1,7 +1,7 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
let let
emacsOverlaySha256 = "1hr951gdyqymb1rlkpxb09cx02a6h99sd9fsk7744hvqsdpz5hd6"; emacsOverlaySha256 = "06413w510jmld20i4lik9b36cfafm501864yq8k4vxl5r4hn0j0h";
in in
{ {
home-manager.backupFileExtension = "nix-backup"; home-manager.backupFileExtension = "nix-backup";
@@ -11,9 +11,6 @@ in
allowBroken = true; allowBroken = true;
allowInsecure = false; allowInsecure = false;
allowUnsupportedSystem = true; allowUnsupportedSystem = true;
permittedInsecurePackages = [
"electron-39.8.10"
];
}; };
overlays = overlays =
@@ -25,7 +22,7 @@ in
(attrNames (readDir path))) (attrNames (readDir path)))
++ [(import (builtins.fetchTarball { ++ [(import (builtins.fetchTarball {
url = "https://github.com/nix-community/emacs-overlay/archive/master.tar.gz"; url = "https://github.com/dustinlyons/emacs-overlay/archive/refs/heads/master.tar.gz";
sha256 = emacsOverlaySha256; sha256 = emacsOverlaySha256;
}))]; }))];
}; };
+4
View File
@@ -9,4 +9,8 @@
# 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;
};
} }
+17 -46
View File
@@ -11,16 +11,6 @@ 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 = {
@@ -44,10 +34,6 @@ 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
@@ -102,11 +88,12 @@ in
git = { git = {
enable = true; enable = true;
ignores = [ "*.swp" ]; ignores = [ "*.swp" ];
userName = name;
userEmail = email;
lfs = { lfs = {
enable = true; enable = true;
}; };
settings = { extraConfig = {
init.defaultBranch = "main"; init.defaultBranch = "main";
core = { core = {
editor = "vim"; editor = "vim";
@@ -115,15 +102,6 @@ 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;
}; };
}; };
@@ -311,20 +289,20 @@ in
ssh = { ssh = {
enable = true; enable = true;
includes = [
enableDefaultConfig = false; (lib.mkIf pkgs.stdenv.hostPlatform.isLinux "/home/${user}/.ssh/config_external")
settings= { (lib.mkIf pkgs.stdenv.hostPlatform.isDarwin "/Users/${user}/.ssh/config_external")
"*" = { ];
forwardAgent = false; matchBlocks = {
addKeysToAgent = "no"; "Host *" = {
compression = false; identityAgent = "\"~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock\"";
serverAliveInterval = 0; };
serverAliveCountMax = 3; "github.com" = {
hashKnownHosts = false; identitiesOnly = true;
userKnownHostsFile = "~/.ssh/known_hosts"; identityFile = [
controlMaster = "no"; (lib.mkIf pkgs.stdenv.hostPlatform.isLinux "/home/${user}/.ssh/id_github")
controlPath = "~/.ssh/master-%r@%n:%p"; (lib.mkIf pkgs.stdenv.hostPlatform.isDarwin "/Users/${user}/.ssh/id_github")
controlPersist = "no"; ];
}; };
"moonunit.kolkman.org" = { "moonunit.kolkman.org" = {
hostname = "moonunit.kolkman.org"; hostname = "moonunit.kolkman.org";
@@ -332,10 +310,6 @@ in
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 = {
@@ -421,7 +395,4 @@ in
bind-key -T copy-mode-vi 'C-\' select-pane -l bind-key -T copy-mode-vi 'C-\' select-pane -l
''; '';
}; };
} }
-39
View File
@@ -1,39 +0,0 @@
(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=";
}
];
})
+64 -162
View File
@@ -4,251 +4,153 @@ 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
minicom neofetch
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
gnupg
just
libfido2
sops sops
gnupg
libfido2
# Cloud-related tools and SDKs # Cloud-related tools and SDKs
docker docker
docker-compose docker-compose
# Media-related packages # Media-related packages
dejavu_fonts
emacs-all-the-icons-fonts emacs-all-the-icons-fonts
fd dejavu_fonts
ffmpeg ffmpeg
fd
font-awesome font-awesome
# jetbrains-mono
hack-font hack-font
meslo-lgs-nf
noto-fonts noto-fonts
noto-fonts-color-emoji noto-fonts-emoji
meslo-lgs-nf
# 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
inetutils # includes Telnet jetbrains-mono
jq jq
ripgrep ripgrep
tmux
tree tree
tmux
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
platformio-core platformio-core
# (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
# ms-azuretools.vscode-docker ms-azuretools.vscode-docker
# # ms-vscode-remote.remote-ssh # ms-vscode-remote.remote-ssh
# eamodio.gitlens eamodio.gitlens
# james-yu.latex-workshop james-yu.latex-workshop
# ] ms-vscode.cmake-tools
# ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [ shd101wyy.markdown-preview-enhanced
# # { ]
# # name = "remote-ssh-edit"; ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
# # publisher = "ms-vscode-remote";
# # version = "0.47.2";
# # sha256 = "1hp6gjh4xp2m1xlm1jsdzxw9d8frkiidhph6nvl24d0h8z34w49g";
# # }
# { # {
# name = "cpptools"; # name = "remote-ssh-edit";
# publisher = "ms-vscode"; # publisher = "ms-vscode-remote";
# version = "1.26.1"; # version = "0.47.2";
# sha256 = "sha256-uVE7sEO8XN3ArFpElUw25/BKyCOzF1EmZ5nHBkdoL/0="; # sha256 = "1hp6gjh4xp2m1xlm1jsdzxw9d8frkiidhph6nvl24d0h8z34w49g";
# } # }
# { {
# name = "minifyall"; name = "cpptools";
# publisher = "josee9988"; publisher = "ms-vscode";
# version = "2.10.0"; version = "1.26.1";
# sha256 = "sha256-cH5x8fUN0n+hO1b3lNzau2MnyeYmsD0ZXAYGxCQjT0Y="; sha256 = "sha256-uVE7sEO8XN3ArFpElUw25/BKyCOzF1EmZ5nHBkdoL/0=";
# } }
# { {
# name = "platformio-ide"; name = "minifyall";
# publisher = "platformio"; publisher = "josee9988";
# version = "3.3.4"; version = "2.10.0";
# sha256 = "sha256-qfNz4IYjCmCMFLtAkbGTW5xnsVT8iDnFWjrgkmr2Slk="; sha256 = "sha256-cH5x8fUN0n+hO1b3lNzau2MnyeYmsD0ZXAYGxCQjT0Y=";
# } }
# ]; {
# }) name = "platformio-ide";
publisher = "platformio";
version = "3.3.4";
sha256 = "sha256-qfNz4IYjCmCMFLtAkbGTW5xnsVT8iDnFWjrgkmr2Slk=";
}
];
})
# XML, Tex and LaTex # Tex and LaTex
mdbook
pandoc pandoc
rubyPackages_3_4.kramdown-rfc2629 mdbook
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
; ;