spotifyd + nixpkgs-fmt

This commit is contained in:
willemml 2023-02-05 17:20:34 -08:00
parent 18fdb1b562
commit 125183aa81
Signed by: willemml
GPG key ID: C3DE5DF6198DACBD
12 changed files with 183 additions and 195 deletions

View file

@ -11,50 +11,51 @@
};
outputs = inputs@{ self, nixpkgs, home-manager, darwin, nur, ... }:
let
system = "aarch64-darwin";
let
system = "aarch64-darwin";
pkgs = import nixpkgs {
inherit system;
overlays = [
(import ./overlays)
];
config = {
allowUnfree = true;
packageOverrides = pkgs: {
nur = import nur { inherit pkgs; nurpkgs = pkgs; };
pkgs = import nixpkgs {
inherit system;
overlays = [
(import ./overlays)
];
config = {
allowUnfree = true;
packageOverrides = pkgs: {
nur = import nur { inherit pkgs; nurpkgs = pkgs; };
};
};
};
nurNoPkgs = import nur {
nurpkgs = pkgs;
pkgs = throw "nixpkgs eval";
};
home-manager-config = {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = { inherit nurNoPkgs pkgs; inputs = { inherit (inputs); }; };
home-manager.sharedModules = [ nur.hmModules.nur ];
home-manager.users.willem = ./home;
users.users.willem = {
home = "/Users/willem";
isHidden = false;
name = "willem";
shell = pkgs.zshInteractive;
};
};
in
{
darwinConfigurations = {
zeus = darwin.lib.darwinSystem {
inherit system;
modules = [
./system/darwin.nix
home-manager.darwinModules.home-manager
home-manager-config
];
};
};
};
nurNoPkgs = import nur {
nurpkgs = pkgs;
pkgs = throw "nixpkgs eval";
};
home-manager-config = {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = { inherit nurNoPkgs pkgs; inputs = { inherit (inputs); }; };
home-manager.sharedModules = [ nur.hmModules.nur ];
home-manager.users.willem = ./home;
users.users.willem = {
home = "/Users/willem";
isHidden = false;
name = "willem";
shell = pkgs.zshInteractive;
};
};
in {
darwinConfigurations = {
zeus = darwin.lib.darwinSystem {
inherit system;
modules = [
./system/darwin.nix
home-manager.darwinModules.home-manager
home-manager-config
];
};
};
};
}

View file

@ -46,8 +46,8 @@ in {
targets.darwin = {
defaults = {
"com.googlecode.iterm2" = ./iterm2.nix;
"com.apple.finder" = ./finder.nix;
"com.googlecode.iterm2" = import ./iterm2.nix;
"com.apple.finder" = import ./finder.nix;
NSGlobalDomain = {
AppleLanguages = [ "en-CA" ];
AppleLocale = "en_CA";

View file

@ -2,7 +2,8 @@
let
emacsCommand = "emacsclient -c -nw";
in rec {
in
rec {
home = {
file = {
".config/nix/nix.conf".text = ''

View file

@ -256,11 +256,13 @@ in {
latex = {
enable = true;
package = epkgs: epkgs.auctex;
hook = [''
(LaTeX-mode
. (lambda ()
(turn-on-reftex)))
''];
hook = [
''
(LaTeX-mode
. (lambda ()
(turn-on-reftex)))
''
];
init = ''
(setq TeX-PDF-mode t
TeX-auto-save t

View file

@ -19,57 +19,59 @@ let
python-wp = pkgs.python310.withPackages (p: with p; [ setuptools pyaml requests latexify-py ]);
node-packages = with pkgs.nodePackages; [ bash-language-server ];
octave-wp = pkgs.octave.withPackages (p: with p; [ symbolic ]);
in {
in
{
home.packages = with pkgs;
[
autoconf
automake
bash
bat
black
clang-tools
cmake
comma
curl
discord
docker
docker-compose
fd
findutils
fzf
gawk
gnuplot
graphviz
htop
jq
nixfmt
nix-review
nmap
octave-wp
openssh
pass-extended
plantuml
pngpaste
poppler
python-wp
pv
ripgrep
rsync
rustup
shellcheck
sqlite
texinfo
texlive.combined.scheme-full
tldr
units
unp
unrar
unzip
wget
yq
zoom-us
]
++ lib.optionals stdenv.isDarwin darwin
++ lib.optionals stdenv.isLinux linux
++ node-packages;
[
autoconf
automake
bash
bat
black
clang-tools
cmake
comma
curl
discord
docker
docker-compose
fd
findutils
fzf
gawk
gnuplot
graphviz
htop
jq
nix-review
nixfmt
nixpkgs-fmt
nmap
octave-wp
openssh
pass-extended
plantuml
pngpaste
poppler
pv
python-wp
ripgrep
rsync
rustup
shellcheck
spotify-tui
sqlite
texinfo
texlive.combined.scheme-full
tldr
units
unp
unrar
unzip
wget
yq
]
++ lib.optionals stdenv.isDarwin darwin
++ lib.optionals stdenv.isLinux linux
++ node-packages;
}

View file

@ -87,47 +87,47 @@
settings = {
format =
"$os[](fg:#979797 bg:#444444)$directory$git_branch$git_status[](fg:#444444)$fill[](fg:#444444)$cmd_duration$time$line_break$character";
fill = {
symbol = "·";
style = "fg:#505050";
};
cmd_duration = {
disabled = false;
min_time = 1500;
style = "fg:#979797 bg:#444444";
format = "[ $duration ]($style)";
};
os = {
disabled = false;
style = "fg:#eaeaea bg:#444444";
format = "[ $symbol ]($style)";
symbols.Macos = "";
};
directory = {
disabled = false;
style = "fg:#149dff bg:#444444";
format = "[ $path ]($style)";
truncation_length = 3;
truncation_symbol = "";
};
git_branch = {
disabled = false;
symbol = "";
style = "fg:#53d306 bg:#444444";
format = "[[](fg:#979797 bg:#444444) $symbol $branch ]($style)";
};
git_status = {
disabled = false;
style = "bg:#444444";
format =
"[[$staged](fg:#cca107 bg:#444444)[$modified](fg:#cca107 bg:#444444)[$untracked](fg:#149dff bg:#444444)[$conflicted](fg:#ed0505 bg:#444444)]($style)";
};
time = {
disabled = false;
style = "fg:#4d7573 bg:#444444";
format = "[ $time ]($style)";
time_format = "%T";
};
fill = {
symbol = "·";
style = "fg:#505050";
};
cmd_duration = {
disabled = false;
min_time = 1500;
style = "fg:#979797 bg:#444444";
format = "[ $duration ]($style)";
};
os = {
disabled = false;
style = "fg:#eaeaea bg:#444444";
format = "[ $symbol ]($style)";
symbols.Macos = "";
};
directory = {
disabled = false;
style = "fg:#149dff bg:#444444";
format = "[ $path ]($style)";
truncation_length = 3;
truncation_symbol = "";
};
git_branch = {
disabled = false;
symbol = "";
style = "fg:#53d306 bg:#444444";
format = "[[](fg:#979797 bg:#444444) $symbol $branch ]($style)";
};
git_status = {
disabled = false;
style = "bg:#444444";
format =
"[[$staged](fg:#cca107 bg:#444444)[$modified](fg:#cca107 bg:#444444)[$untracked](fg:#149dff bg:#444444)[$conflicted](fg:#ed0505 bg:#444444)]($style)";
};
time = {
disabled = false;
style = "fg:#4d7573 bg:#444444";
format = "[ $time ]($style)";
time_format = "%T";
};
};
};

View file

@ -15,18 +15,19 @@ let
aarch64-darwin = fetchurl {
url =
"https://commondatastorage.googleapis.com/chromium-browser-snapshots/Mac_Arm/${version}/chrome-mac.zip";
sha256 = "sha256-LlbYlJmFLzyHIiygofa0Btm7NAOvWXXhmbjMHldVoGo=";
name = "${pname}_aarch64_${version}.zip";
sha256 = "sha256-LlbYlJmFLzyHIiygofa0Btm7NAOvWXXhmbjMHldVoGo=";
name = "${pname}_aarch64_${version}.zip";
};
x86_64-darwin = fetchurl {
url =
"https://commondatastorage.googleapis.com/chromium-browser-snapshots/Mac/${version}/chrome-mac.zip";
sha256 = "sha256-O+OnjakEpjCRbSjDysEA6RKKaKaSMw+LSO2ZLcxz2vM=";
name = "${pname}_x86_64_${version}.zip";
sha256 = "sha256-O+OnjakEpjCRbSjDysEA6RKKaKaSMw+LSO2ZLcxz2vM=";
name = "${pname}_x86_64_${version}.zip";
};
};
src = srcs.${stdenv.hostPlatform.system};
in import ./mk-mac-binpkg.nix {
in
import ./mk-mac-binpkg.nix {
inherit pkgs src pname appName version;
srcsubdir = "chrome-mac";
}

View file

@ -10,4 +10,5 @@ let
sha256 = "sha256-V/8W3qqYhJmte2tq/ZSPtYChdhv8WFQoSORYRaxva9Y=";
name = "${pname}_${version}.dmg";
};
in import ./mk-mac-binpkg.nix { inherit pkgs src pname appName version; }
in
import ./mk-mac-binpkg.nix { inherit pkgs src pname appName version; }

View file

@ -10,5 +10,6 @@ let
"https://phoenixnap.dl.sourceforge.net/project/qbittorrent/qbittorrent-mac/qbittorrent-${version}/qbittorrent-${version}.dmg";
sha256 = "sha256-9h+gFAEU0tKrltOjnOKLfylbbBunGZqvPzQogdP9uQM=";
};
in import ./mk-mac-binpkg.nix { inherit pkgs src pname appName version; }
in
import ./mk-mac-binpkg.nix { inherit pkgs src pname appName version; }

View file

@ -1,43 +1,15 @@
{ stdenv, pkgs, ... }:
{ stdenv, pkgs, fetchurl, ... }:
stdenv.mkDerivation {
name = "spotify-mac-app";
sourceRoot = ".";
nativeBuildInputs =
[ pkgs.undmg pkgs.makeWrapper pkgs.perl pkgs.unzip pkgs.zip ];
let
appName = "Spotify";
pname = "spotify";
version = "sha256-JESQZtyPE9o5PW/f5GdxbqbyeHCxs/oZEW0AakMJgKg=";
src = pkgs.fetchurl {
url = "https://download.scdn.co/Spotify.dmg";
hash = "sha256-9Ts6064YaZdjbRN28qkZcrwTH+63drC/jUfTGLvpBNc=";
hash = version;
name = "spotify-mac.dmg";
};
spotxsrc = pkgs.fetchFromGitHub {
name = "spotx-mac-src";
owner = "willemml";
repo = "SpotX-Mac";
rev = "03ea3aa59e135b9e2f68b6c8f4d4debe2b207830";
hash = "sha256-H3QxmM0ALtz58MKaQ6pFcK6wP8oMWufvQ2q2ZjpO5Gs=";
};
installPhase = ''
runHook preInstall
mkdir -p $out/Applications
cp -r "Spotify.app" $out/Applications
# wrap executable to $out/bin
mkdir -p $out/bin
makeWrapper "$out/Applications/Spotify.app/Contents/MacOS/Spotify" "$out/bin/Spotify"
cp "$spotxsrc/install.sh" install.sh
chmod +x install.sh
./install.sh -a "$out/Applications/Spotify.app"
runHook postInstall
'';
}
in
import ./mk-mac-binpkg.nix { inherit pkgs src pname appName version; }

View file

@ -19,7 +19,8 @@ let
};
};
src = srcs.${stdenv.hostPlatform.system};
in import ./mk-mac-binpkg.nix {
in
import ./mk-mac-binpkg.nix {
inherit stdenv pkgs fetchurl src pname appName version;
}

View file

@ -2,6 +2,12 @@
{
services.nix-daemon.enable = true;
services.spotifyd = {
enable = true;
settings.use_keyring = true;
settings.username_cmd = "${pkgs.pass}/bin/pass 'music/spotify' | grep login | cut -f2 -d ' '";
settings.password_cmd = "${pkgs.pass}/bin/pass 'music/spotify' | head -n1";
};
nix.package = pkgs.nix;
@ -16,15 +22,15 @@
LaunchServices.LSQuarantine = false;
};
keyboard = {
enableKeyMapping = true;
enableKeyMapping = true;
remapCapsLockToEscape = true;
remapCapsLockToEscape = true;
# see https://developer.apple.com/library/content/technotes/tn2450/_index.html for more info
userKeyMapping = [ {
HIDKeyboardModifierMappingSrc = 30064771303; # remap right command to right control.
HIDKeyboardModifierMappingDst = 30064771300;
}];
# see https://developer.apple.com/library/content/technotes/tn2450/_index.html for more info
userKeyMapping = [{
HIDKeyboardModifierMappingSrc = 30064771303; # remap right command to right control.
HIDKeyboardModifierMappingDst = 30064771300;
}];
};
};
}