initial home commit

This commit is contained in:
Giulio De Pasquale 2021-06-25 12:55:23 +01:00
commit ec52ded823
5 changed files with 194 additions and 0 deletions

11
home/code.nix Normal file
View File

@ -0,0 +1,11 @@
{ config, pkgs, lib, ... }:
let
extensions = (with pkgs.vscode-extensions; [
bbenoist.Nix
ms-python.python
ms-azuretools.vscode-docker
ms-vscode-remote.remote-ssh
]);
vscode-with-extensions =
pkgs.vscode-with-extensions.override { vscodeExtensions = extensions; };
in { config = { home.packages = [ vscode-with-extensions ]; }; }

7
home/git.nix Normal file
View File

@ -0,0 +1,7 @@
{ config, pkgs, lib, ... }: {
programs.git = {
enable = true;
userName = "Giulio De Pasquale";
userEmail = "depasquale+git@giugl.io";
};
}

83
home/gnome.nix Normal file
View File

@ -0,0 +1,83 @@
{ config, pkgs, lib, ... }: {
dconf.settings = {
#
# touchpad
#
"org/gnome/desktop/peripherals/touchpad" = {
natural-scroll = false;
two-finger-scrolling-enabled = true;
};
#
# window keybindings
#
"org/gnome/desktop/wm/keybindings" = {
close = [ "<Alt>q" ];
maximize = [ "<Primary><Shift>Up" ];
unmaximize = [ "<Primary><Shift>Down" ];
move-to-workspace-left = [ "<Shift><Alt>Left" ];
move-to-workspace-right = [ "<Shift><Alt>Right" ];
switch-to-workspace-left = [ "<Primary><Alt>Left" ];
switch-to-workspace-right = [ "<Primary><Alt>Right" ];
};
"org/gnome/mutter/keybindings" = {
toggle-tiled-left = [ "<Primary><Shift>Left" ];
toggle-tiled-right = [ "<Primary><Shift>Right" ];
};
#
# custom keybindings
#
"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/"
];
# lock screen
screensaver = [ "<Primary><Alt>l" ];
};
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" =
{
binding = "F12";
command = "guake-toggle";
name = "Guake";
};
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" =
{
binding = "<Alt>a";
command = "albert toggle";
name = "Albert";
};
#
# power settings
#
"org/gnome/settings-daemon/plugins/power" = {
sleep-inactive-ac-type = "nothing";
sleep-inactive-battery-type = "nothing";
};
#
# night light
#
"org/gnome/settings-daemon/plugins/color" = {
night-light-enabled = true;
night-light-temperature = 2536;
};
#
# interface
#
"org/gnome/desktop/interface" = { show-battery-percentage = true; };
};
}

80
home/home.nix Normal file
View File

@ -0,0 +1,80 @@
{ config, pkgs, ... }:
let
albert_autostart = (pkgs.makeAutostartItem {
name = "albert";
package = pkgs.albert;
});
guake_autostart = (pkgs.makeAutostartItem {
name = "guake";
package = pkgs.guake;
});
in {
nixpkgs.config = { allowUnfree = true; };
#
# imports
#
imports = [ ./git.nix ./gnome.nix ./zsh.nix ];
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
# Home Manager needs a bit of information about you and the
# paths it should manage.
home.username = "giulio";
home.homeDirectory = "/home/giulio";
# This value determines the Home Manager release that your
# configuration is compatible with. This helps avoid breakage
# when a new Home Manager release introduces backwards
# incompatible changes.
#
# You can update Home Manager without changing this value. See
# the Home Manager release notes for a list of state version
# changes in each release.
home.stateVersion = "21.05";
home.packages = with pkgs; [
# essentials
albert
guake
# browsers
firefox
brave
chromium
# reversing
rizin
# development
nixfmt
jetbrains.idea-ultimate
jetbrains.jdk
vscode
clang
# social
slack
signal-desktop
teams
discord
# music
spotify
# misc
bind
# autostart
albert_autostart
guake_autostart
];
home.sessionVariables = {
EDITOR = "nvim";
VISUAL = "nvim";
};
}

13
home/zsh.nix Normal file
View File

@ -0,0 +1,13 @@
{ config, pkgs, lib, ... }: {
home.packages = with pkgs; [ zsh ];
programs.zsh = {
enable = true;
oh-my-zsh = {
enable = true;
plugins = [ "git" "sudo" "docker" "docker-compose" "adb" "systemd" ];
theme = "bira";
};
};
}