Compare commits

...

2 Commits

Author SHA1 Message Date
91adefc48e added unfree applications explicitely 2023-08-26 18:49:08 +02:00
0444229bb0 changed structure 2023-08-26 18:35:30 +02:00
11 changed files with 292 additions and 267 deletions

View File

@ -5,6 +5,7 @@
nixpkgs.url = "github:nixos/nixpkgs/nixos-23.05";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
nixpkgs-master.url = "github:nixos/nixpkgs/master";
home-manager = {
url = "github:nix-community/home-manager/release-23.05";
inputs.nixpkgs.follows = "nixpkgs";
@ -33,7 +34,7 @@
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
in {
formatter.${system} = nixpkgs.legacyPackages.${system}.alejandra;
formatter.${system} = pkgs.alejandra;
homeConfigurations = {
kristian = home-manager.lib.homeManagerConfiguration {
@ -49,7 +50,7 @@
{
nixpkgs.overlays = [
zig.overlays.default # Adds zig
zig.overlays.default # Add zig
( # https://github.com/nix-community/home-manager/issues/1538#issuecomment-706627100
final: prev: {
unstable = import nixpkgs-unstable {

View File

@ -1,8 +1,11 @@
{enable}: {
inherit enable;
{...}: {
config.programs.bash = {
enable = true;
shellAliases = {
ll = "ls -lh";
la = "ls -lah";
".." = "cd ..";
};
};
}

View File

@ -1,14 +1,10 @@
{
config,
pkgs,
lib,
options,
specialArgs,
modulesPath,
wallpaper,
}: {
nixpkgs.config.allowUnfreePredicate = _: true;
home.stateVersion = "23.05";
home.username = "kristian";
home.homeDirectory = "/home/kristian";
@ -18,19 +14,23 @@
NIXOS_OZONE_WL = 1;
};
# TODO: Change for Laptop
# Keyboard Layout
home.keyboard.layout = "at";
# TODO Change for Laptop
targets.genericLinux.enable = false; # Enable on non-nixos ditros
# Keyboard Layout
home.keyboard.layout = "at"; # NOTE: Set by Hyprland config
# Programs (additional programs)
home.packages = import ./packages.nix {inherit pkgs;};
# Services
services = {
copyq.enable = true;
};
imports = [
./bash.nix
./direnv.nix
./firefox.nix
./git.nix
./gnome.nix
./nvim
./packages.nix
./thunderbird.nix
./vscode.nix
];
# Programs
programs = {
@ -38,29 +38,16 @@
mpv.enable = true;
obs-studio.enable = true;
yt-dlp.enable = true;
bash = import ./bash.nix {enable = true;};
vscode = import ./vscode.nix {
enable = true;
inherit pkgs;
};
direnv = import ./direnv.nix {enable = true;};
git = import ./git.nix {enable = true;};
thunderbird = import ./thunderbird.nix {enable = true;};
neovim = import ./nvim {
enable = true;
inherit pkgs;
};
firefox = import ./firefox.nix {
enable = true;
nur = config.nur;
};
# Services
services = {
copyq.enable = true;
};
xdg.mimeApps = {
enable = true;
defaultApplications = {
"image/png" = ["org.gnome.eog.desktop"];
"image/jpeg" = ["org.gnome.eog.desktop"];
@ -68,10 +55,4 @@
"application/pdf" = ["org.gnome.Evince.desktop"];
};
};
# Gnome settings
dconf.settings = import ./gnome.nix {
inherit lib;
inherit wallpaper;
};
}

View File

@ -1,5 +1,8 @@
{enable}: {
inherit enable;
nix-direnv.enable = enable;
{...}: {
config.programs.direnv = {
enable = true;
nix-direnv.enable = true;
enableBashIntegration = true;
};
}

View File

@ -1,24 +1,23 @@
{
nur,
enable,
}: {
inherit enable;
{config, ...}: {
config.programs.firefox = {
enable = true;
profiles.kristian = {
isDefault = true;
search.default = "DuckDuckGo";
search.force = true;
extensions = builtins.attrValues {
inherit
(nur.repos.rycee.firefox-addons)
extensions = with config.nur.repos.rycee.firefox-addons; [
ublock-origin
umatrix
sponsorblock
sidebery
;
};
];
settings = {
"extensions.pocket.enabled" = false;
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
};
};
};
}

View File

@ -1,6 +1,11 @@
{enable}: {
inherit enable;
{...}: {
config.programs.git = {
enable = true;
userName = "Kristian Krsnik";
userEmail = "git@krsnik.at";
extraConfig = {init.defaultBranch = "main";};
extraConfig = {
init.defaultBranch = "main";
};
};
}

View File

@ -1,63 +1,18 @@
{
lib,
pkgs,
wallpaper,
...
}: {
# Use `dconf watch /` to track stateful changes you are doing, then set them here.
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
gtk-theme = "Adwaita-dark";
};
"org/gnome/desktop/background" = let
width = 3840;
height = 2160;
in {
picture-uri = "file://${wallpaper.override {
preset = "nord-snow-aurora";
inherit width;
inherit height;
}}/share/wallpapers/nixos-wallpaper.png";
picture-uri-dark = "file://${wallpaper.override {
preset = "nord-night-aurora";
inherit width;
inherit height;
}}/share/wallpapers/nixos-wallpaper.png";
};
"org/gnome/desktop/wm/keybindings" = {
switch-to-workspace-left = ["<Alt>1"];
switch-to-workspace-right = ["<Alt>2"];
move-to-workspace-left = ["<Shift><Alt>1"];
move-to-workspace-right = ["<Shift><Alt>2"];
};
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
binding = "<Shift><Alt>a";
command = "kgx";
name = "Console";
};
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = {
binding = "<Shift><Alt>f";
command = "nautilus";
name = "File Manager";
};
"org/gnome/settings-daemon/plugins/media-keys" = {
custom-keybindings = [
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/"
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/"
config = {
home.packages = with pkgs.gnomeExtensions; [
quick-settings-audio-panel
tray-icons-reloaded
espresso
pano
];
};
"org/gnome/settings-daemon/plugins/power" = {
sleep-inactive-ac-type = "nothing"; # Automatic suspend/hibernation creates a suspend/hibernation loop
power-button-action = "suspend";
};
"org/gnome/mutter" = {
edge-tiling = true;
dynamic-workspaces = true;
};
"org/gnome/Console" = {
theme = "auto";
};
"org/gnome/simple-scan" = {
text-dpi = 300;
};
dconf.settings = {
# Use `dconf watch /` to track stateful changes you are doing, then set them here.
"org/gnome/shell" = {
disable-user-extensions = false;
enabled-extensions = [
@ -69,4 +24,72 @@
"pano@elhan.io"
];
};
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
gtk-theme = "Adwaita-dark";
};
"org/gnome/desktop/background" = let
width = 3840;
height = 2160;
in {
picture-uri = "file://${wallpaper.override {
preset = "nord-snow-aurora";
inherit width;
inherit height;
}}/share/wallpapers/nixos-wallpaper.png";
picture-uri-dark = "file://${wallpaper.override {
preset = "nord-night-aurora";
inherit width;
inherit height;
}}/share/wallpapers/nixos-wallpaper.png";
};
"org/gnome/desktop/wm/keybindings" = {
switch-to-workspace-left = ["<Alt>1"];
switch-to-workspace-right = ["<Alt>2"];
move-to-workspace-left = ["<Shift><Alt>1"];
move-to-workspace-right = ["<Shift><Alt>2"];
};
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
binding = "<Shift><Alt>a";
command = "kgx";
name = "Console";
};
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = {
binding = "<Shift><Alt>f";
command = "nautilus";
name = "File Manager";
};
"org/gnome/settings-daemon/plugins/media-keys" = {
custom-keybindings = [
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/"
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/"
];
};
"org/gnome/settings-daemon/plugins/power" = {
sleep-inactive-ac-type = "nothing"; # Automatic suspend/hibernation creates a suspend/hibernation loop
power-button-action = "suspend";
};
"org/gnome/mutter" = {
edge-tiling = true;
dynamic-workspaces = true;
};
"org/gnome/Console" = {
theme = "auto";
};
"org/gnome/simple-scan" = {
text-dpi = 300;
};
};
};
}

View File

@ -1,16 +1,14 @@
{
pkgs,
enable,
}: {
inherit enable;
{pkgs, ...}: {
config.programs.neovim = {
enable = true;
defaultEditor = true;
viAlias = true;
vimAlias = true;
vimdiffAlias = true;
plugins = builtins.attrValues ({
inherit
(pkgs.vimPlugins)
plugins = with pkgs.vimPlugins;
[
telescope-nvim # fuzzy finder
tokyonight-nvim # theme
undotree # undotree
@ -18,17 +16,13 @@
nvim-treesitter # syntax highlighting
# Autocomplete and LSP
nvim-lspconfig
nvim-cmp
cmp-nvim-lsp
luasnip
;
}
// {
]
++ (with pkgs.vimPlugins.nvim-treesitter-parsers; [
# Parsers for syntax highlighting
inherit
(pkgs.vimPlugins.nvim-treesitter-parsers)
nix
zig
python
@ -43,8 +37,8 @@
c
glsl
bash
;
});
]);
extraPackages = [pkgs.nodePackages.pyright];
extraLuaConfig =
builtins.readFile ./keybinds.lua
@ -56,4 +50,5 @@
+ builtins.readFile ./cmp.lua
+ builtins.readFile ./lspconfig.lua;
extraConfig = "set number relativenumber";
};
}

View File

@ -1,5 +1,21 @@
{pkgs}:
with pkgs; [
{
pkgs,
lib,
...
}: {
config.nixpkgs.config = {
allowUnfree = false;
allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) [
"vscode"
"vscode-extension-MS-python-vscode-pylance"
"vscode-extension-github-copilot"
"osu-lazer"
];
};
config.home.packages = with pkgs; [
# Basic utils
unzip
magic-wormhole
@ -16,24 +32,17 @@ with pkgs; [
signal-desktop
element-desktop
# image editor
# Creative software
gimp
davinci-resolve
# games
# Games
osu-lazer
# Misc
nerdfonts # Font with glyphs for status bar
comma # Run any binary from the repos with a comma `, cowsay neato`
# Gnome extension
gnomeExtensions.quick-settings-audio-panel
gnomeExtensions.tray-icons-reloaded
gnomeExtensions.espresso
gnomeExtensions.pano
gnome-decoder
tor-browser-bundle-bin
]
];
}

View File

@ -1,6 +1,9 @@
{enable}: {
inherit enable;
{...}: {
config.programs.thunderbird = {
enable = true;
profiles.kristian = {
isDefault = true;
};
};
}

View File

@ -1,10 +1,10 @@
{
enable,
pkgs,
}: {
inherit enable;
{pkgs, ...}: {
config.programs.vscode = {
enable = true;
enableUpdateCheck = false;
enableExtensionUpdateCheck = false;
keybindings = [
{
key = "alt+a";
@ -12,6 +12,7 @@
when = "editorTextFocus && !editorReadonly";
}
];
extensions = with pkgs.vscode-extensions; [
jnoortheen.nix-ide
arrterian.nix-env-selector
@ -24,6 +25,7 @@
tamasfe.even-better-toml
asciidoctor.asciidoctor-vscode
];
userSettings = {
"window.menuBarVisibility" = "hidden";
"[nix]" = {
@ -61,4 +63,5 @@
};
"terminal.integrated.defaultProfile.linux" = "bash";
};
};
}