diff --git a/install/install-symlinks.sh b/install/install-symlinks.sh index 71cdc30..1b946d7 100755 --- a/install/install-symlinks.sh +++ b/install/install-symlinks.sh @@ -13,22 +13,25 @@ backup_existing() { } # Create required directories before making links -mkdir -p "$HOME/.config" +mkdir -p "$HOME/.config/sbt" # Backup configs that are not already symlinked backup_existing "$HOME/.bashrc" backup_existing "$HOME/.config/fish" +backup_existing "$HOME/.config/git" backup_existing "$HOME/.config/kitty" backup_existing "$HOME/.config/nix" backup_existing "$HOME/.config/nvim" -backup_existing "$HOME/.config/git" +backup_existing "$HOME/.config/sbt" # Create symlinks, forcing updates ln -fsv "$ROOTDIR/bash/.bashrc" "$HOME/.bashrc" # Bash does not support XDG config ln -fsv "$ROOTDIR/fish" "$HOME/.config" +ln -fsv "$ROOTDIR/git" "$HOME/.config" ln -fsv "$ROOTDIR/kitty" "$HOME/.config" ln -fsv "$ROOTDIR/nix" "$HOME/.config" ln -fsv "$ROOTDIR/nvim" "$HOME/.config" -ln -fsv "$ROOTDIR/git" "$HOME/.config" +ln -fsv "$ROOTDIR/sbt/settings" "$HOME/.config/sbt" +ln -fsv "$ROOTDIR/sbt/plugins" "$HOME/.config/sbt" echo diff --git a/sbt/plugins/.gitignore b/sbt/plugins/.gitignore new file mode 100644 index 0000000..2c2a6f9 --- /dev/null +++ b/sbt/plugins/.gitignore @@ -0,0 +1,2 @@ +/project/ +/target/ diff --git a/sbt/plugins/plugins.sbt b/sbt/plugins/plugins.sbt new file mode 100644 index 0000000..400f09c --- /dev/null +++ b/sbt/plugins/plugins.sbt @@ -0,0 +1 @@ +addSbtPlugin("com.timushev.sbt" % "sbt-updates" % "0.6.2") diff --git a/sbt/settings/aliases.sbt b/sbt/settings/aliases.sbt new file mode 100644 index 0000000..a91b774 --- /dev/null +++ b/sbt/settings/aliases.sbt @@ -0,0 +1,11 @@ +addCommandAlias("ls", "projects") +addCommandAlias("cd", "project") +addCommandAlias("c", "compile") +addCommandAlias("tc", "Test/compile") +addCommandAlias("to", "Test/testOnly") +addCommandAlias("tt", "Test/test") +addCommandAlias("itc", "IntegrationTest/compile") +addCommandAlias("ito", "IntegrationTest/testOnly") +addCommandAlias("itt", "IntegrationTest/test") +addCommandAlias("up", "update") +addCommandAlias("dup", "dependencyUpdates") diff --git a/sbt/settings/prompt.sbt b/sbt/settings/prompt.sbt new file mode 100644 index 0000000..a9fdf34 --- /dev/null +++ b/sbt/settings/prompt.sbt @@ -0,0 +1,10 @@ +import scala.sys.process._ + +shellPrompt := { state => + val extracted = Project.extract(state) + val projectId = (extracted.currentRef / name).get(extracted.structure.data).getOrElse(extracted.currentProject.id) + val gitBranch = Seq("git", "branch", "--show-current").!!.trim + val projectIdSegment = Def.withColor(projectId, Option(scala.Console.CYAN), useColor = true) + val gitBranchSegment = Def.withColor(gitBranch, Option(scala.Console.YELLOW), useColor = true) + s"[$projectIdSegment $gitBranchSegment]> " +}