mirror of
https://github.com/fredrikr79/nixos.git
synced 2025-12-19 16:00:41 +01:00
emaaaaaaaaaaaaaaaaaaacs
This commit is contained in:
126
home.nix
126
home.nix
@@ -9,8 +9,7 @@ lock-true = {
|
|||||||
Value = true;
|
Value = true;
|
||||||
Status = "locked";
|
Status = "locked";
|
||||||
};
|
};
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
home.username = "fredrikr";
|
home.username = "fredrikr";
|
||||||
home.homeDirectory = "/home/fredrikr";
|
home.homeDirectory = "/home/fredrikr";
|
||||||
|
|
||||||
@@ -50,6 +49,29 @@ in
|
|||||||
unityhub
|
unityhub
|
||||||
dotnet-sdk
|
dotnet-sdk
|
||||||
omnisharp-roslyn
|
omnisharp-roslyn
|
||||||
|
# emacs
|
||||||
|
fd
|
||||||
|
shellcheck
|
||||||
|
cmigemo
|
||||||
|
nodejs_22
|
||||||
|
cmake
|
||||||
|
clang-tools
|
||||||
|
glslang
|
||||||
|
csharpier
|
||||||
|
haskell-language-server
|
||||||
|
haskellPackages.hoogle
|
||||||
|
cabal-cli
|
||||||
|
nixfmt
|
||||||
|
black
|
||||||
|
python312Packages.pyflakes
|
||||||
|
isort
|
||||||
|
pipenv
|
||||||
|
python312Packages.nose2
|
||||||
|
python312Packages.pytest
|
||||||
|
python312Packages.setuptools
|
||||||
|
shfmt
|
||||||
|
libtool
|
||||||
|
tinymist
|
||||||
];
|
];
|
||||||
|
|
||||||
# Home Manager is pretty good at managing dotfiles. The primary way to manage
|
# Home Manager is pretty good at managing dotfiles. The primary way to manage
|
||||||
@@ -73,11 +95,13 @@ in
|
|||||||
recursive = true;
|
recursive = true;
|
||||||
};
|
};
|
||||||
".config/gdb/gdbinit".source = home/config/gdb/gdbinit;
|
".config/gdb/gdbinit".source = home/config/gdb/gdbinit;
|
||||||
|
# ".emacs.d".source = home/emacs.d;
|
||||||
|
# ".config/emacs".source = home/config/emacs;
|
||||||
};
|
};
|
||||||
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = { EDITOR = "nvim"; };
|
||||||
EDITOR = "nvim";
|
|
||||||
};
|
home.sessionPath = [ "/home/fredrikr/.config/emacs/bin/" ];
|
||||||
|
|
||||||
programs.firefox = {
|
programs.firefox = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -100,40 +124,49 @@ in
|
|||||||
OverridePostUpdatePage = "";
|
OverridePostUpdatePage = "";
|
||||||
DontCheckDefaultBrowser = true;
|
DontCheckDefaultBrowser = true;
|
||||||
DisplayBookmarksToolbar = "newtab"; # alternatives: "always" or "newtab"
|
DisplayBookmarksToolbar = "newtab"; # alternatives: "always" or "newtab"
|
||||||
DisplayMenuBar = "default-off"; # alternatives: "always", "never" or "default-on"
|
DisplayMenuBar =
|
||||||
|
"default-off"; # alternatives: "always", "never" or "default-on"
|
||||||
SearchBar = "unified"; # alternative: "separate"
|
SearchBar = "unified"; # alternative: "separate"
|
||||||
|
|
||||||
# about:support
|
# about:support
|
||||||
ExtensionSettings = {
|
ExtensionSettings = {
|
||||||
"*".installation_mode = "blocked"; # blocks all addons except the ones specified below
|
"*".installation_mode =
|
||||||
|
"blocked"; # blocks all addons except the ones specified below
|
||||||
# uBlock Origin:
|
# uBlock Origin:
|
||||||
"uBlock0@raymondhill.net" = {
|
"uBlock0@raymondhill.net" = {
|
||||||
install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
|
install_url =
|
||||||
|
"https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
|
||||||
installation_mode = "force_installed";
|
installation_mode = "force_installed";
|
||||||
};
|
};
|
||||||
|
|
||||||
# dark reader
|
# dark reader
|
||||||
"addon@darkreader.org" = {
|
"addon@darkreader.org" = {
|
||||||
install_url = "https://addons.mozilla.org/firefox/downloads/latest/darkreader/latest.xpi";
|
install_url =
|
||||||
|
"https://addons.mozilla.org/firefox/downloads/latest/darkreader/latest.xpi";
|
||||||
installation_mode = "force_installed";
|
installation_mode = "force_installed";
|
||||||
};
|
};
|
||||||
|
|
||||||
# kagi
|
# kagi
|
||||||
"search@kagi.com" = {
|
"search@kagi.com" = {
|
||||||
install_url = "https://addons.mozilla.org/firefox/downloads/latest/kagi-search-for-firefox/latest.xpi";
|
install_url =
|
||||||
|
"https://addons.mozilla.org/firefox/downloads/latest/kagi-search-for-firefox/latest.xpi";
|
||||||
installation_mode = "force_installed";
|
installation_mode = "force_installed";
|
||||||
};
|
};
|
||||||
|
|
||||||
# vimium
|
# vimium
|
||||||
"vimium-store@googlegroups.com" = {
|
"vimium-store@googlegroups.com" = {
|
||||||
install_url = "https://addons.mozilla.org/firefox/downloads/latest/vimium-ff/latest.xpi";
|
install_url =
|
||||||
|
"https://addons.mozilla.org/firefox/downloads/latest/vimium-ff/latest.xpi";
|
||||||
installation_mode = "force_installed";
|
installation_mode = "force_installed";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# about:config
|
# about:config
|
||||||
Preferences = {
|
Preferences = {
|
||||||
"browser.contentblocking.category" = { Value = "strict"; Status = "locked"; };
|
"browser.contentblocking.category" = {
|
||||||
|
Value = "strict";
|
||||||
|
Status = "locked";
|
||||||
|
};
|
||||||
"extensions.pocket.enabled" = lock-false;
|
"extensions.pocket.enabled" = lock-false;
|
||||||
"extensions.screenshots.disabled" = lock-true;
|
"extensions.screenshots.disabled" = lock-true;
|
||||||
"browser.topsites.contile.enabled" = lock-false;
|
"browser.topsites.contile.enabled" = lock-false;
|
||||||
@@ -142,12 +175,17 @@ in
|
|||||||
"browser.search.suggest.enabled.private" = lock-false;
|
"browser.search.suggest.enabled.private" = lock-false;
|
||||||
"browser.urlbar.suggest.searches" = lock-false;
|
"browser.urlbar.suggest.searches" = lock-false;
|
||||||
"browser.urlbar.showSearchSuggestionsFirst" = lock-false;
|
"browser.urlbar.showSearchSuggestionsFirst" = lock-false;
|
||||||
"browser.newtabpage.activity-stream.feeds.section.topstories" = lock-false;
|
"browser.newtabpage.activity-stream.feeds.section.topstories" =
|
||||||
|
lock-false;
|
||||||
"browser.newtabpage.activity-stream.feeds.snippets" = lock-false;
|
"browser.newtabpage.activity-stream.feeds.snippets" = lock-false;
|
||||||
"browser.newtabpage.activity-stream.section.highlights.includePocket" = lock-false;
|
"browser.newtabpage.activity-stream.section.highlights.includePocket" =
|
||||||
"browser.newtabpage.activity-stream.section.highlights.includeBookmarks" = lock-false;
|
lock-false;
|
||||||
"browser.newtabpage.activity-stream.section.highlights.includeDownloads" = lock-false;
|
"browser.newtabpage.activity-stream.section.highlights.includeBookmarks" =
|
||||||
"browser.newtabpage.activity-stream.section.highlights.includeVisited" = lock-false;
|
lock-false;
|
||||||
|
"browser.newtabpage.activity-stream.section.highlights.includeDownloads" =
|
||||||
|
lock-false;
|
||||||
|
"browser.newtabpage.activity-stream.section.highlights.includeVisited" =
|
||||||
|
lock-false;
|
||||||
"browser.newtabpage.activity-stream.showSponsored" = lock-false;
|
"browser.newtabpage.activity-stream.showSponsored" = lock-false;
|
||||||
"browser.newtabpage.activity-stream.system.showSponsored" = lock-false;
|
"browser.newtabpage.activity-stream.system.showSponsored" = lock-false;
|
||||||
"browser.newtabpage.activity-stream.showSponsoredTopSites" = lock-false;
|
"browser.newtabpage.activity-stream.showSponsoredTopSites" = lock-false;
|
||||||
@@ -166,9 +204,7 @@ in
|
|||||||
key = "jk";
|
key = "jk";
|
||||||
action = "<esc>";
|
action = "<esc>";
|
||||||
mode = [ "i" ];
|
mode = [ "i" ];
|
||||||
options = {
|
options = { noremap = true; };
|
||||||
noremap = true;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
@@ -237,9 +273,7 @@ in
|
|||||||
viAlias = true;
|
viAlias = true;
|
||||||
vimAlias = true;
|
vimAlias = true;
|
||||||
|
|
||||||
globals = {
|
globals = { mapleader = " "; };
|
||||||
mapleader = " ";
|
|
||||||
};
|
|
||||||
|
|
||||||
opts = {
|
opts = {
|
||||||
termguicolors = true;
|
termguicolors = true;
|
||||||
@@ -349,7 +383,8 @@ in
|
|||||||
|
|
||||||
window = {
|
window = {
|
||||||
completion = {
|
completion = {
|
||||||
winhighlight = "FloatBorder:CmpBorder,Normal:CmpPmenu,CursorLine:CmpSel,Search:PmenuSel";
|
winhighlight =
|
||||||
|
"FloatBorder:CmpBorder,Normal:CmpPmenu,CursorLine:CmpSel,Search:PmenuSel";
|
||||||
scrollbar = false;
|
scrollbar = false;
|
||||||
sidePadding = 0;
|
sidePadding = 0;
|
||||||
border = [ "╭" "─" "╮" "│" "╯" "─" "╰" "│" ];
|
border = [ "╭" "─" "╮" "│" "╯" "─" "╰" "│" ];
|
||||||
@@ -357,13 +392,15 @@ in
|
|||||||
|
|
||||||
settings.documentation = {
|
settings.documentation = {
|
||||||
border = [ "╭" "─" "╮" "│" "╯" "─" "╰" "│" ];
|
border = [ "╭" "─" "╮" "│" "╯" "─" "╰" "│" ];
|
||||||
winhighlight = "FloatBorder:CmpBorder,Normal:CmpPmenu,CursorLine:CmpSel,Search:PmenuSel";
|
winhighlight =
|
||||||
|
"FloatBorder:CmpBorder,Normal:CmpPmenu,CursorLine:CmpSel,Search:PmenuSel";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
mapping = {
|
mapping = {
|
||||||
"<Tab>" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})";
|
"<Tab>" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})";
|
||||||
"<S-Tab>" = "cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})";
|
"<S-Tab>" =
|
||||||
|
"cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})";
|
||||||
"<C-j>" = "cmp.mapping.select_next_item()";
|
"<C-j>" = "cmp.mapping.select_next_item()";
|
||||||
"<C-k>" = "cmp.mapping.select_prev_item()";
|
"<C-k>" = "cmp.mapping.select_prev_item()";
|
||||||
"<C-e>" = "cmp.mapping.abort()";
|
"<C-e>" = "cmp.mapping.abort()";
|
||||||
@@ -371,7 +408,8 @@ in
|
|||||||
"<C-f>" = "cmp.mapping.scroll_docs(4)";
|
"<C-f>" = "cmp.mapping.scroll_docs(4)";
|
||||||
"<C-Space>" = "cmp.mapping.complete()";
|
"<C-Space>" = "cmp.mapping.complete()";
|
||||||
"<CR>" = "cmp.mapping.confirm({ select = true })";
|
"<CR>" = "cmp.mapping.confirm({ select = true })";
|
||||||
"<S-CR>" = "cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = true })";
|
"<S-CR>" =
|
||||||
|
"cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = true })";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -444,8 +482,8 @@ in
|
|||||||
fontPaths = [
|
fontPaths = [
|
||||||
"$dir/"
|
"$dir/"
|
||||||
"./"
|
"./"
|
||||||
"$\{workspaceFolder}/fonts"
|
"\${workspaceFolder}/fonts"
|
||||||
"$\{workspaceFolder}/"
|
"\${workspaceFolder}/"
|
||||||
];
|
];
|
||||||
# formatterMode = "typstfmt";
|
# formatterMode = "typstfmt";
|
||||||
formatterMode = "typstyle";
|
formatterMode = "typstyle";
|
||||||
@@ -476,9 +514,7 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
treesitter = {
|
treesitter = { enable = true; };
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
undotree.enable = true;
|
undotree.enable = true;
|
||||||
|
|
||||||
@@ -514,7 +550,6 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
sleuth.enable = true;
|
sleuth.enable = true;
|
||||||
|
|
||||||
# hardtime.enable = true; # the dark souls of vim
|
# hardtime.enable = true; # the dark souls of vim
|
||||||
@@ -524,9 +559,7 @@ in
|
|||||||
view.mergeTool.layout = "diff3_mixed";
|
view.mergeTool.layout = "diff3_mixed";
|
||||||
};
|
};
|
||||||
|
|
||||||
markview = {
|
markview = { enable = true; };
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
extraConfigLua = ''
|
extraConfigLua = ''
|
||||||
luasnip = require("luasnip")
|
luasnip = require("luasnip")
|
||||||
@@ -581,9 +614,10 @@ in
|
|||||||
|
|
||||||
zplug = {
|
zplug = {
|
||||||
enable = true;
|
enable = true;
|
||||||
plugins = [
|
plugins = [{
|
||||||
{ name = "dracula/zsh"; tags = [ "as:theme" ]; }
|
name = "dracula/zsh";
|
||||||
];
|
tags = [ "as:theme" ];
|
||||||
|
}];
|
||||||
};
|
};
|
||||||
|
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
@@ -592,6 +626,7 @@ in
|
|||||||
logout = "sudo pkill -u fredrikr";
|
logout = "sudo pkill -u fredrikr";
|
||||||
lock = "/home/fredrikr/.logout.sh";
|
lock = "/home/fredrikr/.logout.sh";
|
||||||
n = "nvim";
|
n = "nvim";
|
||||||
|
e = "emacsclient -c -a 'emacs'";
|
||||||
};
|
};
|
||||||
|
|
||||||
defaultKeymap = "viins";
|
defaultKeymap = "viins";
|
||||||
@@ -667,9 +702,7 @@ in
|
|||||||
# package = pkgs.jdk21;
|
# package = pkgs.jdk21;
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.direnv = {
|
programs.direnv = { enable = true; };
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
services.redshift = {
|
services.redshift = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -702,7 +735,6 @@ in
|
|||||||
# ];
|
# ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
@@ -745,4 +777,12 @@ in
|
|||||||
shellIntegration.enableZshIntegration = true;
|
shellIntegration.enableZshIntegration = true;
|
||||||
theme = "Dracula";
|
theme = "Dracula";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
programs.emacs = {
|
||||||
|
enable = true;
|
||||||
|
# defaultEditor = true;
|
||||||
|
package = pkgs.emacs-gtk;
|
||||||
|
# extraConfig = "home/config/emacs/.doomrc";
|
||||||
|
};
|
||||||
|
services.emacs.enable = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,6 +77,7 @@ myConfig = let
|
|||||||
, ((0, xF86XK_MonBrightnessUp ), spawn "brightnessctl set 5%+")
|
, ((0, xF86XK_MonBrightnessUp ), spawn "brightnessctl set 5%+")
|
||||||
, ((0, xF86XK_MonBrightnessDown ), spawn "brightnessctl set 5%-")
|
, ((0, xF86XK_MonBrightnessDown ), spawn "brightnessctl set 5%-")
|
||||||
, ((modm .|. shiftMask, xK_Return), spawn terminal)
|
, ((modm .|. shiftMask, xK_Return), spawn terminal)
|
||||||
|
, ((modm, xK_e), spawn "emacsclient -c -a emacs")
|
||||||
]
|
]
|
||||||
++
|
++
|
||||||
[((m .|. modm, k), windows $ f i)
|
[((m .|. modm, k), windows $ f i)
|
||||||
|
|||||||
Reference in New Issue
Block a user