Rename programs folder to desktop
This commit is contained in:
@@ -5,15 +5,13 @@
|
|||||||
programs = {
|
programs = {
|
||||||
chromium = {
|
chromium = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
package = pkgs.ungoogled-chromium;
|
||||||
commandLineArgs = [ "--enable-features=TouchpadOverscrollHistoryNavigation" ];
|
commandLineArgs = [ "--enable-features=TouchpadOverscrollHistoryNavigation" ];
|
||||||
extensions = [
|
|
||||||
# {id = "";} // extension id, query from chrome web store
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
firefox = {
|
firefox = {
|
||||||
enable = true;
|
enable = true;
|
||||||
profiles.ryan = { };
|
profiles.panotaka = { };
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
7
home/desktop/common.nix
Normal file
7
home/desktop/common.nix
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{ pkgs, ... }: {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
# Work-specific programs
|
||||||
|
teams-for-linux
|
||||||
|
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -3,11 +3,8 @@
|
|||||||
, ...
|
, ...
|
||||||
}: {
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
./browsers.nix
|
|
||||||
./common.nix
|
./common.nix
|
||||||
./git.nix
|
./browsers.nix
|
||||||
./media.nix
|
|
||||||
./vscode.nix
|
./vscode.nix
|
||||||
./xdg.nix
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
16
home/desktop/vscode.nix
Normal file
16
home/desktop/vscode.nix
Normal 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
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
{ pkgs
|
|
||||||
, ...
|
|
||||||
}: {
|
|
||||||
home.packages = [ pkgs.gh ];
|
|
||||||
|
|
||||||
programs.git = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
userName = "Ryan Yin";
|
|
||||||
userEmail = "xiaoyin_c@qq.com";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -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;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -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;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -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";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user