aboutsummaryrefslogtreecommitdiff
path: root/user/home
diff options
context:
space:
mode:
Diffstat (limited to 'user/home')
-rw-r--r--user/home/default.nix21
-rw-r--r--user/home/git.nix13
-rw-r--r--user/home/kakoune/default.nix70
-rw-r--r--user/home/kakoune/kakrc2
-rw-r--r--user/home/ssh.nix12
-rw-r--r--user/home/zsh.nix16
6 files changed, 134 insertions, 0 deletions
diff --git a/user/home/default.nix b/user/home/default.nix
new file mode 100644
index 0000000..1751a82
--- /dev/null
+++ b/user/home/default.nix
@@ -0,0 +1,21 @@
+{ config, ... }:
+{
+ home-manager = {
+ useGlobalPkgs = true;
+ users.rosa = {
+ imports = [
+ ./git.nix
+ ./kakoune
+ ../../modules/user
+ ./ssh.nix
+ ];
+
+ desktops.enable = "hyprland";
+ home = {
+ homeDirectory = "/home/rosa";
+ stateVersion = "26.05";
+ username = "rosa";
+ };
+ };
+ };
+}
diff --git a/user/home/git.nix b/user/home/git.nix
new file mode 100644
index 0000000..65b4b7c
--- /dev/null
+++ b/user/home/git.nix
@@ -0,0 +1,13 @@
+{ config, ... }:
+{
+ programs.git = {
+ enable = true;
+ settings = {
+ init.defaultBranch = "main";
+ user = {
+ email = "rosaontheweb@proton.me";
+ name = "Rosa";
+ };
+ };
+ };
+}
diff --git a/user/home/kakoune/default.nix b/user/home/kakoune/default.nix
new file mode 100644
index 0000000..ec7b89b
--- /dev/null
+++ b/user/home/kakoune/default.nix
@@ -0,0 +1,70 @@
+{ config, pkgs, ... }:
+{
+ programs.kakoune = {
+ enable = true;
+ colorSchemePackage = pkgs.kakounePlugins.kakoune-catppuccin;
+ config = {
+ #colorScheme = "catppuccin_mocha";
+ hooks = [
+ {
+ commands = "set window indentwidth 2";
+ group = "indentwidth";
+ name = "WinSetOption";
+ option = "filetype=(nix)";
+ }
+ {
+ commands = "lsp-enable-window";
+ name = "WinSetOption";
+ option = "filetype=(javascript|kotlin|qml|typescript|zig)";
+ }
+ {
+ commands = ''
+ set-option buffer lsp_servers %{
+ [kotlin-language-server]
+ root_globs = ["build.gradle.kts"]
+ }
+ '';
+ name = "BufSetOption";
+ option = "filetype=kotlin";
+ }
+ {
+ commands = ''
+ set-option buffer lsp_servers %{
+ [qmlls]
+ root_globs = ["shell.qml"]
+ }
+ '';
+ name = "BufSetOption";
+ option = "filetype=qml";
+ }
+ ];
+
+ keyMappings = [
+ {
+ docstring = "Opens a new editor window";
+ effect = ":new<ret>";
+ key = "<c-w>";
+ mode = "normal";
+ }
+ ];
+
+ numberLines = {
+ enable = true;
+ highlightCursor = true;
+ };
+
+ ui = {
+ assistant = "cat";
+ setTitle = true;
+ };
+ };
+
+ defaultEditor = true;
+ extraConfig = builtins.readFile ./kakrc;
+ plugins = with pkgs.kakounePlugins; [
+ auto-pairs-kak
+ kakoune-extra-filetypes
+ kakoune-lsp
+ ];
+ };
+}
diff --git a/user/home/kakoune/kakrc b/user/home/kakoune/kakrc
new file mode 100644
index 0000000..b327805
--- /dev/null
+++ b/user/home/kakoune/kakrc
@@ -0,0 +1,2 @@
+enable-auto-pairs
+eval %sh{kak-lsp --kakoune -s $kak_session}
diff --git a/user/home/ssh.nix b/user/home/ssh.nix
new file mode 100644
index 0000000..d077e31
--- /dev/null
+++ b/user/home/ssh.nix
@@ -0,0 +1,12 @@
+{ config, ... }:
+{
+ programs.ssh = {
+ enable = true;
+ enableDefaultConfig = false;
+ matchBlocks = {
+ "*" = {
+ identityFile = "~/.ssh/id_ed25519";
+ };
+ };
+ };
+}
diff --git a/user/home/zsh.nix b/user/home/zsh.nix
new file mode 100644
index 0000000..d264bd9
--- /dev/null
+++ b/user/home/zsh.nix
@@ -0,0 +1,16 @@
+{ config, ... }:
+{
+ programs.direnv.enable = true;
+ programs.zsh = {
+ enable = true;
+ autocd = true;
+ autosuggestion.enable = true;
+ defaultKeymap = "viins";
+ history.ignoreAllDups = true;
+ initContent = ''
+ PS1="%F{1}%n %5~ %F{8}%# %f"
+ '';
+
+ syntaxHighlighting.enable = true;
+ };
+}