aboutsummaryrefslogtreecommitdiff
path: root/modules/user
diff options
context:
space:
mode:
Diffstat (limited to 'modules/user')
-rw-r--r--modules/user/default.nix8
-rw-r--r--modules/user/desktop/default.nix5
-rw-r--r--modules/user/desktop/sessions/default.nix5
-rw-r--r--modules/user/desktop/sessions/sway.nix147
-rw-r--r--modules/user/editors/default.nix3
-rw-r--r--modules/user/editors/kakoune/default.nix42
-rw-r--r--modules/user/editors/kakoune/kakrc1
-rw-r--r--modules/user/git.nix10
-rw-r--r--modules/user/zsh/default.nix25
-rw-r--r--modules/user/zsh/zshrc.zsh1
10 files changed, 247 insertions, 0 deletions
diff --git a/modules/user/default.nix b/modules/user/default.nix
new file mode 100644
index 0000000..0cbd1ff
--- /dev/null
+++ b/modules/user/default.nix
@@ -0,0 +1,8 @@
+{
+ imports = [
+ ./desktop
+ ./editors
+ ./git.nix
+ ./zsh
+ ];
+}
diff --git a/modules/user/desktop/default.nix b/modules/user/desktop/default.nix
new file mode 100644
index 0000000..f5f2e28
--- /dev/null
+++ b/modules/user/desktop/default.nix
@@ -0,0 +1,5 @@
+{
+ imports = [
+ ./sessions
+ ];
+}
diff --git a/modules/user/desktop/sessions/default.nix b/modules/user/desktop/sessions/default.nix
new file mode 100644
index 0000000..47a721a
--- /dev/null
+++ b/modules/user/desktop/sessions/default.nix
@@ -0,0 +1,5 @@
+{
+ imports = [
+ ./sway.nix
+ ];
+}
diff --git a/modules/user/desktop/sessions/sway.nix b/modules/user/desktop/sessions/sway.nix
new file mode 100644
index 0000000..e853a10
--- /dev/null
+++ b/modules/user/desktop/sessions/sway.nix
@@ -0,0 +1,147 @@
+{
+ config,
+ lib,
+ options,
+ ...
+}:
+{
+ config = {
+ wayland.windowManager.sway = {
+ enable = lib.mkDefault config.desktop.sessions.sway.enable;
+ config = {
+ bars = [
+ {
+ colors = {
+ activeWorkspace = {
+ background = "#11111b";
+ border = "#11111b";
+ text = "#cdd6f4";
+ };
+
+ background = "#11111b";
+ bindingMode = {
+ background = "#a6e3a1";
+ border = "#a6e3a1";
+ text = "#11111b";
+ };
+
+ focusedBackground = "#11111b";
+ focusedSeparator = "#a6adc8";
+ focusedStatusline = "#cdd6f4";
+ focusedWorkspace = {
+ background = "#11111b";
+ border = "#11111b";
+ text = "#cba6f7";
+ };
+
+ inactiveWorkspace = {
+ background = "#11111b";
+ border = "#11111b";
+ text = "#a6adc8";
+ };
+
+ separator = "#a6adc8";
+ statusline = "#cdd6f4";
+ urgentWorkspace = {
+ background = "#f38ba8";
+ border = "#f38ba8";
+ text = "#11111b";
+ };
+ };
+
+ fonts = {
+ names = [ "Fira Mono" ];
+ size = 8.0;
+ };
+
+ position = "bottom";
+ }
+ ];
+
+ bindswitches =
+ let
+ display = "eDP-1";
+ in
+ {
+ "lid:on" = {
+ action = "output ${display} disable";
+ locked = true;
+ reload = true;
+ };
+
+ "lid:off" = {
+ action = "output ${display} enable";
+ locked = true;
+ reload = true;
+ };
+ };
+
+ colors = {
+ focused = {
+ background = "#1e1e2e";
+ border = "#cba6f7";
+ childBorder = "#cba6f7";
+ indicator = "#f5c2e7";
+ text = "#1e1e2e";
+ };
+
+ focusedInactive = {
+ background = "#1e1e2e";
+ border = "#585b70";
+ childBorder = "#585b70";
+ indicator = "#585b70";
+ text = "#cdd6f4";
+ };
+
+ unfocused = {
+ background = "#1e1e2e";
+ border = "#313244";
+ childBorder = "#313244";
+ indicator = "#313244";
+ text = "#a6adc8";
+ };
+
+ urgent = {
+ background = "#1e1e2e";
+ border = "#f38ba8";
+ childBorder = "#f38ba8";
+ indicator = "#f38ba8";
+ text = "#1e1e2e";
+ };
+ };
+
+ defaultWorkspace = "workspace number 1";
+ floating = {
+ criteria = [
+ # TODO
+ ];
+
+ titlebar = false;
+ };
+
+ focus.followMouse = false;
+ fonts = {
+ names = [ "Fira Mono" ];
+ size = 8.0;
+ };
+
+ gaps = {
+ inner = 2;
+ outer = 4;
+ };
+
+ input = {
+ "type:touchpad" = {
+ accel_profile = "flat";
+ drag = "enabled";
+ dwt = "enabled";
+ natural_scroll = "enabled";
+ tap = "enabled";
+ };
+ };
+ };
+ };
+ };
+
+ options.desktop.sessions.sway.enable = lib.mkEnableOption "the sway window manager";
+}
diff --git a/modules/user/editors/default.nix b/modules/user/editors/default.nix
new file mode 100644
index 0000000..fa1b4ff
--- /dev/null
+++ b/modules/user/editors/default.nix
@@ -0,0 +1,3 @@
+{
+ imports = [ ./kakoune ];
+}
diff --git a/modules/user/editors/kakoune/default.nix b/modules/user/editors/kakoune/default.nix
new file mode 100644
index 0000000..0b69e1a
--- /dev/null
+++ b/modules/user/editors/kakoune/default.nix
@@ -0,0 +1,42 @@
+{
+ config,
+ lib,
+ options,
+ pkgs,
+ ...
+}:
+{
+ config.programs.kakoune = lib.mkIf config.editors.kakoune.enable {
+ enable = true;
+ colorSchemePackage = pkgs.kakounePlugins.kakoune-catppuccin;
+ config = {
+ hooks = [
+ {
+ commands = "set window indentwidth 2";
+ group = "set-indentwidth";
+ name = "WinSetOption";
+ option = "filetype=(nix)";
+ }
+ ];
+
+ numberLines = {
+ enable = true;
+ highlightCursor = true;
+ relative = true;
+ };
+
+ tabStop = 4;
+ ui.assistant = "cat";
+ };
+
+ defaultEditor = true;
+ extraConfig = builtins.readFile ./kakrc;
+ plugins = with pkgs.kakounePlugins; [
+ auto-pairs-kak
+ kakoune-extra-filetypes
+ kakoune-lsp
+ ];
+ };
+
+ options.editors.kakoune.enable = lib.mkEnableOption "rosa's kakoune setup";
+}
diff --git a/modules/user/editors/kakoune/kakrc b/modules/user/editors/kakoune/kakrc
new file mode 100644
index 0000000..a06f5b5
--- /dev/null
+++ b/modules/user/editors/kakoune/kakrc
@@ -0,0 +1 @@
+enable-auto-pairs
diff --git a/modules/user/git.nix b/modules/user/git.nix
new file mode 100644
index 0000000..d41fa11
--- /dev/null
+++ b/modules/user/git.nix
@@ -0,0 +1,10 @@
+{ config, lib, options, ... }:
+{
+ programs.git = {
+ enable = lib.mkDefault true;
+ settings = lib.mkDefault {
+ user.email = "rosaontheweb@proton.me";
+ user.name = "Rosa";
+ };
+ };
+}
diff --git a/modules/user/zsh/default.nix b/modules/user/zsh/default.nix
new file mode 100644
index 0000000..6f49406
--- /dev/null
+++ b/modules/user/zsh/default.nix
@@ -0,0 +1,25 @@
+{
+ config,
+ lib,
+ options,
+ ...
+}:
+{
+ config.programs.zsh = {
+ enable = lib.mkDefault true; # default user shell
+ autocd = true;
+ autosuggestion = {
+ enable = lib.mkDefault true;
+ strategy = [
+ "history"
+ "completion"
+ ];
+ };
+
+ history.ignoreAllDups = true;
+ initContent = builtins.readFile ./zshrc.zsh;
+ #loginExtra = builtins.readFile ./zlogin.zsh;
+ setOptions = [ "extendedglob" ];
+ syntaxHighlighting.enable = true;
+ };
+}
diff --git a/modules/user/zsh/zshrc.zsh b/modules/user/zsh/zshrc.zsh
new file mode 100644
index 0000000..9b2083a
--- /dev/null
+++ b/modules/user/zsh/zshrc.zsh
@@ -0,0 +1 @@
+PS1='%F{8}%(?..(%F{1}%?%F{8}%)-)[%F{1}%n@%M%F{8}]:%F{1}%5~%F{8}%# %f'