mirror of
https://github.com/LnL7/nix-darwin.git
synced 2024-12-14 11:57:34 +00:00
Merge pull request #1125 from aschleck/new-window-path
Configure the folder that new Finder windows open
This commit is contained in:
commit
146629a543
3 changed files with 65 additions and 1 deletions
|
@ -1,7 +1,10 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
|
|
||||||
with lib;
|
let
|
||||||
|
inherit (lib) mkOption types;
|
||||||
|
|
||||||
|
cfg = config.system.defaults.finder;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
options = {
|
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">
|
<plist version="1.0">
|
||||||
<string>Flwv</string>
|
<string>Flwv</string>
|
||||||
</plist>'
|
</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"?>
|
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">
|
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
<plist version="1.0">
|
<plist version="1.0">
|
||||||
|
|
|
@ -57,6 +57,8 @@
|
||||||
system.defaults.finder.FXPreferredViewStyle = "Flwv";
|
system.defaults.finder.FXPreferredViewStyle = "Flwv";
|
||||||
system.defaults.finder.AppleShowAllExtensions = true;
|
system.defaults.finder.AppleShowAllExtensions = true;
|
||||||
system.defaults.finder.CreateDesktop = false;
|
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.QuitMenuItem = true;
|
||||||
system.defaults.finder._FXShowPosixPathInTitle = true;
|
system.defaults.finder._FXShowPosixPathInTitle = true;
|
||||||
system.defaults.finder._FXSortFoldersFirst = true;
|
system.defaults.finder._FXSortFoldersFirst = true;
|
||||||
|
|
Loading…
Reference in a new issue