Compare commits
24 Commits
7faa4d57b3
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
228e26c760
|
|||
|
5ec65a4cb3
|
|||
|
186d3e8215
|
|||
|
d96734a5d5
|
|||
|
8cdc437607
|
|||
|
dfd71d36f9
|
|||
|
96f57cadc7
|
|||
|
e4a7b92aa8
|
|||
|
661d5c6a96
|
|||
|
69c5cc9060
|
|||
|
4f3d072474
|
|||
|
32616dbb8d
|
|||
|
062dd6fc45
|
|||
|
27d15ba706
|
|||
|
dfd6f9a8c1
|
|||
|
0acff538a3
|
|||
|
d93b8d58c8
|
|||
|
7885e7090c
|
|||
|
0191b8e1e5
|
|||
|
13eabb2a4e
|
|||
|
5ee18a2d47
|
|||
|
a558c558f0
|
|||
|
ba6d171055
|
|||
|
7b87de4700
|
10
Makefile
10
Makefile
@@ -1,4 +1,10 @@
|
||||
.PHONY: nix\:build
|
||||
.PHONY: build update lock
|
||||
|
||||
nix\:build:
|
||||
build:
|
||||
sudo darwin-rebuild switch --flake .#dart
|
||||
|
||||
update:
|
||||
nix flake update
|
||||
|
||||
lock:
|
||||
nix flake lock
|
||||
|
||||
6
README.md
Normal file
6
README.md
Normal file
@@ -0,0 +1,6 @@
|
||||
# Lavitz - My NixOS desktop configuration named after Dart from the PS1 classic The Legend of Dragoon
|
||||
|
||||
- Nix Version: 25.11
|
||||
- OS: MacOS
|
||||
- Browser: Librewolf
|
||||
- Terminal: Ghostty
|
||||
24
flake.lock
generated
24
flake.lock
generated
@@ -7,11 +7,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1771269455,
|
||||
"narHash": "sha256-BZ31eN5F99YH6vkc4AhzKGE+tJgJ52kl8f01K7wCs8w=",
|
||||
"lastModified": 1772633327,
|
||||
"narHash": "sha256-jl+DJB2DUx7EbWLRng+6HNWW/1/VQOnf0NsQB4PlA7I=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "5f1d42a97b19803041434f66681d5c44c9ae62e3",
|
||||
"rev": "5a75730e6f21ee624cbf86f4915c6e7489c74acc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -27,11 +27,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1770922915,
|
||||
"narHash": "sha256-6J/JoK9iL7sHvKJcGW2KId2agaKv1OGypsa7kN+ZBD4=",
|
||||
"lastModified": 1772379624,
|
||||
"narHash": "sha256-NG9LLTWlz4YiaTAiRGChbrzbVxBfX+Auq4Ab/SWmk4A=",
|
||||
"owner": "LnL7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "6c5a56295d2a24e43bcd8af838def1b9a95746b2",
|
||||
"rev": "52d061516108769656a8bd9c6e811c677ec5b462",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -42,11 +42,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1771177547,
|
||||
"narHash": "sha256-trTtk3WTOHz7hSw89xIIvahkgoFJYQ0G43IlqprFoMA=",
|
||||
"lastModified": 1772674223,
|
||||
"narHash": "sha256-/suKbHSaSmuC9UY7G0VRQ3aO+QKqxAQPQ19wG7QNkF8=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "ac055f38c798b0d87695240c7b761b82fc7e5bc2",
|
||||
"rev": "66d9241e3dc2296726dc522e62dbfe89c7b449f3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -71,11 +71,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1771211437,
|
||||
"narHash": "sha256-lcNK438i4DGtyA+bPXXyVLHVmJjYpVKmpux9WASa3ro=",
|
||||
"lastModified": 1772679930,
|
||||
"narHash": "sha256-FxYmdacqrdDVeE9QqZKTIpNLjv2B8GSKssgwlZuTR98=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "c62195b3d6e1bb11e0c2fb2a494117d3b55d410f",
|
||||
"rev": "9b741db17141331fdb26270a1b66b81be8be9edd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -40,7 +40,6 @@
|
||||
./modules/packages/cli.nix
|
||||
./modules/packages/languages.nix
|
||||
./modules/packages/media.nix
|
||||
./modules/packages/security.nix
|
||||
./modules/packages/networking.nix
|
||||
./modules/homebrew.nix
|
||||
./modules/librewolf.nix
|
||||
|
||||
@@ -16,9 +16,12 @@
|
||||
"vue"
|
||||
"latex"
|
||||
"mermaid"
|
||||
"docker"
|
||||
"docker-compose"
|
||||
];
|
||||
|
||||
userSettings = {
|
||||
auto_update = false;
|
||||
icon_theme = "Catppuccin Macchiato";
|
||||
title_bar = {
|
||||
show_sign_in = false;
|
||||
@@ -43,7 +46,10 @@
|
||||
};
|
||||
languages = {
|
||||
"Nix" = {
|
||||
language_servers = [ "nil" "nixd" ];
|
||||
language_servers = [
|
||||
"nil"
|
||||
"nixd"
|
||||
];
|
||||
format_on_save = "on";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -10,6 +10,10 @@
|
||||
cleanup = "zap";
|
||||
};
|
||||
|
||||
taps = [
|
||||
"supersonic-app/supersonic"
|
||||
];
|
||||
|
||||
brews = [
|
||||
"gamdl"
|
||||
"knock"
|
||||
@@ -24,6 +28,8 @@
|
||||
"ngrok"
|
||||
"pearcleaner"
|
||||
"zed"
|
||||
"supersonic"
|
||||
"calibre"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
let
|
||||
policiesJson = builtins.toJSON {
|
||||
policies = {
|
||||
policies = {
|
||||
DisableTelemetry = true;
|
||||
DisableFirefoxStudies = true;
|
||||
DisablePocket = true;
|
||||
DisableFirefoxAccounts = true;
|
||||
OfferToSaveLogins = false;
|
||||
EnableTrackingProtection = true;
|
||||
|
||||
FirefoxHome = {
|
||||
Search = true;
|
||||
@@ -26,6 +28,35 @@ let
|
||||
OfflineApps = true;
|
||||
};
|
||||
|
||||
SearchEngines = {
|
||||
Default = "Searx Search";
|
||||
Remove = [
|
||||
"Google"
|
||||
"Bing"
|
||||
"Perplexity"
|
||||
"Wikipedia (en)"
|
||||
];
|
||||
Add = [
|
||||
{
|
||||
Name = "Searx Search";
|
||||
URLTemplate = "https://search.atri.dad/search?q={searchTerms}";
|
||||
Method = "GET";
|
||||
IconURL = "https://search.atri.dad/favicon.ico";
|
||||
Alias = "searx";
|
||||
Description = "Searx (search.atri.dad)";
|
||||
}
|
||||
{
|
||||
Name = "DuckDuckGo";
|
||||
URLTemplate = "https://duckduckgo.com/?q={searchTerms}";
|
||||
SuggestURLTemplate = "https://duckduckgo.com/ac/?q={searchTerms}&type=list";
|
||||
Method = "GET";
|
||||
IconURL = "https://duckduckgo.com/favicon.ico";
|
||||
Alias = "ddg";
|
||||
Description = "DuckDuckGo";
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
ExtensionSettings = {
|
||||
"{446900e4-71c2-419f-a6a7-df9c091e268b}" = {
|
||||
install_url = "https://addons.mozilla.org/firefox/downloads/latest/bitwarden-password-manager/latest.xpi";
|
||||
@@ -39,71 +70,44 @@ let
|
||||
install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
|
||||
installation_mode = "force_installed";
|
||||
};
|
||||
"{15cb5e64-94bd-41aa-91cf-751bb1a84972}" = {
|
||||
install_url = "https://addons.mozilla.org/firefox/downloads/latest/catppuccin-macchiato-lavender2/latest.xpi";
|
||||
installation_mode = "force_installed";
|
||||
};
|
||||
};
|
||||
|
||||
Preferences = {
|
||||
"browser.startup.homepage" = {
|
||||
Value = "about:home";
|
||||
Status = "locked";
|
||||
};
|
||||
"extensions.autoDisableScopes" = {
|
||||
Value = 0;
|
||||
Status = "locked";
|
||||
};
|
||||
"browser.toolbars.bookmarks.visibility" = {
|
||||
Value = "always";
|
||||
Status = "locked";
|
||||
};
|
||||
"network.cookie.cookieBehavior" = {
|
||||
Value = 1;
|
||||
Status = "locked";
|
||||
};
|
||||
"privacy.clearOnShutdown.cookies" = {
|
||||
Value = false;
|
||||
Status = "locked";
|
||||
};
|
||||
"privacy.clearOnShutdown.history" = {
|
||||
Value = false;
|
||||
Status = "locked";
|
||||
};
|
||||
"sidebar.revamp" = {
|
||||
Value = true;
|
||||
Status = "locked";
|
||||
};
|
||||
"sidebar.verticalTabs" = {
|
||||
Value = true;
|
||||
Status = "locked";
|
||||
};
|
||||
"sidebar.main.tools" = {
|
||||
Value = "bookmarks,history,tabs";
|
||||
Status = "locked";
|
||||
};
|
||||
"sidebar.visibility" = {
|
||||
Value = "always";
|
||||
Status = "locked";
|
||||
};
|
||||
"extensions.activeThemeID" = {
|
||||
Value = "{1d573fb2-437c-4440-9b7b-b72a3eaec105}";
|
||||
Status = "locked";
|
||||
};
|
||||
"browser.startup.homepage" = "about:home";
|
||||
"extensions.autoDisableScopes" = 0;
|
||||
"browser.toolbars.bookmarks.visibility" = "always";
|
||||
"network.cookie.cookieBehavior" = 1;
|
||||
"extensions.activeThemeID" = "firefox-alpenglow@mozilla.org";
|
||||
"privacy.resistFingerprinting" = true;
|
||||
"browser.ml.chat.enabled" = false;
|
||||
"browser.ml.chat.sidebar" = false;
|
||||
"browser.tabs.groups.smart.userEnabled" = false;
|
||||
"browser.safebrowsing.malware.enabled" = false;
|
||||
"browser.safebrowsing.phishing.enabled" = false;
|
||||
"browser.safebrowsing.blockedURIs.enabled" = false;
|
||||
"browser.safebrowsing.downloads.enabled" = false;
|
||||
"browser.safebrowsing.provider.google4.gethashURL" = "";
|
||||
"browser.safebrowsing.provider.google4.updateURL" = "";
|
||||
"browser.safebrowsing.provider.google.gethashURL" = "";
|
||||
"browser.safebrowsing.provider.google.updateURL" = "";
|
||||
"browser.newtabpage.activity-stream.newtabWallpapers.wallpaper" = "dark-mountain";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
policiesFile = pkgs.writeText "librewolf-policies.json" policiesJson;
|
||||
policiesFile = pkgs.writeText "librewolf-policies.json" (builtins.toJSON policies);
|
||||
in
|
||||
{
|
||||
system.activationScripts.postActivation.text = ''
|
||||
DIST_DIR="/Applications/LibreWolf.app/Contents/Resources/distribution"
|
||||
if [ -d "/Applications/LibreWolf.app" ]; then
|
||||
mkdir -p "$DIST_DIR"
|
||||
cp ${policiesFile} "$DIST_DIR/policies.json"
|
||||
chmod 644 "$DIST_DIR/policies.json"
|
||||
echo "LibreWolf policies applied."
|
||||
fi
|
||||
for APP_DIR in "/Applications/LibreWolf.app" "$HOME/Applications/LibreWolf.app"; do
|
||||
if [ -d "$APP_DIR" ]; then
|
||||
DIST_DIR="$APP_DIR/Contents/Resources/distribution"
|
||||
mkdir -p "$DIST_DIR"
|
||||
cp -f ${policiesFile} "$DIST_DIR/policies.json"
|
||||
chmod 644 "$DIST_DIR/policies.json"
|
||||
echo "Applied LibreWolf policies to $APP_DIR"
|
||||
xattr -dr com.apple.quarantine /Applications/LibreWolf.app
|
||||
fi
|
||||
done
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -4,23 +4,13 @@
|
||||
environment.systemPackages = with pkgs; [
|
||||
helix
|
||||
micro
|
||||
lazygit
|
||||
ripgrep
|
||||
fnm
|
||||
cmake
|
||||
ninja
|
||||
gradle
|
||||
netcat-gnu
|
||||
bitwarden-cli
|
||||
pwgen
|
||||
qrencode
|
||||
sl
|
||||
upx
|
||||
wakeonlan
|
||||
magic-wormhole
|
||||
httpie
|
||||
gh
|
||||
doctl
|
||||
qemu
|
||||
];
|
||||
}
|
||||
|
||||
@@ -2,7 +2,10 @@
|
||||
|
||||
let
|
||||
rustToolchain = pkgs.rust-bin.stable.latest.default.override {
|
||||
extensions = [ "rust-src" "rust-analyzer" ];
|
||||
extensions = [
|
||||
"rust-src"
|
||||
"rust-analyzer"
|
||||
];
|
||||
targets = [ "aarch64-apple-darwin" ];
|
||||
};
|
||||
in
|
||||
@@ -12,10 +15,9 @@ in
|
||||
python313
|
||||
openjdk
|
||||
openjdk17
|
||||
lua
|
||||
luajit
|
||||
perl
|
||||
ruby
|
||||
go
|
||||
nil
|
||||
nixd
|
||||
];
|
||||
}
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
ffmpeg
|
||||
tesseract
|
||||
tectonic
|
||||
];
|
||||
}
|
||||
|
||||
@@ -2,7 +2,9 @@
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
freerdp
|
||||
openmpi
|
||||
nmap
|
||||
nikto
|
||||
john
|
||||
rustscan
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
nmap
|
||||
nikto
|
||||
john
|
||||
rustscan
|
||||
];
|
||||
}
|
||||
Reference in New Issue
Block a user