mirror of
https://github.com/LnL7/nix-darwin.git
synced 2024-12-14 11:57:34 +00:00
Configure the folder that new Finder windows open
This commit is contained in:
parent
7840909b00
commit
0dacfdea63
3 changed files with 65 additions and 1 deletions
|
@ -1,7 +1,10 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
inherit (lib) mkOption types;
|
||||
|
||||
cfg = config.system.defaults.finder;
|
||||
in
|
||||
{
|
||||
options = {
|
||||
|
||||
|
@ -96,5 +99,54 @@ with lib;
|
|||
'';
|
||||
};
|
||||
|
||||
system.defaults.finder.NewWindowTarget = mkOption {
|
||||
type = types.nullOr (types.enum [
|
||||
"Computer"
|
||||
"OS volume"
|
||||
"Home"
|
||||
"Desktop"
|
||||
"Documents"
|
||||
"Recents"
|
||||
"iCloud Drive"
|
||||
"Other"
|
||||
]);
|
||||
apply = key: if key == null then null else {
|
||||
"Computer" = "PfCm";
|
||||
"OS volume" = "PfVo";
|
||||
"Home" = "PfHm";
|
||||
"Desktop" = "PfDe";
|
||||
"Documents" = "PfDo";
|
||||
"Recents" = "PfAF";
|
||||
"iCloud Drive" = "PfID";
|
||||
"Other" = "PfLo";
|
||||
}.${key};
|
||||
default = null;
|
||||
description = ''
|
||||
Change the default folder shown in Finder windows. "Other" corresponds to the value of
|
||||
NewWindowTargetPath. The default is unset ("Recents").
|
||||
'';
|
||||
};
|
||||
|
||||
system.defaults.finder.NewWindowTargetPath = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
Sets the URI to open when NewWindowTarget is "Other". Spaces and similar characters must be
|
||||
escaped. If the value is invalid, Finder will open your home directory.
|
||||
Example: "file:///Users/foo/long%20cat%20pics".
|
||||
The default is unset.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
assertions = [{
|
||||
assertion = cfg.NewWindowTargetPath != null -> cfg.NewWindowTarget == "PfLo";
|
||||
message = "`system.defaults.finder.NewWindowTarget` should be set to `Other` when `NewWindowTargetPath` is non-null.";
|
||||
}
|
||||
{
|
||||
assertion = cfg.NewWindowTarget == "PfLo" -> cfg.NewWindowTargetPath != null;
|
||||
message = "`system.defaults.finder.NewWindowTargetPath` should be non-null when `NewWindowTarget` is set to `Other`.";
|
||||
}];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -329,6 +329,16 @@ defaults write com.apple.finder 'FXPreferredViewStyle' $'<?xml version="1.0" enc
|
|||
<plist version="1.0">
|
||||
<string>Flwv</string>
|
||||
</plist>'
|
||||
defaults write com.apple.finder 'NewWindowTarget' $'<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<string>PfLo</string>
|
||||
</plist>'
|
||||
defaults write com.apple.finder 'NewWindowTargetPath' $'<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<string>file:///Library/Apple</string>
|
||||
</plist>'
|
||||
defaults write com.apple.finder 'QuitMenuItem' $'<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
|
|
|
@ -57,6 +57,8 @@
|
|||
system.defaults.finder.FXPreferredViewStyle = "Flwv";
|
||||
system.defaults.finder.AppleShowAllExtensions = true;
|
||||
system.defaults.finder.CreateDesktop = false;
|
||||
system.defaults.finder.NewWindowTarget = "Other";
|
||||
system.defaults.finder.NewWindowTargetPath = "file:///Library/Apple";
|
||||
system.defaults.finder.QuitMenuItem = true;
|
||||
system.defaults.finder._FXShowPosixPathInTitle = true;
|
||||
system.defaults.finder._FXSortFoldersFirst = true;
|
||||
|
|
Loading…
Reference in a new issue