forked from javif89/nix
Wayland support for clipboard
This commit is contained in:
parent
ef49856afc
commit
f4172e58c7
BIN
assets/sddm-background.png
Normal file
BIN
assets/sddm-background.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 19 MiB |
BIN
assets/user-icon.png
Normal file
BIN
assets/user-icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 189 KiB |
@ -8,7 +8,8 @@
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
./system/nvidia.nix
|
||||
./system/de/gdm.nix
|
||||
# ./system/de/gdm.nix
|
||||
./system/de/sddm.nix
|
||||
./system/de/hypr/hyprland.nix
|
||||
./system/nfs.nix
|
||||
./system/fonts.nix
|
||||
@ -90,6 +91,13 @@
|
||||
"wheel"
|
||||
];
|
||||
};
|
||||
# Set up my user icon
|
||||
environment.etc."avatars/javi.png".source = ./assets/user-icon.png;
|
||||
system.activationScripts.avatar = ''
|
||||
mkdir -p /var/lib/AccountsService/icons
|
||||
ln -sf /etc/avatars/javi.png /var/lib/AccountsService/icons/javi
|
||||
'';
|
||||
|
||||
# Allow unfree packages
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
@ -97,7 +105,6 @@
|
||||
# $ nix search wget
|
||||
environment.systemPackages = with pkgs; [
|
||||
brave
|
||||
neovim
|
||||
git
|
||||
openssh
|
||||
pkgs.ntfs3g
|
||||
|
223
flake.lock
generated
223
flake.lock
generated
@ -83,7 +83,81 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1747046372,
|
||||
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_2": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1747046372,
|
||||
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"neovim-nightly-overlay",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1754487366,
|
||||
"narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_2": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"neovim-nightly-overlay",
|
||||
"hercules-ci-effects",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1751413152,
|
||||
"narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "77826244401ea9de6e3bac47c2db46005e1f30b5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "flake-parts",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"flake-parts_3": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"stylix",
|
||||
@ -120,6 +194,51 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"git-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_2",
|
||||
"gitignore": "gitignore",
|
||||
"nixpkgs": [
|
||||
"neovim-nightly-overlay",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1754416808,
|
||||
"narHash": "sha256-c6yg0EQ9xVESx6HGDOCMcyRSjaTpNJP10ef+6fRcofA=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "9c52372878df6911f9afc1e2a1391f55e4dfc864",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"neovim-nightly-overlay",
|
||||
"git-hooks",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709087332,
|
||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gnome-shell": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
@ -137,6 +256,28 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hercules-ci-effects": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_2",
|
||||
"nixpkgs": [
|
||||
"neovim-nightly-overlay",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1752595130,
|
||||
"narHash": "sha256-CNBgr4OZSuklGtNOa9CnTNo9+Xceqn/EDAC1Tc43fH8=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "hercules-ci-effects",
|
||||
"rev": "5f2e09654b2e70ba643e41609d9f9b6640f22113",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "hercules-ci-effects",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@ -175,6 +316,46 @@
|
||||
"url": "https://gitgud.foo/thegrind/hypr-shell.git"
|
||||
}
|
||||
},
|
||||
"neovim-nightly-overlay": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-parts": "flake-parts",
|
||||
"git-hooks": "git-hooks",
|
||||
"hercules-ci-effects": "hercules-ci-effects",
|
||||
"neovim-src": "neovim-src",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1755033072,
|
||||
"narHash": "sha256-KQ5qgugljc44XtEVmGzRdBwTDIqARCM3b/9dRsEBZIk=",
|
||||
"owner": "nix-community",
|
||||
"repo": "neovim-nightly-overlay",
|
||||
"rev": "3cf910c2727eed304b8aabcfddc109e0c0371bfb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "neovim-nightly-overlay",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"neovim-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1754951943,
|
||||
"narHash": "sha256-jDrRkJQ+iDDAZn+8bi6lxumSNUwgdyFgJVTzVwz1lIM=",
|
||||
"owner": "neovim",
|
||||
"repo": "neovim",
|
||||
"rev": "a26cdcb20e68f38f636b14a03c3f9657f5c74f67",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "neovim",
|
||||
"repo": "neovim",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1754725699,
|
||||
@ -192,6 +373,22 @@
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1754800730,
|
||||
"narHash": "sha256-HfVZCXic9XLBgybP0318ym3cDnGwBs/+H5MgxFVYF4I=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "641d909c4a7538f1539da9240dedb1755c907e40",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1754498491,
|
||||
"narHash": "sha256-erbiH2agUTD0Z30xcVSFcDHzkRvkRXOQ3lb887bcVrs=",
|
||||
@ -236,7 +433,8 @@
|
||||
"inputs": {
|
||||
"home-manager": "home-manager",
|
||||
"hyprshell": "hyprshell",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"neovim-nightly-overlay": "neovim-nightly-overlay",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"stylix": "stylix"
|
||||
}
|
||||
},
|
||||
@ -247,7 +445,7 @@
|
||||
"base16-helix": "base16-helix",
|
||||
"base16-vim": "base16-vim",
|
||||
"firefox-gnome-theme": "firefox-gnome-theme",
|
||||
"flake-parts": "flake-parts",
|
||||
"flake-parts": "flake-parts_3",
|
||||
"gnome-shell": "gnome-shell",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
@ -369,6 +567,27 @@
|
||||
"repo": "base16-zed",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"treefmt-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"neovim-nightly-overlay",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1754847726,
|
||||
"narHash": "sha256-2vX8QjO5lRsDbNYvN9hVHXLU6oMl+V/PsmIiJREG4rE=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "7d81f6fb2e19bf84f1c65135d1060d829fae2408",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
|
@ -12,6 +12,7 @@
|
||||
url = "github:danth/stylix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay";
|
||||
};
|
||||
|
||||
outputs =
|
||||
@ -23,6 +24,9 @@
|
||||
let
|
||||
system = "x86_64-linux";
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
overlays = [
|
||||
inputs.neovim-nightly-overlay.overlays.default
|
||||
];
|
||||
in
|
||||
{
|
||||
nixosConfigurations.default = nixpkgs.lib.nixosSystem {
|
||||
|
2
home.nix
2
home.nix
@ -13,6 +13,7 @@
|
||||
./home/git.nix
|
||||
./home/hyprland.nix
|
||||
./home/util/darkmode.nix
|
||||
./home/neovim.nix
|
||||
];
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
# Home Manager needs a bit of information about you and the paths it should
|
||||
@ -46,7 +47,6 @@
|
||||
# Dev tools
|
||||
jetbrains.datagrip
|
||||
vscode
|
||||
neovim
|
||||
nixfmt # Nix formatting
|
||||
pkgs.libsForQt5.full # QML formatting (for working on quickshell)
|
||||
|
||||
|
@ -32,6 +32,9 @@
|
||||
|
||||
# Desktop env
|
||||
hyprpanel
|
||||
|
||||
# Utility
|
||||
wl-clipboard
|
||||
];
|
||||
|
||||
# Important for certain apps working
|
||||
|
13
home/neovim.nix
Normal file
13
home/neovim.nix
Normal file
@ -0,0 +1,13 @@
|
||||
# neovim.nix
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
home.packages = [
|
||||
inputs.neovim-nightly-overlay.packages.${pkgs.system}.default
|
||||
];
|
||||
}
|
@ -51,7 +51,7 @@
|
||||
home = "cd ~";
|
||||
projects = "cd ~/projects";
|
||||
co = "code .";
|
||||
clipboard = "xclip -selection clipboard";
|
||||
clipboard = "wl-copy";
|
||||
|
||||
# Jigsaw
|
||||
jig = "vendor/bin/jigsaw";
|
||||
|
@ -14,171 +14,31 @@
|
||||
enableBashIntegration = true;
|
||||
enableZshIntegration = true;
|
||||
|
||||
# settings = {
|
||||
# # Main prompt format
|
||||
# format = ''
|
||||
# $username$hostname$directory$git_branch$git_status$nodejs$php$go$python$docker_context$nix_shell
|
||||
# $character
|
||||
# '';
|
||||
#
|
||||
# # Right side format
|
||||
# right_format = "$cmd_duration$time";
|
||||
#
|
||||
# # Character (prompt indicator)
|
||||
# character = {
|
||||
# success_symbol = "[❯](bold green)";
|
||||
# error_symbol = "[❯](bold red)";
|
||||
# vicmd_symbol = "[❮](bold yellow)";
|
||||
# };
|
||||
#
|
||||
# # Directory
|
||||
# directory = {
|
||||
# style = "bold cyan";
|
||||
# truncation_length = 3;
|
||||
# truncate_to_repo = false;
|
||||
# format = "[$path]($style)[$lock_symbol]($lock_style) ";
|
||||
# };
|
||||
#
|
||||
# # Git branch
|
||||
# git_branch = {
|
||||
# style = "bold purple";
|
||||
# format = "on [$symbol$branch]($style) ";
|
||||
# symbol = " ";
|
||||
# };
|
||||
#
|
||||
# # Git status
|
||||
# git_status = {
|
||||
# style = "red";
|
||||
# ahead = "⇡\${count}";
|
||||
# diverged = "⇕⇡\${ahead_count}⇣\${behind_count}";
|
||||
# behind = "⇣\${count}";
|
||||
# conflicted = "=";
|
||||
# deleted = "✘";
|
||||
# modified = "!";
|
||||
# renamed = "»";
|
||||
# staged = "+";
|
||||
# stashed = "$";
|
||||
# untracked = "?";
|
||||
# format = "([$all_status$ahead_behind]($style))";
|
||||
# };
|
||||
#
|
||||
# # Username
|
||||
# username = {
|
||||
# style_user = "bold yellow";
|
||||
# style_root = "bold red";
|
||||
# format = "[$user]($style) ";
|
||||
# disabled = false;
|
||||
# show_always = false;
|
||||
# };
|
||||
#
|
||||
# # Hostname
|
||||
# hostname = {
|
||||
# ssh_only = false;
|
||||
# format = "[@$hostname]($style) ";
|
||||
# style = "bold green";
|
||||
# disabled = true;
|
||||
# };
|
||||
#
|
||||
# # Language versions
|
||||
# nodejs = {
|
||||
# style = "bold green";
|
||||
# format = "via [$symbol($version)]($style) ";
|
||||
# symbol = " ";
|
||||
# detect_extensions = ["js" "mjs" "cjs" "ts" "tsx" "vue"];
|
||||
# detect_files = ["package.json" "package-lock.json" "yarn.lock"];
|
||||
# };
|
||||
#
|
||||
# php = {
|
||||
# style = "bold blue";
|
||||
# format = "via [$symbol($version)]($style) ";
|
||||
# symbol = " ";
|
||||
# detect_extensions = ["php"];
|
||||
# detect_files = ["composer.json" "composer.lock"];
|
||||
# };
|
||||
#
|
||||
# go = {
|
||||
# style = "bold cyan";
|
||||
# format = "via [$symbol($version)]($style) ";
|
||||
# symbol = " ";
|
||||
# detect_extensions = ["go"];
|
||||
# detect_files = ["go.mod" "go.sum"];
|
||||
# };
|
||||
#
|
||||
# python = {
|
||||
# style = "bold yellow";
|
||||
# format = "via [$symbol$pyenv_prefix($version)]($style) ";
|
||||
# symbol = " ";
|
||||
# detect_extensions = ["py"];
|
||||
# detect_files = ["requirements.txt" "pyproject.toml" "Pipfile"];
|
||||
# };
|
||||
#
|
||||
# # Docker
|
||||
# docker_context = {
|
||||
# style = "blue bold";
|
||||
# format = "via [$symbol$context]($style) ";
|
||||
# symbol = " ";
|
||||
# only_with_files = true;
|
||||
# detect_files = ["docker-compose.yml" "docker-compose.yaml" "Dockerfile"];
|
||||
# };
|
||||
#
|
||||
# # Nix shell
|
||||
# nix_shell = {
|
||||
# style = "bold blue";
|
||||
# format = "via [$symbol$state( \\($name\\))]($style) ";
|
||||
# symbol = "❄️ ";
|
||||
# impure_msg = "[impure shell](bold red)";
|
||||
# pure_msg = "[pure shell](bold green)";
|
||||
# unknown_msg = "[unknown shell](bold yellow)";
|
||||
# };
|
||||
#
|
||||
# # Command duration
|
||||
# cmd_duration = {
|
||||
# min_time = 2000;
|
||||
# style = "bold yellow";
|
||||
# format = "took [$duration]($style) ";
|
||||
# };
|
||||
#
|
||||
# # Time
|
||||
# time = {
|
||||
# disabled = false;
|
||||
# style = "bold white";
|
||||
# format = "[$time]($style)";
|
||||
# time_format = "%T";
|
||||
# utc_time_offset = "local";
|
||||
# };
|
||||
#
|
||||
# # Status
|
||||
# status = {
|
||||
# style = "bg:blue";
|
||||
# symbol = "🔴";
|
||||
# format = "[\\[$symbol $common_meaning$signal_name$maybe_int\\]]($style) ";
|
||||
# map_symbol = true;
|
||||
# disabled = false;
|
||||
# };
|
||||
#
|
||||
# # Memory usage
|
||||
# memory_usage = {
|
||||
# disabled = false;
|
||||
# threshold = 70;
|
||||
# style = "bold dimmed white";
|
||||
# format = "via $symbol[${ram}( | ${swap})]($style) ";
|
||||
# symbol = " ";
|
||||
# };
|
||||
#
|
||||
# # Package version
|
||||
# package = {
|
||||
# disabled = false;
|
||||
# style = "208 bold";
|
||||
# format = "is [$symbol$version]($style) ";
|
||||
# symbol = "📦 ";
|
||||
# };
|
||||
#
|
||||
# # AWS
|
||||
# aws = {
|
||||
# style = "bold orange";
|
||||
# format = "on [$symbol($profile)(\\($region\\))(\\[$duration\\])]($style) ";
|
||||
# symbol = "☁️ ";
|
||||
# };
|
||||
# };
|
||||
settings = {
|
||||
character = {
|
||||
success_symbol = "[Ǽ ❯](bold green)";
|
||||
error_symbol = "[Ǿ ❯](bold red)";
|
||||
};
|
||||
|
||||
directory = {
|
||||
truncation_length = 9;
|
||||
};
|
||||
|
||||
php = {
|
||||
format = "[$symbol($version )]($style)";
|
||||
};
|
||||
|
||||
golang = {
|
||||
format = "[$symbol($version )]($style)";
|
||||
};
|
||||
|
||||
nodejs = {
|
||||
format = "[$symbol($version )]($style)";
|
||||
};
|
||||
|
||||
bun = {
|
||||
format = "[$symbol($version )]($style)";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -4,12 +4,46 @@
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
basePath = "/home/javi/Documents/wallpapers";
|
||||
wallpaper = "Fantasy-Mountain.png";
|
||||
in
|
||||
{
|
||||
services.xserver = {
|
||||
environment.etc."sddm-wallpaper.png".source = ../../assets/sddm-background.png;
|
||||
environment.systemPackages = with pkgs; [
|
||||
(sddm-chili-theme.override {
|
||||
themeConfig = {
|
||||
background = "/etc/sddm-wallpaper.png";
|
||||
ScreenWidth = "3440";
|
||||
ScreenHeight = "1440";
|
||||
recursiveBlurLoops = 1;
|
||||
recursiveBlurRadius = 10;
|
||||
};
|
||||
})
|
||||
libsForQt5.qt5.qtgraphicaleffects
|
||||
papirus-icon-theme
|
||||
];
|
||||
|
||||
programs.dconf.enable = true;
|
||||
environment.etc."gtk-3.0/settings.ini".text = ''
|
||||
[Settings]
|
||||
gtk-icon-theme-name=Papirus
|
||||
gtk-theme-name=Adwaita
|
||||
gtk-cursor-theme-name=Adwaita
|
||||
'';
|
||||
|
||||
services.displayManager.sddm = {
|
||||
enable = true;
|
||||
displayManager.sddm = {
|
||||
enable = true;
|
||||
wayland.enable = true;
|
||||
};
|
||||
wayland.enable = true;
|
||||
theme = "chili";
|
||||
autoNumlock = true;
|
||||
package = pkgs.libsForQt5.sddm;
|
||||
extraPackages = with pkgs.libsForQt5.qt5; [
|
||||
qtgraphicaleffects
|
||||
qtquickcontrols2
|
||||
qtquickcontrols
|
||||
qtsvg
|
||||
qtdeclarative # QtQuick core
|
||||
];
|
||||
};
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user