Rename programs folder to desktop

This commit is contained in:
panotaka
2023-11-25 00:23:05 -04:00
parent e60eafd043
commit ca45821041
9 changed files with 26 additions and 312 deletions

View File

@@ -5,15 +5,13 @@
programs = {
chromium = {
enable = true;
package = pkgs.ungoogled-chromium;
commandLineArgs = [ "--enable-features=TouchpadOverscrollHistoryNavigation" ];
extensions = [
# {id = "";} // extension id, query from chrome web store
];
};
firefox = {
enable = true;
profiles.ryan = { };
profiles.panotaka = { };
};
};
}

7
home/desktop/common.nix Normal file
View File

@@ -0,0 +1,7 @@
{ pkgs, ... }: {
home.packages = with pkgs; [
# Work-specific programs
teams-for-linux
];
}

View File

@@ -3,11 +3,8 @@
, ...
}: {
imports = [
./browsers.nix
./common.nix
./git.nix
./media.nix
./browsers.nix
./vscode.nix
./xdg.nix
];
}

16
home/desktop/vscode.nix Normal file
View File

@@ -0,0 +1,16 @@
{ config
, pkgs
, home-manager
, ...
}:
{
home.sessionVariables.NIXOS_OZONE_WL = "1";
programs.vscode = {
enable = true;
package = pkgs.vscodium.fhs;
extensions = with pkgs.vscode-extensions; [
github.copilot
];
};
}

View File

@@ -1,86 +0,0 @@
{ pkgs, ... }: {
home.packages = with pkgs; [
# archives
zip
unzip
p7zip
# utils
ripgrep
yq-go # https://github.com/mikefarah/yq
htop
# misc
libnotify
wineWowPackages.wayland
xdg-utils
graphviz
# productivity
obsidian
# IDE
insomnia
# cloud native
docker-compose
kubectl
nodejs
nodePackages.npm
nodePackages.pnpm
yarn
# db related
dbeaver
mycli
pgcli
];
programs = {
tmux = {
enable = true;
clock24 = true;
keyMode = "vi";
extraConfig = "mouse on";
};
bat = {
enable = true;
config = {
pager = "less -FR";
theme = "Catppuccin-mocha";
};
themes = {
Catppuccin-mocha = builtins.readFile (pkgs.fetchurl {
url = "https://raw.githubusercontent.com/catppuccin/bat/main/Catppuccin-mocha.tmTheme";
hash = "sha256-qMQNJGZImmjrqzy7IiEkY5IhvPAMZpq0W6skLLsng/w=";
});
};
};
btop.enable = true; # replacement of htop/nmon
exa.enable = true; # A modern replacement for ls
jq.enable = true; # A lightweight and flexible command-line JSON processor
ssh.enable = true;
aria2.enable = true;
skim = {
enable = true;
enableZshIntegration = true;
defaultCommand = "rg --files --hidden";
changeDirWidgetOptions = [
"--preview 'exa --icons --git --color always -T -L 3 {} | head -200'"
"--exact"
];
};
};
services = {
syncthing.enable = true;
# auto mount usb drives
udiskie.enable = true;
};
}

View File

@@ -1,12 +0,0 @@
{ pkgs
, ...
}: {
home.packages = [ pkgs.gh ];
programs.git = {
enable = true;
userName = "Ryan Yin";
userEmail = "xiaoyin_c@qq.com";
};
}

View File

@@ -1,32 +0,0 @@
{ pkgs
, config
, ...
}:
# media - control and enjoy audio/video
{
# imports = [
# ];
home.packages = with pkgs; [
# audio control
pavucontrol
playerctl
pulsemixer
# images
imv
];
programs = {
mpv = {
enable = true;
defaultProfiles = [ "gpu-hq" ];
scripts = [ pkgs.mpvScripts.mpris ];
};
obs-studio.enable = true;
};
services = {
playerctld.enable = true;
};
}

View File

@@ -1,125 +0,0 @@
{ config
, pkgs
, home-manager
, nix-vscode-extensions
, ...
}:
{
# if use vscode in wayland, uncomment this line
# environment.sessionVariables.NIXOS_OZONE_WL = "1";
programs.vscode = {
enable = true;
userSettings = {
"editor.renderWhitespace" = "all";
"files.autoSave" = "onFocusChange";
"editor.rulers" = [ 80 120 ];
"telemetry.enableTelemetry" = false;
"telemetry.enableCrashReporter" = false;
"editor.tabSize" = 2;
"files.exclude" = { "**/node_modules/**" = true; };
"editor.formatOnSave" = false;
"breadcrumbs.enabled" = true;
"editor.useTabStops" = false;
"editor.fontFamily" = "JetBrainsMono Nerd Font";
"editor.fontSize" = 16;
"editor.fontLigatures" = true;
"editor.lineHeight" = 20;
"workbench.fontAliasing" = "antialiased";
"files.trimTrailingWhitespace" = true;
"editor.minimap.enabled" = false;
"workbench.editor.enablePreview" = false;
"terminal.integrated.fontFamily" = "JetBrainsMono Nerd Font";
};
package =
let
config.packageOverrides = pkgs: {
vscode = pkgs.vscode-with-extensions.override {
# pkgs.vscode-extensions 里包含的 vscode 太少了
# 必须使用社区的 <https://github.com/nix-community/nix-vscode-extensions> 才能安装更多插件
vscodeExtensions = with nix-vscode-extensions.extensions; [
aaron-bond.better-comments
anweber.vscode-httpyac
arrterian.nix-env-selector
bierner.markdown-mermaid
christian-kohler.path-intellisense
cschlosser.doxdocgen
DanishSarwar.reverse-search
eamodio.gitlens
esbenp.prettier-vscode
espressif.esp-idf-extension
fabiospampinato.vscode-diff
GitHub.copilot
golang.go
hashicorp.terraform
janisdd.vscode-edit-csv
jebbs.plantuml
jeff-hykin.better-cpp-syntax
jnoortheen.nix-ide
JuanBlanco.solidity
k--kato.intellij-idea-keybindings
llvm-vs-code-extensions.vscode-clangd
mcu-debug.debug-tracker-vscode
mcu-debug.memory-view
mcu-debug.rtos-views
mikestead.dotenv
mkhl.direnv
ms-azuretools.vscode-docker
ms-dotnettools.vscode-dotnet-runtime
ms-kubernetes-tools.vscode-kubernetes-tools
ms-python.isort
ms-python.python
ms-python.vscode-pylance
ms-toolsai.jupyter
ms-toolsai.jupyter-keymap
ms-toolsai.jupyter-renderers
ms-toolsai.vscode-jupyter-cell-tags
ms-toolsai.vscode-jupyter-slideshow
ms-vscode-remote.remote-containers
ms-vscode-remote.remote-ssh
ms-vscode-remote.remote-ssh-edit
ms-vscode-remote.vscode-remote-extensionpack
ms-vscode.cmake-tools
ms-vscode.cpptools
ms-vscode.cpptools-extension-pack
ms-vscode.cpptools-themes
ms-vscode.remote-explorer
ms-vscode.remote-server
pinage404.nix-extension-pack
platformio.platformio-ide
pomdtr.excalidraw-editor
redhat.java
redhat.vscode-commons
redhat.vscode-xml
redhat.vscode-yaml
rust-lang.rust-analyzer
shd101wyy.markdown-preview-enhanced
sumneko.lua
tamasfe.even-better-toml
timonwong.shellcheck
tintinweb.graphviz-interactive-preview
tintinweb.solidity-visual-auditor
tintinweb.vscode-inline-bookmarks
tintinweb.vscode-solidity-flattener
tintinweb.vscode-solidity-language
twxs.cmake
vadimcn.vscode-lldb
VisualStudioExptTeam.intellicode-api-usage-examples
VisualStudioExptTeam.vscodeintellicode
vscjava.vscode-java-debug
vscjava.vscode-java-pack
vscjava.vscode-java-test
vscjava.vscode-maven
vscode-icons-team.vscode-icons
WakaTime.vscode-wakatime
yzhang.markdown-all-in-one
zxh404.vscode-proto3
];
};
};
in
pkgs.vscode;
};
}

View File

@@ -1,49 +0,0 @@
{ config, ... }:
let
browser = [ "firefox.desktop" ];
# XDG MIME types
associations = {
"application/x-extension-htm" = browser;
"application/x-extension-html" = browser;
"application/x-extension-shtml" = browser;
"application/x-extension-xht" = browser;
"application/x-extension-xhtml" = browser;
"application/xhtml+xml" = browser;
"text/html" = browser;
"x-scheme-handler/about" = browser;
"x-scheme-handler/chrome" = [ "chromium-browser.desktop" ];
"x-scheme-handler/ftp" = browser;
"x-scheme-handler/http" = browser;
"x-scheme-handler/https" = browser;
"x-scheme-handler/unknown" = browser;
"audio/*" = [ "mpv.desktop" ];
"video/*" = [ "mpv.dekstop" ];
"image/*" = [ "imv.desktop" ];
"application/json" = browser;
"application/pdf" = [ "org.pwmt.zathura.desktop.desktop" ];
"x-scheme-handler/discord" = [ "discordcanary.desktop" ];
"x-scheme-handler/spotify" = [ "spotify.desktop" ];
"x-scheme-handler/tg" = [ "telegramdesktop.desktop" ];
};
in
{
xdg = {
enable = true;
cacheHome = config.home.homeDirectory + "/.local/cache";
mimeApps = {
enable = true;
defaultApplications = associations;
};
userDirs = {
enable = true;
createDirectories = true;
extraConfig = {
XDG_SCREENSHOTS_DIR = "${config.xdg.userDirs.pictures}/Screenshots";
};
};
};
}